diff options
| author | Bob Wilson <bob.wilson@apple.com> | 2009-09-16 20:20:44 +0000 |
|---|---|---|
| committer | Bob Wilson <bob.wilson@apple.com> | 2009-09-16 20:20:44 +0000 |
| commit | 94ef1628bb9b33484a3887a742fb4cc662b41fd8 (patch) | |
| tree | 5390f6386edd84553aa5fe06da0a731b99bd868e | |
| parent | 1a2d32471a3fdc8f274411142bc8bc22294fa470 (diff) | |
| download | external_llvm-94ef1628bb9b33484a3887a742fb4cc662b41fd8.zip external_llvm-94ef1628bb9b33484a3887a742fb4cc662b41fd8.tar.gz external_llvm-94ef1628bb9b33484a3887a742fb4cc662b41fd8.tar.bz2 | |
Expand vector floating-point conversions not supported by NEON.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82074 91177308-0d34-0410-b5e6-96231b3b80d8
| -rw-r--r-- | lib/Target/ARM/ARMISelLowering.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMISelLowering.cpp b/lib/Target/ARM/ARMISelLowering.cpp index 39e3380..d5689de 100644 --- a/lib/Target/ARM/ARMISelLowering.cpp +++ b/lib/Target/ARM/ARMISelLowering.cpp @@ -77,6 +77,12 @@ void ARMTargetLowering::addTypeForNEON(EVT VT, EVT PromotedLdStVT, setOperationAction(ISD::VSETCC, VT.getSimpleVT(), Custom); if (ElemTy == MVT::i8 || ElemTy == MVT::i16) setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT.getSimpleVT(), Custom); + if (ElemTy != MVT::i32) { + setOperationAction(ISD::SINT_TO_FP, VT.getSimpleVT(), Expand); + setOperationAction(ISD::UINT_TO_FP, VT.getSimpleVT(), Expand); + setOperationAction(ISD::FP_TO_SINT, VT.getSimpleVT(), Expand); + setOperationAction(ISD::FP_TO_UINT, VT.getSimpleVT(), Expand); + } setOperationAction(ISD::BUILD_VECTOR, VT.getSimpleVT(), Custom); setOperationAction(ISD::VECTOR_SHUFFLE, VT.getSimpleVT(), Custom); setOperationAction(ISD::CONCAT_VECTORS, VT.getSimpleVT(), Custom); |
