[PATCH] D113281: [AArch64][SVE] Generate ASRD instructions for power of 2 signed divides
Paul Walker via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 5 07:45:44 PDT 2021
paulwalker-arm added inline comments.
================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:15032-15034
+ case Intrinsic::aarch64_sve_asrd:
+ return DAG.getNode(AArch64ISD::SRAD_PRED, SDLoc(N), N->getValueType(0),
+ N->getOperand(1), N->getOperand(2), N->getOperand(3));
----------------
This doesn't look correct because `AArch64ISD::SRAD_PRED` implies inactive lanes are undef. Perhaps you meant to use `convertMergedOpToPredOp`?
================
Comment at: llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td:1585
defm LSL_ZPmI : sve_int_bin_pred_shift_imm_left_dup< 0b0011, "lsl", "LSL_ZPZI", int_aarch64_sve_lsl>;
- defm ASRD_ZPmI : sve_int_bin_pred_shift_imm_right< 0b0100, "asrd", "ASRD_ZPZI", int_aarch64_sve_asrd>;
+ defm ASRD_ZPmI : sve_int_bin_pred_shift_imm_right< 0b0100, "asrd", "ASRD_ZPZI", AArch64asrd_p>;
----------------
I don't think you intended this change, which is likely the result of the performIntrinsicCombine issue.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D113281/new/
https://reviews.llvm.org/D113281
More information about the llvm-commits
mailing list