aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/m68k/m68kelf.h
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1999-02-18 16:00:12 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1999-02-18 16:00:12 +0000
commit3c4608dc9a7017bf1e814e76410ccef3cb563965 (patch)
tree71c15ca24b4edcee2daa632bc575c3b9301baf4e /gcc/config/m68k/m68kelf.h
parent6d71dc858edbebe104c24737113327fedbd6ad17 (diff)
Fix m68k-elf coldfire run-time address error for tablejumps.
* m68kelf.h (ASM_RETURN_CASE_JUMP): Add 5200 support. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25288 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/m68k/m68kelf.h')
-rw-r--r--gcc/config/m68k/m68kelf.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/config/m68k/m68kelf.h b/gcc/config/m68k/m68kelf.h
index fad325b399e..476692db31d 100644
--- a/gcc/config/m68k/m68kelf.h
+++ b/gcc/config/m68k/m68kelf.h
@@ -73,7 +73,13 @@ Boston, MA 02111-1307, USA. */
/* config/m68k.md has an explicit reference to the program counter,
prefix this by the register prefix. */
-#define ASM_RETURN_CASE_JUMP return "jmp %%pc@(2,%0:w)"
+#define ASM_RETURN_CASE_JUMP \
+ do { \
+ if (TARGET_5200) \
+ return "ext%.l %0\n\tjmp %%pc@(2,%0:l)"; \
+ else \
+ return "jmp %%pc@(2,%0:w)"; \
+ } while (0)
/* How to refer to registers in assembler output.
This sequence is indexed by compiler's hard-register-number.