This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: Fix a typo in sse.md


Hi,

sse.md has

(define_insn "*and<mode>3"
  [(set (match_operand:SSEMODEF2P 0 "register_operand" "=x")
        (and:SSEMODEF2P
          (match_operand:SSEMODEF2P 1 "nonimmediate_operand" "%0")
          (match_operand:SSEMODEF2P 2 "nonimmediate_operand" "xm")))]
  "SSE_VEC_FLOAT_MODE_P (<MODE>mode)
   && ix86_binary_operator_ok (AND, V4SFmode, operands)"
  "andp<ssemodesuffixf2c>\t{%2, %0|%0, %2}"
  [(set_attr "type" "sselog")
   (set_attr "mode" "<MODE>")])

Shouldn't it be

&& ix86_binary_operator_ok (AND, <MODE>mode, operands)"

instead of

&& ix86_binary_operator_ok (AND, V4SFmode, operands)"

Here is a patch.  OK for trunk if pass on Linux/Intel64?

Thanks.


H..J.
2008-03-28  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/sse.md (*and<mode>3): Pass <MODE>mode instead
	of V4SFmode to ix86_binary_operator_ok.

Index: gcc/config/i386/sse.md
===================================================================
--- gcc/config/i386/sse.md	(revision 1917)
+++ gcc/config/i386/sse.md	(working copy)
@@ -972,7 +972,7 @@
 	  (match_operand:SSEMODEF2P 1 "nonimmediate_operand" "%0")
 	  (match_operand:SSEMODEF2P 2 "nonimmediate_operand" "xm")))]
   "SSE_VEC_FLOAT_MODE_P (<MODE>mode)
-   && ix86_binary_operator_ok (AND, V4SFmode, operands)"
+   && ix86_binary_operator_ok (AND, <MODE>mode, operands)"
   "andp<ssemodesuffixf2c>\t{%2, %0|%0, %2}"
   [(set_attr "type" "sselog")
    (set_attr "mode" "<MODE>")])

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]