R600/SI: Temporary fix for f64 fneg
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Wed, 18 Jun 2014 17:05:22 +0000 (17:05 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Wed, 18 Jun 2014 17:05:22 +0000 (17:05 +0000)
This should be a source modifier, but this unblocks
most of my math patches.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211181 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/R600/SIISelLowering.cpp

index 846aeb63093a13587bf1c9ff6cbf870c26ef86f8..f9b466709afb99716cc897d8ea4479eef092e355 100644 (file)
@@ -212,6 +212,10 @@ SITargetLowering::SITargetLowering(TargetMachine &TM) :
     setOperationAction(ISD::FRINT, MVT::f64, Legal);
   }
 
+  // FIXME: This should be removed and handled the same was as f32 fneg. Source
+  // modifiers also work for the double instructions.
+  setOperationAction(ISD::FNEG, MVT::f64, Expand);
+
   setTargetDAGCombine(ISD::SELECT_CC);
   setTargetDAGCombine(ISD::SETCC);