summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorJoerg Sonnenberger <joerg@bec.de>2014-07-24 22:20:10 +0000
committerJoerg Sonnenberger <joerg@bec.de>2014-07-24 22:20:10 +0000
commitb5459e6e22e7daac8a303a7ccba00328cec97453 (patch)
tree0d29d46df655957f7162b074b53a961a9402d7b6 /llvm/lib
parent9f4530b95dce63c7f335001d0f955e36e57df88a (diff)
downloadbcm5719-llvm-b5459e6e22e7daac8a303a7ccba00328cec97453.tar.gz
bcm5719-llvm-b5459e6e22e7daac8a303a7ccba00328cec97453.zip
Don't use 128bit functions on PPC32.
llvm-svn: 213899
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/PowerPC/PPCISelLowering.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCISelLowering.cpp b/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
index d699e0fdd82..456f978835a 100644
--- a/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
+++ b/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
@@ -626,6 +626,13 @@ PPCTargetLowering::PPCTargetLowering(PPCTargetMachine &TM)
// Altivec instructions set fields to all zeros or all ones.
setBooleanVectorContents(ZeroOrNegativeOneBooleanContent);
+ if (!isPPC64) {
+ // These libcalls are not available in 32-bit.
+ setLibcallName(RTLIB::SHL_I128, nullptr);
+ setLibcallName(RTLIB::SRL_I128, nullptr);
+ setLibcallName(RTLIB::SRA_I128, nullptr);
+ }
+
if (isPPC64) {
setStackPointerRegisterToSaveRestore(PPC::X1);
setExceptionPointerRegister(PPC::X3);
OpenPOWER on IntegriCloud