Hi,

Recent 'support SVE comparisons for unpacked integers' patch extends
operands of define_expands from SVE_FULL to SVE_ALL. This causes an ICE
hence this PR patch.

This patch adds this relaxation for:
+ reduc_<optab>_scal_<mode> and
+ arch64_pred_reduc_<optab>_<mode>
in order to support extra modes. Missing modes were used in REDUC_MAX.

Original PR snippet proposed to reproduce issue was only causing ICE for C++
compiler (see pr98177-1 test cases). I've slightly modified original snippet in
order to reproduce issue on both C and C++ compilers. These are pr98177-2
test cases.

Bootstrap/regression test for AArch64 aarch64-elf and no issues.

OK for master?

gcc/ChangeLog:

        PR target/98177
        * config/aarch64/aarch64-sve.md: Extend integer SVE modes.
        (reduc_<optab>_scal_<mode>): Extend SVE_FULL_I to SVE_I.
        (arch64_pred_reduc_<optab>_<mode>): Likewise.

gcc/testsuite/ChangeLog:

        PR target/98177
        * g++.target/aarch64/pr98177-1.C: New test.
        * g++.target/aarch64/pr98177-2.C: New test.
        * gcc.target/aarch64/pr98177-1.c: New test.
        * gcc.target/aarch64/pr98177-2.c: New test.

Attachment: rb13905.patch
Description: rb13905.patch

Reply via email to