[PATCH] D101987: [DAG] Add a generic expansion for SHIFT_PARTS opcodes using funnel shifts
Jay Foad via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu May 6 04:22:18 PDT 2021
foad added a comment.
The new TargetLowering::expandShiftParts LGTM. I haven't really looked at the rest of the patch. (For the record, although I'm interested in the AMDGPU target in general, I'm not interested in the R600-based subtargets.)
================
Comment at: llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp:6625-6626
+
+ // If the shift amount is larger or equal than the width of a part we can't
+ // rely on the results of FSHL/FSHR. Insert a test and select the appropriate
+ // values for large shift amounts.
----------------
Nit: it's not just that we "can't rely on the results of FSHL/FSHR"; both halves of the result have to be calculated differently for large shift amounts.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D101987/new/
https://reviews.llvm.org/D101987
More information about the llvm-commits
mailing list