From ebd090bd41e98e696723d22fdb2a12a39d8c2a58 Mon Sep 17 00:00:00 2001 From: Dylan McKay Date: Sun, 29 Jul 2018 11:38:36 +0000 Subject: [PATCH] [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 --- lib/Target/AVR/AVRISelLowering.cpp | 7 +++++++ 1 file changed, 7 insertions(+) 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); -- 2.50.1