;; 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]))