mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
[Sparc] Mark i128 shift libcalls unavailable in 32-bit mode.
Recently, llvm wants to emit calls to these functions, while it didn't seem to be an issue before. Not sure why. Nor do I know why only these three are important to disable, out of all of the i128 libcalls. Nevertheless, many other targets have this snippet of code, so, just copying it to sparc as well, to unbreak things. llvm-svn: 280537
This commit is contained in:
parent
4f3509de92
commit
0f37385b9a
@ -1641,6 +1641,13 @@ SparcTargetLowering::SparcTargetLowering(const TargetMachine &TM,
|
|||||||
setOperationAction(ISD::ATOMIC_STORE, MVT::i64, Custom);
|
setOperationAction(ISD::ATOMIC_STORE, MVT::i64, Custom);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!Subtarget->is64Bit()) {
|
||||||
|
// These libcalls are not available in 32-bit.
|
||||||
|
setLibcallName(RTLIB::SHL_I128, nullptr);
|
||||||
|
setLibcallName(RTLIB::SRL_I128, nullptr);
|
||||||
|
setLibcallName(RTLIB::SRA_I128, nullptr);
|
||||||
|
}
|
||||||
|
|
||||||
if (!Subtarget->isV9()) {
|
if (!Subtarget->isV9()) {
|
||||||
// SparcV8 does not have FNEGD and FABSD.
|
// SparcV8 does not have FNEGD and FABSD.
|
||||||
setOperationAction(ISD::FNEG, MVT::f64, Custom);
|
setOperationAction(ISD::FNEG, MVT::f64, Custom);
|
||||||
|
Loading…
Reference in New Issue
Block a user