summaryrefslogtreecommitdiff
path: root/gcc/config/m68k/m68k.md
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1997-11-02 21:19:36 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1997-11-02 21:19:36 +0000
commit0dbd1c7442aeabc3e63daf6f70f8fb136f0cf38e (patch)
tree46fe768360493f03f7282d07762e7b26c292aabd /gcc/config/m68k/m68k.md
parent638d2d6c66cb82345c84b92a46ebf9445c56204c (diff)
downloadgcc-0dbd1c7442aeabc3e63daf6f70f8fb136f0cf38e.tar.gz
Update mainline egcs to gcc2 snapshot 971021.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16278 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/m68k/m68k.md')
-rw-r--r--gcc/config/m68k/m68k.md80
1 files changed, 50 insertions, 30 deletions
diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md
index 3a54b6d19c0..ddcac6555be 100644
--- a/gcc/config/m68k/m68k.md
+++ b/gcc/config/m68k/m68k.md
@@ -5813,28 +5813,34 @@
else
operands[3] = adj_offsettable_operand (operands[0], 4);
if (! ADDRESS_REG_P (operands[0]))
+ {
#ifdef MOTOROLA
- return \"move%.l %0,%2\;or%.l %3,%2\;jbeq %l1\";
+ return \"move%.l %0,%2\;or%.l %3,%2\;jbeq %l1\";
#else
- return \"move%.l %0,%2\;or%.l %3,%2\;jeq %l1\";
+ return \"move%.l %0,%2\;or%.l %3,%2\;jeq %l1\";
#endif
+ }
operands[4] = gen_label_rtx();
if (TARGET_68020 || TARGET_5200)
+ {
#ifdef MOTOROLA
- output_asm_insn (\"tst%.l %0\;jbne %l4\;tst%.l %3\;jbeq %l1\", operands);
+ output_asm_insn (\"tst%.l %0\;jbne %l4\;tst%.l %3\;jbeq %l1\", operands);
#else
- output_asm_insn (\"tst%.l %0\;jne %l4\;tst%.l %3\;jeq %l1\", operands);
+ output_asm_insn (\"tst%.l %0\;jne %l4\;tst%.l %3\;jeq %l1\", operands);
#endif
+ }
else
+ {
#ifdef MOTOROLA
#ifdef SGS_CMP_ORDER
- output_asm_insn (\"cmp%.w %0,%#0\;jbne %l4\;cmp%.w %3,%#0\;jbeq %l1\", operands);
+ output_asm_insn (\"cmp%.w %0,%#0\;jbne %l4\;cmp%.w %3,%#0\;jbeq %l1\", operands);
#else
- output_asm_insn (\"cmp%.w %#0,%0\;jbne %l4\;cmp%.w %#0,%3\;jbeq %l1\", operands);
+ output_asm_insn (\"cmp%.w %#0,%0\;jbne %l4\;cmp%.w %#0,%3\;jbeq %l1\", operands);
#endif
#else
- output_asm_insn (\"cmp%.w %#0,%0\;jne %l4\;cmp%.w %#0,%3\;jeq %l1\", operands);
+ output_asm_insn (\"cmp%.w %#0,%0\;jne %l4\;cmp%.w %#0,%3\;jeq %l1\", operands);
#endif
+ }
ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"L\",
CODE_LABEL_NUMBER (operands[4]));
return \"\";
@@ -5868,27 +5874,33 @@
else
operands[3] = adj_offsettable_operand (operands[0], 4);
if (!ADDRESS_REG_P (operands[0]))
+ {
#ifdef MOTOROLA
- return \"move%.l %0,%2\;or%.l %3,%2\;jbne %l1\";
+ return \"move%.l %0,%2\;or%.l %3,%2\;jbne %l1\";
#else
- return \"move%.l %0,%2\;or%.l %3,%2\;jne %l1\";
+ return \"move%.l %0,%2\;or%.l %3,%2\;jne %l1\";
#endif
+ }
if (TARGET_68020 || TARGET_5200)
+ {
#ifdef MOTOROLA
- return \"tst%.l %0\;jbne %l1\;tst%.l %3\;jbne %l1\";
+ return \"tst%.l %0\;jbne %l1\;tst%.l %3\;jbne %l1\";
#else
- return \"tst%.l %0\;jne %l1\;tst%.l %3\;jne %l1\";
+ return \"tst%.l %0\;jne %l1\;tst%.l %3\;jne %l1\";
#endif
+ }
else
+ {
#ifdef MOTOROLA
#ifdef SGS_CMP_ORDER
- return \"cmp%.w %0,%#0\;jbne %l1\;cmp%.w %3,%#0\;jbne %l1\";
+ return \"cmp%.w %0,%#0\;jbne %l1\;cmp%.w %3,%#0\;jbne %l1\";
#else
- return \"cmp%.w %#0,%0\;jbne %l1\;cmp%.w %#0,%3\;jbne %l1\";
+ return \"cmp%.w %#0,%0\;jbne %l1\;cmp%.w %#0,%3\;jbne %l1\";
#endif
#else
- return \"cmp%.w %#0,%0\;jne %l1\;cmp%.w %#0,%3\;jne %l1\";
+ return \"cmp%.w %#0,%0\;jne %l1\;cmp%.w %#0,%3\;jne %l1\";
#endif
+ }
} ")
(define_insn "bge0_di"
@@ -5927,17 +5939,19 @@
if (TARGET_68020 || TARGET_5200 || ! ADDRESS_REG_P (operands[0]))
output_asm_insn(\"tst%.l %0\", operands);
else
- /* On an address reg, cmpw may replace cmpl. */
+ {
+ /* On an address reg, cmpw may replace cmpl. */
#ifdef SGS_CMP_ORDER
- output_asm_insn(\"cmp%.w %0,%#0\", operands);
+ output_asm_insn(\"cmp%.w %0,%#0\", operands);
#else
- output_asm_insn(\"cmp%.w %#0,%0\", operands);
+ output_asm_insn(\"cmp%.w %#0,%0\", operands);
#endif
+ }
#ifdef MOTOROLA
- return \"jbpl %l1\";
+ return \"jbpl %l1\";
#else
- return \"jpl %l1\";
+ return \"jpl %l1\";
#endif
} ")
@@ -5977,12 +5991,14 @@
if (TARGET_68020 || TARGET_5200 || ! ADDRESS_REG_P (operands[0]))
output_asm_insn(\"tst%.l %0\", operands);
else
- /* On an address reg, cmpw may replace cmpl. */
+ {
+ /* On an address reg, cmpw may replace cmpl. */
#ifdef SGS_CMP_ORDER
- output_asm_insn(\"cmp%.w %0,%#0\", operands);
+ output_asm_insn(\"cmp%.w %0,%#0\", operands);
#else
- output_asm_insn(\"cmp%.w %#0,%0\", operands);
+ output_asm_insn(\"cmp%.w %#0,%0\", operands);
#endif
+ }
#ifdef MOTOROLA
return \"jbmi %l1\";
@@ -6732,21 +6748,23 @@
"*
if (GET_CODE (operands[1]) == MEM
&& GET_CODE (XEXP (operands[1], 0)) == SYMBOL_REF)
+ {
#ifdef MOTOROLA
#ifdef HPUX_ASM
- return \"bsr.l %1\";
+ return \"bsr.l %1\";
#else
#ifdef USE_GAS
- return \"bsr.l %1@PLTPC\";
+ return \"bsr.l %1@PLTPC\";
#else
- return \"bsr %1@PLTPC\";
+ return \"bsr %1@PLTPC\";
#endif
#endif
#else
- /* The ',a1' is a dummy argument telling the Sun assembler we want PIC
- GAS just plain ignores it. */
- return \"jbsr %1,a1\";
+ /* The ',a1' is a dummy argument telling the Sun assembler we want PIC
+ GAS just plain ignores it. */
+ return \"jbsr %1,a1\";
#endif
+ }
return \"jsr %1\";
")
@@ -6971,11 +6989,13 @@
if (TARGET_68040)
output_asm_insn (\"add%.w %1,%0\", xoperands);
else
+ {
#ifdef MOTOROLA
- output_asm_insn (\"lea (%c1,%0),%0\", xoperands);
+ output_asm_insn (\"lea (%c1,%0),%0\", xoperands);
#else
- output_asm_insn (\"lea %0@(%c1),%0\", xoperands);
+ output_asm_insn (\"lea %0@(%c1),%0\", xoperands);
#endif
+ }
}
else
output_asm_insn (\"add%.l %1,%0\", xoperands);