[PATCH] D105770: [AArch64] Optimize overflow checks for [s|u]mul.with.overflow.i32.
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 12 00:26:48 PDT 2021
dmgreen accepted this revision.
dmgreen added a comment.
This revision is now accepted and ready to land.
Sounds good to me. Is the fast ISel mostly updated to keep the test insync? I know that code less, but it seems OK to me.
================
Comment at: llvm/lib/Target/AArch64/AArch64FastISel.cpp:3684
MulReg = emitSMULL_rr(MVT::i64, LHSReg, RHSReg);
- unsigned ShiftReg = emitLSR_ri(MVT::i64, MVT::i64, MulReg, 32);
- MulReg = fastEmitInst_extractsubreg(VT, MulReg, AArch64::sub_32);
- ShiftReg = fastEmitInst_extractsubreg(VT, ShiftReg, AArch64::sub_32);
- emitSubs_rs(VT, ShiftReg, MulReg, AArch64_AM::ASR, 31,
- /*WantResult=*/false);
+ unsigned MulSubReg =
+ fastEmitInst_extractsubreg(VT, MulReg, AArch64::sub_32);
----------------
Apparently we prefer "Register" now, over unsigned.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D105770/new/
https://reviews.llvm.org/D105770
More information about the llvm-commits
mailing list