aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/i386/i386.md18
2 files changed, 21 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2c509e3..d0e19ed 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+Fri Sep 3 01:16:18 1999 Alasdair Baird <alasdair@wildcat.demon.co.uk>
+
+ * i386.md (movsf_1): Check REG_P before use of REGNO.
+ (movdf_1): Likewise.
+ (movxf_1): Likewise.
+ (extendsfdf2): Likewise.
+ (extendsfxf2): Likewise.
+ (extenddfxf2): Likewise.
+
Sat Sep 4 11:37:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
* config/c4x/c4x.c (c4x_emit_move_sequence): Do not force large
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 7620712..d628100 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -1743,7 +1743,8 @@
switch (which_alternative)
{
case 0:
- if (find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
+ if (REG_P (operands[1])
+ && find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
return \"fstp\\t%0\";
else if (STACK_TOP_P (operands[0]))
return \"fld%z1\\t%1\";
@@ -1858,7 +1859,8 @@
switch (which_alternative)
{
case 0:
- if (find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
+ if (REG_P (operands[1])
+ && find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
return \"fstp\\t%0\";
else if (STACK_TOP_P (operands[0]))
return \"fld%z1\\t%1\";
@@ -1982,7 +1984,8 @@
switch (which_alternative)
{
case 0:
- if (find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
+ if (REG_P (operands[1])
+ && find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
return \"fstp\\t%0\";
else if (STACK_TOP_P (operands[0]))
return \"fld%z1\\t%1\";
@@ -2417,7 +2420,8 @@
switch (which_alternative)
{
case 0:
- if (find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
+ if (REG_P (operands[1])
+ && find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
return \"fstp\\t%0\";
else if (STACK_TOP_P (operands[0]))
return \"fld%z1\\t%1\";
@@ -2446,7 +2450,8 @@
switch (which_alternative)
{
case 0:
- if (find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
+ if (REG_P (operands[1])
+ && find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
return \"fstp\\t%0\";
else if (STACK_TOP_P (operands[0]))
return \"fld%z1\\t%1\";
@@ -2476,7 +2481,8 @@
switch (which_alternative)
{
case 0:
- if (find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
+ if (REG_P (operands[1])
+ && find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
return \"fstp\\t%0\";
else if (STACK_TOP_P (operands[0]))
return \"fld%z1\\t%1\";