diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-10-14 09:43:37 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-10-14 09:43:37 +0000 |
commit | 21533d7dc6c08e1191131c0bf513d69ea6c6ee24 (patch) | |
tree | a8aa6e6976d949d1d7ba2c82a767de2696d30bab /gcc/config/m68k/m68k.h | |
parent | 03dbe21019941d25196a4fc5aac46fa367d2c21a (diff) | |
download | gcc-21533d7dc6c08e1191131c0bf513d69ea6c6ee24.tar.gz |
* dwarf2out.c (expand_builtin_dwarf_reg_size): Look at all ranges
when generating the decision tree for the general case.
* config/m68k/m68k.h (HARD_REGNO_MODE_OK): Don't accept modes
wider that 12 bytes in fpu regs or wider than 8 byte in fpa regs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23082 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/m68k/m68k.h')
-rw-r--r-- | gcc/config/m68k/m68k.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h index 42eb7939cf9..50b0a2f2ff8 100644 --- a/gcc/config/m68k/m68k.h +++ b/gcc/config/m68k/m68k.h @@ -475,7 +475,8 @@ extern int target_flags; || ((REGNO) >= 16 && (REGNO) < 24 \ && TARGET_68881 \ && (GET_MODE_CLASS (MODE) == MODE_FLOAT \ - || GET_MODE_CLASS (MODE) == MODE_COMPLEX_FLOAT))) + || GET_MODE_CLASS (MODE) == MODE_COMPLEX_FLOAT) \ + && GET_MODE_UNIT_SIZE (MODE) <= 12)) #else /* defined SUPPORT_SUN_FPA */ @@ -499,9 +500,11 @@ extern int target_flags; && (REGNO) < 8 && (REGNO) + GET_MODE_SIZE ((MODE)) / 4 > 8 \ && (REGNO) % (GET_MODE_UNIT_SIZE ((MODE)) / 4) != 0)) \ || ((REGNO) < 24 \ - ? TARGET_68881 && (GET_MODE_CLASS (MODE) == MODE_FLOAT \ - || GET_MODE_CLASS (MODE) == MODE_COMPLEX_FLOAT) \ - : ((REGNO) < 56 ? TARGET_FPA : 0))) + ? (TARGET_68881 \ + && (GET_MODE_CLASS (MODE) == MODE_FLOAT \ + || GET_MODE_CLASS (MODE) == MODE_COMPLEX_FLOAT) \ + && GET_MODE_UNIT_SIZE (MODE) <= 12) \ + : ((REGNO) < 56 ? TARGET_FPA && GET_MODE_UNIT_SIZE (MODE) <= 8 : 0))) #endif /* defined SUPPORT_SUN_FPA */ |