diff options
author | Andreas Schwab <schwab@suse.de> | 2003-10-22 21:27:27 +0000 |
---|---|---|
committer | Andreas Schwab <schwab@gcc.gnu.org> | 2003-10-22 21:27:27 +0000 |
commit | 218d5a871cff811b258266b2ff91addbb6f49a47 (patch) | |
tree | 39cb6c45a373fd75dd16abd3dbf25d2314033f96 | |
parent | ae0f347754397f3a7c3f63c6ce305bbd8ba0f057 (diff) | |
download | gcc-218d5a871cff811b258266b2ff91addbb6f49a47.zip gcc-218d5a871cff811b258266b2ff91addbb6f49a47.tar.gz gcc-218d5a871cff811b258266b2ff91addbb6f49a47.tar.bz2 |
re PR target/12676 (m68k.c: LP64 bug)
PR target/12676
* config/m68k/m68k.c (output_addsi3): Fix range check to work on
LP64 platforms.
From-SVN: r72823
-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) |