diff options
| -rw-r--r-- | gcc/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/config/m68k/m68k.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 853980a..a3df896 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-10-22 Andreas Schwab <schwab@suse.de> + + PR target/12676 + * config/m68k/m68k.c (output_addsi3): Fix range check to work on + LP64 platforms. + 2003-10-22 Jan Hubicka <jh@suse.cz> * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check presence of DW_AT_inline. diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c index 55949a3..e42f2e5 100644 --- a/gcc/config/m68k/m68k.c +++ b/gcc/config/m68k/m68k.c @@ -2464,7 +2464,7 @@ output_addsi3 (rtx *operands) /* These insns can result from reloads to access stack slots over 64k from the frame pointer. */ if (GET_CODE (operands[2]) == CONST_INT - && INTVAL (operands[2]) + 0x8000 >= (unsigned) 0x10000) + && (INTVAL (operands[2]) < -32768 || INTVAL (operands[2]) > 32767)) return "move%.l %2,%0\n\tadd%.l %1,%0"; #ifdef SGS if (GET_CODE (operands[2]) == REG) |
