Commit 30b23751 by Jeffrey A Law Committed by Jeff Law

m68k.md (beq0_di): Generate correct (and more efficient) code when...

        * m68k.md (beq0_di): Generate correct (and more efficient) code when
        the clobbered operand overlaps with an input.
        (bne0_di): Similarly.

From-SVN: r22082
parent b4ea9a9d
Sat Aug 29 12:39:56 1998 Jeffrey A Law (law@cygnus.com)
* m68k.md (beq0_di): Generate correct (and more efficient) code when
the clobbered operand overlaps with an input.
(bne0_di): Similarly.
* Makefile.in (INSTALL): Remove "--no-header" argument.
* NEWS: Various updates.
......
......@@ -5958,6 +5958,25 @@
operands[3] = adj_offsettable_operand (operands[0], 4);
if (! ADDRESS_REG_P (operands[0]))
{
if (reg_overlap_mentioned_p (operands[2], operands[0]))
{
if (reg_overlap_mentioned_p (operands[2], operands[3]))
{
#ifdef MOTOROLA
return \"or%.l %0,%2\;jbeq %l1\";
#else
return \"or%.l %0,%2\;jeq %l1\";
#endif
}
else
{
#ifdef MOTOROLA
return \"or%.l %3,%2\;jbeq %l1\";
#else
return \"or%.l %3,%2\;jeq %l1\";
#endif
}
}
#ifdef MOTOROLA
return \"move%.l %0,%2\;or%.l %3,%2\;jbeq %l1\";
#else
......@@ -6019,6 +6038,25 @@
operands[3] = adj_offsettable_operand (operands[0], 4);
if (!ADDRESS_REG_P (operands[0]))
{
if (reg_overlap_mentioned_p (operands[2], operands[0]))
{
if (reg_overlap_mentioned_p (operands[2], operands[3]))
{
#ifdef MOTOROLA
return \"or%.l %0,%2\;jbne %l1\";
#else
return \"or%.l %0,%2\;jne %l1\";
#endif
}
else
{
#ifdef MOTOROLA
return \"or%.l %3,%2\;jbne %l1\";
#else
return \"or%.l %3,%2\;jne %l1\";
#endif
}
}
#ifdef MOTOROLA
return \"move%.l %0,%2\;or%.l %3,%2\;jbne %l1\";
#else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment