From 1cfe228c0c0bcfe0f7ae3ab20835190694beafc0 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Sun, 4 Apr 1993 18:18:07 -0600 Subject: [PATCH] pa.h (HARD_REGNO_MODE_OK): Do not accept integer modes greater than 32 bits in 1.0 FP registers. * pa.h (HARD_REGNO_MODE_OK): Do not accept integer modes greater than 32 bits in 1.0 FP registers. * pa.md (movdi patterns): Do not accept 1.0 FP registers. (floatunsdisf, floatunsdidf expanders): Disable unless TARGET_SNAKE. (floatdisf2, floatdidf2 patterns): Likewise. (fix_truncdisf2, fix_truncdidf2): Likewise. From-SVN: r4017 --- gcc/config/pa/pa.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index 8a65f7484de..64067cc2a99 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -404,7 +404,9 @@ extern int target_flags; #define HARD_REGNO_MODE_OK(REGNO, MODE) \ ((REGNO) == 0 ? (MODE) == CCmode || (MODE) == CCFPmode \ : (REGNO) < 32 ? ((GET_MODE_SIZE (MODE) <= 4) ? 1 : ((REGNO) & 1) == 0)\ - : (REGNO) < 44 ? (GET_MODE_SIZE (MODE) >= 4) \ + : (REGNO) < 44 ? (GET_MODE_SIZE (MODE) == 4 \ + || (GET_MODE_SIZE (MODE) > 4 \ + && GET_MODE_CLASS (MODE) == MODE_FLOAT)) \ : (GET_MODE_SIZE (MODE) > 4 ? ((REGNO) & 1) == 0 \ : 1)) -- 2.30.2