From 641241db80de133687af86a5432e4f72358ccd37 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Tue, 25 Mar 1997 15:20:06 -0500 Subject: [PATCH] (tablejump): Use extl to explicitly sign extend index registern on TARGET_5200. From-SVN: r13799 --- gcc/config/m68k/m68k.md | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md index 31e9a48d3f6..86a70b6361d 100644 --- a/gcc/config/m68k/m68k.md +++ b/gcc/config/m68k/m68k.md @@ -6061,20 +6061,45 @@ #else #ifdef SGS #ifdef ASM_OUTPUT_CASE_LABEL - return \"jmp 6(%%pc,%0.w)\"; + if (TARGET_5200) + return \"ext%.l %0\;jmp 6(%%pc,%0.l)\"; + else + return \"jmp 6(%%pc,%0.w)\"; +#else + if (TARGET_5200) + { +#ifdef CRDS + return \"ext%.l %0\;jmp 2(pc,%0.l)\"; #else + return \"extl %0\;jmp 2(%%pc,%0.l)\"; +#endif /* end !CRDS */ + } + else + { #ifdef CRDS - return \"jmp 2(pc,%0.w)\"; + return \"jmp 2(pc,%0.w)\"; #else - return \"jmp 2(%%pc,%0.w)\"; + return \"jmp 2(%%pc,%0.w)\"; #endif /* end !CRDS */ + } #endif #else /* not SGS */ + if (TARGET_5200) + { #ifdef MOTOROLA - return \"jmp (2,pc,%0.w)\"; + return \"ext%.l %0\;jmp (2,pc,%0.l)\"; #else - return \"jmp pc@(2,%0:w)\"; + return \"extl %0\;jmp pc@(2,%0:l)\"; #endif + } + else + { +#ifdef MOTOROLA + return \"jmp (2,pc,%0.w)\"; +#else + return \"jmp pc@(2,%0:w)\"; +#endif + } #endif #endif ") -- 2.30.2