https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115013
--- Comment #7 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Dimitar Dimitrov <dimi...@gcc.gnu.org>: https://gcc.gnu.org/g:fc559584fa5b1e101a4520e88a936246458d5a5d commit r15-493-gfc559584fa5b1e101a4520e88a936246458d5a5d Author: Dimitar Dimitrov <dimi...@dinux.eu> Date: Mon May 13 19:24:14 2024 +0300 pru: Implement TARGET_CLASS_LIKELY_SPILLED_P to fix PR115013 Commit r15-436-g44e7855e did not fix PR115013 for PRU because SMALL_REGISTER_CLASS_P is not returning an accurate value for the PRU backend. Word mode for PRU backend is defined as 8-bit, yet all ALU operations are preferred in 32-bit mode. Thus checking whether a register class contains a single word_mode register would not classify the actually single SImode register classes as small. This affected the multiplication source and destination register classes. Fix by implementing TARGET_CLASS_LIKELY_SPILLED_P to treat all register classes with SImode or smaller size as likely spilled. This in turn corrects the behaviour of SMALL_REGISTER_CLASS_P for PRU. PR rtl-optimization/115013 gcc/ChangeLog: * config/pru/pru.cc (pru_class_likely_spilled_p): Implement to mark classes containing one SImode register as likely spilled. (TARGET_CLASS_LIKELY_SPILLED_P): Define. Signed-off-by: Dimitar Dimitrov <dimi...@dinux.eu>