mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-21 20:12:56 +02:00
[X86] Don't set i64 ADDC/ADDE/SUBC/SUBE as Custom if the target isn't 64-bit. This way we don't have to catch them and do nothing with them in ReplaceNodeResults.
llvm-svn: 283066
This commit is contained in:
parent
d5126c36f5
commit
d5cac20861
@ -286,7 +286,11 @@ X86TargetLowering::X86TargetLowering(const X86TargetMachine &TM,
|
||||
setOperationAction(ISD::UDIV, VT, Expand);
|
||||
setOperationAction(ISD::SREM, VT, Expand);
|
||||
setOperationAction(ISD::UREM, VT, Expand);
|
||||
}
|
||||
|
||||
for (auto VT : { MVT::i8, MVT::i16, MVT::i32, MVT::i64 }) {
|
||||
if (VT == MVT::i64 && !Subtarget.is64Bit())
|
||||
continue;
|
||||
// Add/Sub overflow ops with MVT::Glues are lowered to EFLAGS dependences.
|
||||
setOperationAction(ISD::ADDC, VT, Custom);
|
||||
setOperationAction(ISD::ADDE, VT, Custom);
|
||||
@ -22152,13 +22156,6 @@ void X86TargetLowering::ReplaceNodeResults(SDNode *N,
|
||||
Results.push_back(DAG.getNode(N->getOpcode(), dl, MVT::v4f32, LHS, RHS));
|
||||
return;
|
||||
}
|
||||
case ISD::SIGN_EXTEND_INREG:
|
||||
case ISD::ADDC:
|
||||
case ISD::ADDE:
|
||||
case ISD::SUBC:
|
||||
case ISD::SUBE:
|
||||
// We don't want to expand or promote these.
|
||||
return;
|
||||
case ISD::SDIV:
|
||||
case ISD::UDIV:
|
||||
case ISD::SREM:
|
||||
|
Loading…
Reference in New Issue
Block a user