[PATCH] D157591: [AArch64][GlobalISel] Optimize Combine Funnel Shift

Pierre van Houtryve via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 22 00:39:49 PDT 2023


Pierre-vh added inline comments.


================
Comment at: llvm/include/llvm/Target/GlobalISel/Combine.td:785
+  (match (wip_match_opcode G_FSHR):$root,
+    [{ return Helper.matchConstantOp(${root}->getOperand(3), 0); }]),
+  (apply [{ Helper.replaceSingleDefInstWithOperand(*${root}, 2); }])
----------------
arsenm wrote:
> Can you try using the new combiner patterns added in 63afb70503bf254bb3cdd8acc6bd1ad25c66e0d8
In theory this should just be 
```
(match (G_FSHR $x, $y, 0))
(apply (COPY $x, $y))
```

Same deal below but with `G_FSHL`

`funnel_shift_overshift` can stay the same though, there's no way to express that using MIR patterns easily right now.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D157591



More information about the llvm-commits mailing list