NBSL, BSL1N, and BSL2N are bit-select intructions on SVE2 with certain operands
inverted. These can be extended to work with Neon modes.

Since these instructions are unpredicated, duplicate patterns were added with
the predicate removed to generate these instructions for Neon modes.

The patch was bootstrapped and regtested on aarch64-linux-gnu, no regression.
OK for mainline?

Signed-off-by: Soumya AR <soum...@nvidia.com>

gcc/ChangeLog:

        * config/aarch64/aarch64-sve2.md
        (*aarch64_sve2_nbsl_unpred<mode>): New pattern to match unpredicated
        form.
        (*aarch64_sve2_bsl1n_unpred<mode>): Likewise.
        (*aarch64_sve2_bsl2n_unpred<mode>): Likewise.

gcc/testsuite/ChangeLog:

        * gcc.target/aarch64/sve/bitsel.c: New test.

Attachment: 0001-aarch64-Extend-SVE2-bit-select-instructions-for-Neon.patch
Description: 0001-aarch64-Extend-SVE2-bit-select-instructions-for-Neon.patch

Reply via email to