Add the PPC fcpsgn instruction
authorHal Finkel <hfinkel@anl.gov>
Mon, 19 Aug 2013 05:01:02 +0000 (05:01 +0000)
committerHal Finkel <hfinkel@anl.gov>
Mon, 19 Aug 2013 05:01:02 +0000 (05:01 +0000)
commit953a78084b85ea88cd2b208153a72df70e27133f
tree0d675bc7cfc49f17f2da670f7fab40f064f6b84b
parenta9b697975592b204e86496efc62a8b26fbfa1a03
Add the PPC fcpsgn instruction

Modern PPC cores support a floating-point copysign instruction, and we can use
this to lower the FCOPYSIGN node (which is created from calls to the libm
copysign function). A couple of extra patterns are necessary because the
operand types of FCOPYSIGN need not agree.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188653 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/PowerPC/PPC.td
lib/Target/PowerPC/PPCISelLowering.cpp
lib/Target/PowerPC/PPCInstrInfo.td
lib/Target/PowerPC/PPCSubtarget.cpp
lib/Target/PowerPC/PPCSubtarget.h
test/CodeGen/PowerPC/fcpsgn.ll [new file with mode: 0644]
test/MC/PowerPC/ppc64-encoding-fp.s