diff options
author | Kamil Iskra <iskra@student.uci.agh.edu.pl> | 1998-07-06 23:23:56 +0200 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-07-06 15:23:56 -0600 |
commit | 392582fae8add8b11515a369699f0da0045bcaef (patch) | |
tree | 4023f9522127bb7970c79e125bb877dea021896c | |
parent | 702d7434a588f6436027d7794428b5bcbbcf3865 (diff) | |
download | gcc-392582fae8add8b11515a369699f0da0045bcaef.zip gcc-392582fae8add8b11515a369699f0da0045bcaef.tar.gz gcc-392582fae8add8b11515a369699f0da0045bcaef.tar.bz2 |
m68k.c (output_scc_di): Use cmpw #0 instead of tstl when testing address registers on the 68000.
* m68k.c (output_scc_di): Use cmpw #0 instead of tstl when
testing address registers on the 68000.
From-SVN: r20963
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/m68k/m68k.c | 16 |
2 files changed, 20 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1aac5d0..073aadb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Mon Jul 6 22:21:56 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl> + + * m68k.c (output_scc_di): Use cmpw #0 instead of tstl when + testing address registers on the 68000. + Mon Jul 6 22:17:19 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk> * jump.c (jump_optimize) Check for CONST_INT before using INTVAL. diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c index 164cf6b..e6a3caba 100644 --- a/gcc/config/m68k/m68k.c +++ b/gcc/config/m68k/m68k.c @@ -1059,12 +1059,26 @@ output_scc_di(op, operand1, operand2, dest) output_asm_insn ("cmp%.l %2,%0\n\tjne %l4\n\tcmp%.l %3,%1", loperands); #endif #endif - else + else if (TARGET_68020 || TARGET_5200) #ifdef MOTOROLA output_asm_insn ("tst%.l %0\n\tjbne %l4\n\ttst%.l %1", loperands); #else output_asm_insn ("tst%.l %0\n\tjne %l4\n\ttst%.l %1", loperands); #endif + else +#ifdef MOTOROLA +#ifdef SGS_CMP_ORDER + output_asm_insn ("cmp%.w %0,%#0\n\tjbne %l4\n\tcmp%.w %1,%#0", loperands); +#else + output_asm_insn ("cmp%.w %#0,%0\n\tjbne %l4\n\tcmp%.w %#0,%1", loperands); +#endif +#else +#ifdef SGS_CMP_ORDER + output_asm_insn ("cmp%.w %0,%#0\n\tjne %l4\n\tcmp%.w %1,%#0", loperands); +#else + output_asm_insn ("cmp%.w %#0,%0\n\tjne %l4\n\tcmp%.w %#0,%1", loperands); +#endif +#endif loperands[5] = dest; switch (op_code) |