summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMISelLowering.cpp
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2009-09-16 00:17:28 +0000
committerBob Wilson <bob.wilson@apple.com>2009-09-16 00:17:28 +0000
commit4ed397c141687621d83811db3fef55023e3c3623 (patch)
tree686fc145fffc9fed9a30b27539f9cc2f028f8287 /llvm/lib/Target/ARM/ARMISelLowering.cpp
parent4e465598f05972a20daf5ffc8e8a7af0212cb605 (diff)
downloadbcm5719-llvm-4ed397c141687621d83811db3fef55023e3c3623.tar.gz
bcm5719-llvm-4ed397c141687621d83811db3fef55023e3c3623.zip
Neon does not support vector divide or remainder. Expand them.
llvm-svn: 81966
Diffstat (limited to 'llvm/lib/Target/ARM/ARMISelLowering.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMISelLowering.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp
index 1ac594e192c..1b24a58840a 100644
--- a/llvm/lib/Target/ARM/ARMISelLowering.cpp
+++ b/llvm/lib/Target/ARM/ARMISelLowering.cpp
@@ -99,6 +99,14 @@ void ARMTargetLowering::addTypeForNEON(EVT VT, EVT PromotedLdStVT,
AddPromotedToType (ISD::XOR, VT.getSimpleVT(),
PromotedBitwiseVT.getSimpleVT());
}
+
+ // Neon does not support vector divide/remainder operations.
+ setOperationAction(ISD::SDIV, VT.getSimpleVT(), Expand);
+ setOperationAction(ISD::UDIV, VT.getSimpleVT(), Expand);
+ setOperationAction(ISD::FDIV, VT.getSimpleVT(), Expand);
+ setOperationAction(ISD::SREM, VT.getSimpleVT(), Expand);
+ setOperationAction(ISD::UREM, VT.getSimpleVT(), Expand);
+ setOperationAction(ISD::FREM, VT.getSimpleVT(), Expand);
}
void ARMTargetLowering::addDRTypeForNEON(EVT VT) {
OpenPOWER on IntegriCloud