https://gcc.gnu.org/g:7175fece7df50326703e4ca8b49d7cc93a5e8dfe

commit r15-5052-g7175fece7df50326703e4ca8b49d7cc93a5e8dfe
Author: John David Anglin <dang...@gcc.gnu.org>
Date:   Fri Nov 8 16:58:49 2024 -0500

    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  <dang...@gcc.gnu.org>
    
    gcc/ChangeLog:
    
            PR target/117238
            * config/pa/pa64-regs.h (PA_HARD_REGNO_MODE_OK): Don't allow
            mode size 32.

Diff:
---
 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 3b9273c28677..90762e119dcf 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.

Reply via email to