]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
i386.md (movsf+1, [...]): Update constraints so that SECONDARY_MEMORY_RELOAD is used.
authorJohn Wehle <john@feith.com>
Fri, 2 Apr 1999 11:01:25 +0000 (11:01 +0000)
committerJeff Law <law@gcc.gnu.org>
Fri, 2 Apr 1999 11:01:25 +0000 (04:01 -0700)
        * i386.md (movsf+1, movdf+1, movxf+1): Update constraints
        so that SECONDARY_MEMORY_RELOAD is used.  Remove dead code.

From-SVN: r26121

gcc/ChangeLog
gcc/config/i386/i386.md

index 2ac165ba7da1bce22572364948ba81c880a9c20f..f973ef2a346606e8a477c0c70d146f407a03d8ed 100644 (file)
@@ -1,3 +1,8 @@
+Fri Apr  2 11:53:37 1999  John Wehle  (john@feith.com)
+
+       * i386.md (movsf+1, movdf+1, movxf+1): Update constraints
+       so that SECONDARY_MEMORY_RELOAD is used.  Remove dead code.
+
 1999-04-02  Bruce Korb <ddsinc09@ix.netcom.com>
 
        * fixinc/mkfixinc.sh:  added support for x86-interix
index d2137feeb54409f322d9543598166ab867a3836c..6aaa528975e0b4b9d5700c8e4a177f9f9430141d 100644 (file)
 
 ;; For the purposes of regclass, prefer FLOAT_REGS.
 (define_insn ""
-  [(set (match_operand:SF 0 "nonimmediate_operand" "=*rfm,*rf,f,!*rm")
-       (match_operand:SF 1 "general_operand" "*rf,*rfm,fG,fF"))]
+  [(set (match_operand:SF 0 "nonimmediate_operand" "=f,m,!*r,!m")
+       (match_operand:SF 1 "general_operand" "fmG,f,*rmF,*rF"))]
   "(!TARGET_MOVE || GET_CODE (operands[0]) != MEM) || (GET_CODE (operands[1]) != MEM)"
   "*
 {
         return AS1 (fld,%y0);
     }
 
-  /* Handle a transfer between the 387 and a 386 register */
-
-  if (STACK_TOP_P (operands[0]) && NON_STACK_REG_P (operands[1]))
-    {
-      output_op_from_reg (operands[1], AS1 (fld%z0,%y1));
-      RET;
-    }
-
-  if (STACK_TOP_P (operands[1]) && NON_STACK_REG_P (operands[0]))
-    {
-      output_to_reg (operands[0], stack_top_dies, 0);
-      RET;
-    }
-
   /* Handle other kinds of writes from the 387 */
 
   if (STACK_TOP_P (operands[1]))
 
 ;; For the purposes of regclass, prefer FLOAT_REGS.
 (define_insn ""
-  [(set (match_operand:DF 0 "nonimmediate_operand" "=f,fm,!*rf,!*rm")
-       (match_operand:DF 1 "general_operand" "fmG,f,*rfm,*rfF"))]
+  [(set (match_operand:DF 0 "nonimmediate_operand" "=f,m,!*r,!o")
+       (match_operand:DF 1 "general_operand" "fmG,f,*roF,*rF"))]
   "(!TARGET_MOVE || GET_CODE (operands[0]) != MEM)
    || (GET_CODE (operands[1]) != MEM)"
   "*
         return AS1 (fld,%y0);
     }
 
-  /* Handle a transfer between the 387 and a 386 register */
-
-  if (STACK_TOP_P (operands[0]) && NON_STACK_REG_P (operands[1]))
-    {
-      output_op_from_reg (operands[1], AS1 (fld%z0,%y1));
-      RET;
-    }
-
-  if (STACK_TOP_P (operands[1]) && NON_STACK_REG_P (operands[0]))
-    {
-      output_to_reg (operands[0], stack_top_dies, 0);
-      RET;
-    }
-
   /* Handle other kinds of writes from the 387 */
 
   if (STACK_TOP_P (operands[1]))
 
 
 (define_insn ""
-  [(set (match_operand:XF 0 "nonimmediate_operand" "=f,fm,!*rf,!*rm")
-       (match_operand:XF 1 "general_operand" "fmG,f,*rfm,*rfF"))]
+  [(set (match_operand:XF 0 "nonimmediate_operand" "=f,m,!*r,!o")
+       (match_operand:XF 1 "general_operand" "fmG,f,*roF,*rF"))]
   "(!TARGET_MOVE || GET_CODE (operands[0]) != MEM)
    || (GET_CODE (operands[1]) != MEM)"
   "*
         return AS1 (fld,%y0);
     }
 
-  /* Handle a transfer between the 387 and a 386 register */
-
-  if (STACK_TOP_P (operands[0]) && NON_STACK_REG_P (operands[1]))
-    {
-      output_op_from_reg (operands[1], AS1 (fld%z0,%y1));
-      RET;
-    }
-
-  if (STACK_TOP_P (operands[1]) && NON_STACK_REG_P (operands[0]))
-    {
-      output_to_reg (operands[0], stack_top_dies, 0);
-      RET;
-    }
-
   /* Handle other kinds of writes from the 387 */
 
   if (STACK_TOP_P (operands[1]))