diff options
author | Jeff Law <law@gcc.gnu.org> | 1993-04-04 18:18:07 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1993-04-04 18:18:07 -0600 |
commit | 1cfe228c0c0bcfe0f7ae3ab20835190694beafc0 (patch) | |
tree | bd8416f01f156182c7f65cb196699aa81aed9be0 /gcc | |
parent | 6d9d0ca1724ec8adb755eb3483e28d35ac8b84e6 (diff) | |
download | gcc-1cfe228c0c0bcfe0f7ae3ab20835190694beafc0.zip gcc-1cfe228c0c0bcfe0f7ae3ab20835190694beafc0.tar.gz gcc-1cfe228c0c0bcfe0f7ae3ab20835190694beafc0.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/pa/pa.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index 8a65f74..64067cc 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)) |