[PATCH] D99283: [GlobalISel] Combine and (lshr x, cst), mask -> ubfx x, cst, width

Jessica Paquette via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 20 09:57:23 PDT 2021


paquette updated this revision to Diff 346771.
paquette added a comment.

- Fix UB by doing all the computations on unsigned ints (which is what SDAG does anyway)
- Simplify the logic a little bit more
- Add boundary testcases which use signed + unsigned max integer values

(Maybe there should be a `m_UICst(...)` matcher or something...?)


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D99283/new/

https://reviews.llvm.org/D99283

Files:
  llvm/lib/Target/AArch64/AArch64Combine.td
  llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
  llvm/test/CodeGen/AArch64/GlobalISel/form-bitfield-extract-from-and.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D99283.346771.patch
Type: text/x-patch
Size: 11817 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210520/b0c5fa8a/attachment.bin>


More information about the llvm-commits mailing list