On Mon, Jul 7, 2025 at 2:56 AM Kyrylo Tkachov <ktkac...@nvidia.com> wrote:
>
> Hi all,
>
> Similar to the BCAX patch, we can also use EOR3 for 64-bit modes,
> just by adjusting the mode iterator used.
> Thus for input:
>
> uint32x2_t
> bcax_s (uint32x2_t a, uint32x2_t b, uint32x2_t c)
> {
>   return EOR3 (a, b, c);
> }
>
> we now generate:
> bcax_s:
> eor3 v0.16b, v0.16b, v1.16b, v2.16b
> ret
>
> instead of:
> bcax_s:
> eor v1.8b, v1.8b, v2.8b
> eor v0.8b, v1.8b, v0.8b
> ret
>
> Bootstrapped and tested on aarch64-none-linux-gnu.
> Ok for trunk?

Ok.

> Thanks,
> Kyrill
>
> Signed-off-by: Kyrylo Tkachov <ktkac...@nvidia.com>
>
> gcc/
>
>         * config/aarch64/aarch64-simd.md (eor3q<mode>4): Use VDQ_I mode
>         iterator.
>
> gcc/testsuite/
>
>         * gcc.target/aarch64/simd/eor3_d.c: New test.
>

Reply via email to