From cac58785f71c9ba3fd3de7e1dd065b0cf539936a Mon Sep 17 00:00:00 2001 From: Stan Cox Date: Fri, 1 Mar 1996 15:28:23 +0000 Subject: [PATCH] (cmpxf*): XF compare cannot have mem operands. From-SVN: r11396 --- gcc/config/i386/i386.md | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index a83e1e780fc..9cebf24f303 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -382,11 +382,10 @@ (define_insn "" [(set (cc0) (match_operator 2 "VOIDmode_compare_op" - [(match_operand:XF 0 "nonimmediate_operand" "f,fm") - (match_operand:XF 1 "nonimmediate_operand" "fm,f")])) - (clobber (match_scratch:HI 3 "=a,a"))] - "TARGET_80387 - && (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)" + [(match_operand:XF 0 "register_operand" "f") + (match_operand:XF 1 "register_operand" "f")])) + (clobber (match_scratch:HI 3 "=a"))] + "TARGET_80387" "* return output_float_compare (insn, operands);") (define_insn "" @@ -566,15 +565,14 @@ (define_expand "cmpxf" [(set (cc0) (compare (match_operand:XF 0 "register_operand" "") - (match_operand:XF 1 "nonimmediate_operand" "")))] + (match_operand:XF 1 "register_operand" "")))] "TARGET_80387" " { i386_compare_gen = gen_cmpxf_cc; i386_compare_gen_eq = gen_cmpxf_ccfpeq; i386_compare_op0 = operands[0]; - i386_compare_op1 = (immediate_operand (operands[1], XFmode)) - ? copy_to_mode_reg (XFmode, operands[1]) : operands[1]; + i386_compare_op1 = operands[1]; DONE; }") @@ -622,11 +620,7 @@ (match_operand:XF 1 "register_operand" ""))) (clobber (match_scratch:HI 2 ""))])] "TARGET_80387" - " -{ - if (! register_operand (operands[1], XFmode)) - operands[1] = copy_to_mode_reg (XFmode, operands[1]); -}") + "") (define_expand "cmpdf_cc" [(parallel [(set (cc0) -- 2.30.2