From 7175fece7df50326703e4ca8b49d7cc93a5e8dfe Mon Sep 17 00:00:00 2001 From: John David Anglin Date: Fri, 8 Nov 2024 16:58:49 -0500 Subject: [PATCH] hppa: Don't allow mode size 32 in hard registers LRA has problems handling spills for OI mode. There are issues with SUBREG support as well. 2024-11-08 John David Anglin gcc/ChangeLog: PR target/117238 * config/pa/pa64-regs.h (PA_HARD_REGNO_MODE_OK): Don't allow mode size 32. --- gcc/config/pa/pa64-regs.h | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/gcc/config/pa/pa64-regs.h b/gcc/config/pa/pa64-regs.h index 3b9273c2867..90762e119dc 100644 --- a/gcc/config/pa/pa64-regs.h +++ b/gcc/config/pa/pa64-regs.h @@ -157,13 +157,10 @@ along with GCC; see the file COPYING3. If not see : FP_REGNO_P (REGNO) \ ? (VALID_FP_MODE_P (MODE) \ && (GET_MODE_SIZE (MODE) <= 8 \ - || (GET_MODE_SIZE (MODE) == 16 && ((REGNO) & 1) == 0) \ - || (GET_MODE_SIZE (MODE) == 32 && ((REGNO) & 3) == 0))) \ + || (GET_MODE_SIZE (MODE) == 16 && ((REGNO) & 1) == 0))) \ : (GET_MODE_SIZE (MODE) <= UNITS_PER_WORD \ || (GET_MODE_SIZE (MODE) == 2 * UNITS_PER_WORD \ - && ((((REGNO) & 1) == 1 && (REGNO) <= 25) || (REGNO) == 28)) \ - || (GET_MODE_SIZE (MODE) == 4 * UNITS_PER_WORD \ - && ((REGNO) & 3) == 3 && (REGNO) <= 23))) + && ((((REGNO) & 1) == 1 && (REGNO) <= 25) || (REGNO) == 28)))) /* How to renumber registers for gdb.