diff options
author | Craig Topper <craig.topper@gmail.com> | 2012-11-21 05:36:24 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2012-11-21 05:36:24 +0000 |
commit | 3dcefc864ed818d8bda294694dfd26016ce8d997 (patch) | |
tree | 0678e12357049802738e09a09d7a8a62247631e0 | |
parent | e845cedf4d1ee97b0e2a14ee68d3863bdd6429dc (diff) | |
download | external_llvm-3dcefc864ed818d8bda294694dfd26016ce8d997.zip external_llvm-3dcefc864ed818d8bda294694dfd26016ce8d997.tar.gz external_llvm-3dcefc864ed818d8bda294694dfd26016ce8d997.tar.bz2 |
Mark ISD::FMA as Legal instead of custom for x86 with FMA3/FMA4. Needed so that llvm.muladd can be converted to ISD::FMA for fp_contract.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168413 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/X86/X86ISelLowering.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp index 3192a43..276859b 100644 --- a/lib/Target/X86/X86ISelLowering.cpp +++ b/lib/Target/X86/X86ISelLowering.cpp @@ -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()) { |