aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/m68k/pbb.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/m68k/pbb.h')
-rw-r--r--gcc/config/m68k/pbb.h19
1 files changed, 12 insertions, 7 deletions
diff --git a/gcc/config/m68k/pbb.h b/gcc/config/m68k/pbb.h
index 6eef2acaf47..68c8d09ead5 100644
--- a/gcc/config/m68k/pbb.h
+++ b/gcc/config/m68k/pbb.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler.
Citicorp/TTI Unicom PBB version (using GAS with a %-register prefix)
- Copyright (C) 1987, 1988, 1990, 1996, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1990, 1996, 1997, 2002 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -109,12 +109,17 @@ Boston, MA 02111-1307, USA. */
&& ! find_equiv_reg (0, get_last_insn (), 0, 0, 0, 8, Pmode)) \
asm_fprintf (FILE, "\tmovl %Rd0,%Ra0\n"); }
-#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)"; \
+#define ASM_RETURN_CASE_JUMP \
+ do { \
+ if (TARGET_5200) \
+ { \
+ if (ADDRESS_REG_P (operands[0])) \
+ return "jmp %%pc@(2,%0:l)"; \
+ else \
+ return "ext%.l %0\n\tjmp %%pc@(2,%0:l)"; \
+ } \
+ else \
+ return "jmp %%pc@(2,%0:w)"; \
} while (0)
/* Although the gas we use can create .ctor and .dtor sections from N_SETT