llvm-6502/lib
Bill Schmidt d4585b941a Fix PR19144: Incorrect offset generated for int-to-fp conversion at -O0.
When converting a signed 32-bit integer to double-precision floating point on
hardware without a lfiwax instruction, we have to instead use a lfd followed
by fcfid.  We were erroneously offsetting the address by 4 bytes in
preparation for either a lfiwax or lfiwzx when generating the lfd.  This fixes
that silly error.

This was not caught in the test suite since the conversion tests were run with
-mcpu=pwr7, which implies availability of lfiwax.  I've added another test
case for older hardware that checks the code we expect in the absence of
lfiwax and other flavors of fcfid.  There are fewer tests in this test case
because we punt to DAG selection in more cases on older hardware.  (We must
generate complex fiddly sequences in those cases, and there is marginal
benefit in duplicating that logic in fast-isel.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204155 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-18 14:32:50 +00:00
..
Analysis [C++11] Change DebugInfoFinder to use range-based loops 2014-03-18 09:41:07 +00:00
AsmParser Remove the linker_private and linker_private_weak linkages. 2014-03-13 23:18:37 +00:00
Bitcode Support: Make error_category's constructor public 2014-03-15 04:05:59 +00:00
CodeGen DwarfDebug: Only unique retained types instead of all types. 2014-03-18 02:35:03 +00:00
DebugInfo Make some assertions on constant expressions static. 2014-03-15 18:47:07 +00:00
ExecutionEngine [C++11] Introduce SectionRef::relocations() to use range-based loops 2014-03-14 14:22:49 +00:00
IR [C++11] Change DebugInfoFinder to use range-based loops 2014-03-18 09:41:07 +00:00
IRReader
LineEditor
Linker
LTO Remove the linker_private and linker_private_weak linkages. 2014-03-13 23:18:37 +00:00
MC Revert r203962 and two revisions depending on it: r204028 and r204059. 2014-03-18 10:36:11 +00:00
Object [C++11] Change the interface of getCOFF{Section,Relocation,Symbol} to make it work with range-based for loops. 2014-03-18 06:53:02 +00:00
Option
Support Support: add support to identify WinCOFF/ARM objects 2014-03-13 07:02:35 +00:00
TableGen
Target Fix PR19144: Incorrect offset generated for int-to-fp conversion at -O0. 2014-03-18 14:32:50 +00:00
Transforms [msan] Origin tracking with history. 2014-03-18 13:30:56 +00:00
CMakeLists.txt Back out Profile library and dependent commits 2014-03-12 22:00:57 +00:00
LLVMBuild.txt Back out Profile library and dependent commits 2014-03-12 22:00:57 +00:00
Makefile Back out Profile library and dependent commits 2014-03-12 22:00:57 +00:00