mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-03-07 11:59:09 +00:00
Don't try to custom-lower 64-bit add-with-overflow and friends on x86-32; the
x86 backend currently doesn't know how to handle them. This doesn't really fix anything because LegalizeTypes doesn't know how to handle them either. We do get a better error message, though. llvm-svn: 105305
This commit is contained in:
parent
70ee614ad2
commit
c4b5d67cdc
@ -976,15 +976,17 @@ X86TargetLowering::X86TargetLowering(X86TargetMachine &TM)
|
||||
|
||||
// Add/Sub/Mul with overflow operations are custom lowered.
|
||||
setOperationAction(ISD::SADDO, MVT::i32, Custom);
|
||||
setOperationAction(ISD::SADDO, MVT::i64, Custom);
|
||||
setOperationAction(ISD::UADDO, MVT::i32, Custom);
|
||||
setOperationAction(ISD::UADDO, MVT::i64, Custom);
|
||||
setOperationAction(ISD::SSUBO, MVT::i32, Custom);
|
||||
setOperationAction(ISD::SSUBO, MVT::i64, Custom);
|
||||
setOperationAction(ISD::USUBO, MVT::i32, Custom);
|
||||
setOperationAction(ISD::USUBO, MVT::i64, Custom);
|
||||
setOperationAction(ISD::SMULO, MVT::i32, Custom);
|
||||
setOperationAction(ISD::SMULO, MVT::i64, Custom);
|
||||
if (Subtarget->is64Bit()) {
|
||||
setOperationAction(ISD::SADDO, MVT::i64, Custom);
|
||||
setOperationAction(ISD::UADDO, MVT::i64, Custom);
|
||||
setOperationAction(ISD::SSUBO, MVT::i64, Custom);
|
||||
setOperationAction(ISD::USUBO, MVT::i64, Custom);
|
||||
setOperationAction(ISD::SMULO, MVT::i64, Custom);
|
||||
}
|
||||
|
||||
if (!Subtarget->is64Bit()) {
|
||||
// These libcalls are not available in 32-bit.
|
||||
|
Loading…
x
Reference in New Issue
Block a user