Skip to content

[AArch64][ARM] vtbl*/vtbx* with a constant shuffle mask should be optimized to shufflevector #169701

@valadaptive

Description

@valadaptive

Similar to #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 shufflevectors.

I plan to implement this optimization; #169589 is a preparatory step.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions