| Issue |
169701
|
| Summary |
[AArch64][ARM] `vtbl*`/`vtbx*` with a constant shuffle mask should be optimized to `shufflevector`
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
valadaptive
|
Similar to https://github.com/llvm/llvm-project/issues/169058, but on AArch64. It seems that only the x86 backend optimizes any of its dynamic shuffle intrinsics to `vectorshuffle` consistently.
Someone *did* implement this for specifically 64-bit vectors (`int8x8_t`), but most people writing NEON code are using 128-bit vectors. The existing optimization also only works for `tbl` instructions with 1 source operand and all indices in-bounds; there are far more patterns that can be turned into `shufflevector`s.
I plan to implement this optimization; https://github.com/llvm/llvm-project/pull/169589 is a preparatory step.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs