Add more PPC floating-point conversion instructions
authorHal Finkel <hfinkel@anl.gov>
Mon, 1 Apr 2013 17:52:07 +0000 (17:52 +0000)
committerHal Finkel <hfinkel@anl.gov>
Mon, 1 Apr 2013 17:52:07 +0000 (17:52 +0000)
commit46479197843ecb651adc9417c49bbd1b00acfcb6
tree143df888333c2baabf6cf07c8ef7297b86b5035c
parenta1f4290ac94f34173e3561c717390de07dccc646
Add more PPC floating-point conversion instructions

The P7 and A2 have additional floating-point conversion instructions which
allow a direct two-instruction sequence (plus load/store) to convert from all
combinations (signed/unsigned i32/i64) <--> (float/double) (on previous cores,
only some combinations were directly available).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178480 91177308-0d34-0410-b5e6-96231b3b80d8
12 files changed:
lib/Target/PowerPC/PPC.td
lib/Target/PowerPC/PPCISelLowering.cpp
lib/Target/PowerPC/PPCISelLowering.h
lib/Target/PowerPC/PPCInstr64Bit.td
lib/Target/PowerPC/PPCInstrInfo.td
lib/Target/PowerPC/PPCSubtarget.cpp
lib/Target/PowerPC/PPCSubtarget.h
test/CodeGen/PowerPC/float-to-int.ll [new file with mode: 0644]
test/CodeGen/PowerPC/i32-to-float.ll
test/CodeGen/PowerPC/i64-to-float.ll [new file with mode: 0644]
test/CodeGen/PowerPC/i64_fp_round.ll
test/CodeGen/PowerPC/stfiwx-2.ll