Mark ISD::FMA as Legal instead of custom for x86 with FMA3/FMA4. Needed so that llvm...
authorCraig Topper <craig.topper@gmail.com>
Wed, 21 Nov 2012 05:36:24 +0000 (05:36 +0000)
committerCraig Topper <craig.topper@gmail.com>
Wed, 21 Nov 2012 05:36:24 +0000 (05:36 +0000)
llvm-svn: 168413

llvm/lib/Target/X86/X86ISelLowering.cpp

index 3192a43..276859b 100644 (file)
@@ -1124,12 +1124,12 @@ X86TargetLowering::X86TargetLowering(X86TargetMachine &TM)
     setOperationAction(ISD::VSELECT,           MVT::v8f32, Legal);
 
     if (Subtarget->hasFMA() || Subtarget->hasFMA4()) {
-      setOperationAction(ISD::FMA,             MVT::v8f32, Custom);
-      setOperationAction(ISD::FMA,             MVT::v4f64, Custom);
-      setOperationAction(ISD::FMA,             MVT::v4f32, Custom);
-      setOperationAction(ISD::FMA,             MVT::v2f64, Custom);
-      setOperationAction(ISD::FMA,             MVT::f32, Custom);
-      setOperationAction(ISD::FMA,             MVT::f64, Custom);
+      setOperationAction(ISD::FMA,             MVT::v8f32, Legal);
+      setOperationAction(ISD::FMA,             MVT::v4f64, Legal);
+      setOperationAction(ISD::FMA,             MVT::v4f32, Legal);
+      setOperationAction(ISD::FMA,             MVT::v2f64, Legal);
+      setOperationAction(ISD::FMA,             MVT::f32, Legal);
+      setOperationAction(ISD::FMA,             MVT::f64, Legal);
     }
 
     if (Subtarget->hasAVX2()) {