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. >