OSDN Git Service

2010-04-09 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 9 Apr 2010 10:41:37 +0000 (10:41 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 9 Apr 2010 10:41:37 +0000 (10:41 +0000)
PR target/43152
* config/i386/sse.md (vcond<mode>): Handle AVX modes as well.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158158 138bc75d-0d04-0410-961f-82ee72b054a4

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

index bdf0c58..0db0161 100644 (file)
@@ -1,5 +1,10 @@
 2010-04-09  Richard Guenther  <rguenther@suse.de>
 
+       PR target/43152
+       * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
+
+2010-04-09  Richard Guenther  <rguenther@suse.de>
+
        * tree-vectorizer.h (struct _stmt_vec_info): Document
        that vectype is the type of the LHS.
        (supportable_widening_operation, supportable_narrowing_operation): 
index 671dcd4..f989136 100644 (file)
    (set_attr "mode" "<MODE>")])
 
 (define_expand "vcond<mode>"
-  [(set (match_operand:SSEMODEF2P 0 "register_operand" "")
-        (if_then_else:SSEMODEF2P
+  [(set (match_operand:AVXMODEF2P 0 "register_operand" "")
+        (if_then_else:AVXMODEF2P
           (match_operator 3 ""
-            [(match_operand:SSEMODEF2P 4 "nonimmediate_operand" "")
-             (match_operand:SSEMODEF2P 5 "nonimmediate_operand" "")])
-          (match_operand:SSEMODEF2P 1 "general_operand" "")
-          (match_operand:SSEMODEF2P 2 "general_operand" "")))]
-  "SSE_VEC_FLOAT_MODE_P (<MODE>mode)"
+            [(match_operand:AVXMODEF2P 4 "nonimmediate_operand" "")
+             (match_operand:AVXMODEF2P 5 "nonimmediate_operand" "")])
+          (match_operand:AVXMODEF2P 1 "general_operand" "")
+          (match_operand:AVXMODEF2P 2 "general_operand" "")))]
+  "(SSE_VEC_FLOAT_MODE_P (<MODE>mode)
+    || AVX_VEC_FLOAT_MODE_P (<MODE>mode))"
 {
   bool ok = ix86_expand_fp_vcond (operands);
   gcc_assert (ok);