https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118663
Peter Bergner <bergner at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[15 Regression] ICE: in |[15 Regression] ICE: in |rs6000_emit_move, at |rs6000_emit_move, at |config/rs6000/rs6000.cc:110 |config/rs6000/rs6000.cc:110 |91 during libgcc build |91 during libgcc build - | |caused by | |r15-7008-g9f009e8865cda0 --- Comment #7 from Peter Bergner <bergner at gcc dot gnu.org> --- The ICE started with commit r15-7008-g9f009e8865cda0: commit 9f009e8865cda01310c52f7ec8bdaa3c557a2745 (HEAD) Author: Vladimir N. Makarov <vmaka...@redhat.com> AuthorDate: Fri Jan 17 15:56:29 2025 -0500 Commit: Vladimir N. Makarov <vmaka...@redhat.com> CommitDate: Fri Jan 17 15:57:12 2025 -0500 [PR118067][LRA]: Check secondary memory mode for the reg class This is the second patch for the PR for the new test. The patch solves problem in the case when secondary memory mode (SImode in the PR test) returned by hook secondary_memory_needed_mode can not be used for reg class (ALL_MASK_REGS) involved in secondary memory moves. The patch uses reg mode instead of one returned by secondary_memory_needed_mode in this case. gcc/ChangeLog: PR rtl-optimization/118067 * lra-constraints.cc (invalid_mode_reg_p): New function. (curr_insn_transform): Use it to check mode returned by target secondary_memory_needed_mode. gcc/testsuite/ChangeLog: * gcc.target/i386/pr118067-2.c: New.