diff options
author | John Wehle <john@feith.com> | 1999-04-02 11:01:25 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-04-02 04:01:25 -0700 |
commit | 9f567f56b1e4d0e4de0b7b0f7d8c579fa5f8378b (patch) | |
tree | 7b693aee28126a6946b63008e941ac21df055fc9 /gcc | |
parent | c095d84a8d7d07fa12425901cacc7e0ec031d913 (diff) | |
download | gcc-9f567f56b1e4d0e4de0b7b0f7d8c579fa5f8378b.zip gcc-9f567f56b1e4d0e4de0b7b0f7d8c579fa5f8378b.tar.gz gcc-9f567f56b1e4d0e4de0b7b0f7d8c579fa5f8378b.tar.bz2 |
i386.md (movsf+1, [...]): Update constraints so that SECONDARY_MEMORY_RELOAD is used.
* i386.md (movsf+1, movdf+1, movxf+1): Update constraints
so that SECONDARY_MEMORY_RELOAD is used. Remove dead code.
From-SVN: r26121
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 54 |
2 files changed, 11 insertions, 48 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2ac165b..f973ef2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index d2137fe..6aaa5289 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -1401,8 +1401,8 @@ ;; 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)" "* { @@ -1418,20 +1418,6 @@ 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])) @@ -1538,8 +1524,8 @@ ;; 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)" "* @@ -1556,20 +1542,6 @@ 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])) @@ -1675,8 +1647,8 @@ (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)" "* @@ -1693,20 +1665,6 @@ 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])) |