From: Dylan McKay Date: Sun, 29 Jul 2018 11:38:36 +0000 (+0000) Subject: [AVR] Re-enable expansion of ADDE/ADDC/SUBE/SUBC in ISel X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ebd090bd41e98e696723d22fdb2a12a39d8c2a58;p=llvm [AVR] Re-enable expansion of ADDE/ADDC/SUBE/SUBC in ISel This was disabled in r333748, which broke four tests. In the future, these need to be updated to UADDO/ADDCARRY or USUBO/SUBCARRY. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@338212 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/AVR/AVRISelLowering.cpp b/lib/Target/AVR/AVRISelLowering.cpp index c1515571aae..1b412a9c681 100644 --- a/lib/Target/AVR/AVRISelLowering.cpp +++ b/lib/Target/AVR/AVRISelLowering.cpp @@ -63,6 +63,13 @@ AVRTargetLowering::AVRTargetLowering(AVRTargetMachine &tm) setTruncStoreAction(MVT::i16, MVT::i8, Expand); + for (MVT VT : MVT::integer_valuetypes()) { + setOperationAction(ISD::ADDC, VT, Legal); + setOperationAction(ISD::SUBC, VT, Legal); + setOperationAction(ISD::ADDE, VT, Legal); + setOperationAction(ISD::SUBE, VT, Legal); + } + // sub (x, imm) gets canonicalized to add (x, -imm), so for illegal types // revert into a sub since we don't have an add with immediate instruction. setOperationAction(ISD::ADD, MVT::i32, Custom);