summaryrefslogtreecommitdiff
path: root/gcc/config/m68k/m68k.h
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1998-10-14 09:43:37 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1998-10-14 09:43:37 +0000
commit21533d7dc6c08e1191131c0bf513d69ea6c6ee24 (patch)
treea8aa6e6976d949d1d7ba2c82a767de2696d30bab /gcc/config/m68k/m68k.h
parent03dbe21019941d25196a4fc5aac46fa367d2c21a (diff)
downloadgcc-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.h11
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 */