https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124804
--- Comment #29 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Searching for REG_WORDS_BIG_ENDIAN, there are quite a few cases: ira.cc: if (REG_WORDS_BIG_ENDIAN) ira.cc: if (REG_WORDS_BIG_ENDIAN) ira-color.cc: if (REG_WORDS_BIG_ENDIAN) ira-color.cc: if (REG_WORDS_BIG_ENDIAN) ira-color.cc: if (REG_WORDS_BIG_ENDIAN) reload.cc: /* On a REG_WORDS_BIG_ENDIAN machine, point to the last register of a reload.cc: if (REG_WORDS_BIG_ENDIAN reload.cc: if (REG_WORDS_BIG_ENDIAN reload.cc: if (REG_WORDS_BIG_ENDIAN) rtlanal.cc: if (REG_WORDS_BIG_ENDIAN) rtlanal.cc: && WORDS_BIG_ENDIAN == REG_WORDS_BIG_ENDIAN rtlanal.cc: if (WORDS_BIG_ENDIAN != REG_WORDS_BIG_ENDIAN) so I'm afraid just tweaking rtlanal.cc wouldn't be enough. Guess if we want say introduce a target hook that will handle like REG_WORDS_BIG_ENDIAN only some modes or or mode/hard reg pairs and keep others as is it would need to change all those spots. And the question is if that can be changed, if there aren't say instructions to load a pair of general purpose registers (say for TImode loads/stores). In any case, changing that this late seems to be quite risky, so I think reverting the patch might be best temporary solution for GCC 16. Thoughts on that?
