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.
rb13905.patch
Description: rb13905.patch