diff options
| author | Pete Cooper <peter_cooper@apple.com> | 2012-06-24 00:05:44 +0000 |
|---|---|---|
| committer | Pete Cooper <peter_cooper@apple.com> | 2012-06-24 00:05:44 +0000 |
| commit | fe212e762fe004d8dba02c7aaac5d5e5d9b2bb63 (patch) | |
| tree | 292326f0e95dbc9d715b439b703959478f02cdc1 /llvm/lib/Target | |
| parent | a325a6e0dc5596e7885a81a79cf09d06e4706042 (diff) | |
| download | bcm5719-llvm-fe212e762fe004d8dba02c7aaac5d5e5d9b2bb63.tar.gz bcm5719-llvm-fe212e762fe004d8dba02c7aaac5d5e5d9b2bb63.zip | |
DAG legalisation can now handle illegal fma vector types by scalarisation
llvm-svn: 159092
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index 4426f300d56..35366cebb50 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -715,6 +715,7 @@ X86TargetLowering::X86TargetLowering(X86TargetMachine &TM) setOperationAction(ISD::FSUB, (MVT::SimpleValueType)VT, Expand); setOperationAction(ISD::MUL , (MVT::SimpleValueType)VT, Expand); setOperationAction(ISD::FMUL, (MVT::SimpleValueType)VT, Expand); + setOperationAction(ISD::FMA, (MVT::SimpleValueType)VT, Custom); setOperationAction(ISD::SDIV, (MVT::SimpleValueType)VT, Expand); setOperationAction(ISD::UDIV, (MVT::SimpleValueType)VT, Expand); setOperationAction(ISD::FDIV, (MVT::SimpleValueType)VT, Expand); @@ -10893,6 +10894,7 @@ SDValue X86TargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const { case ISD::SUBE: return LowerADDC_ADDE_SUBC_SUBE(Op, DAG); case ISD::ADD: return LowerADD(Op, DAG); case ISD::SUB: return LowerSUB(Op, DAG); + case ISD::FMA: return SDValue(); } } |

