http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50875

--- Comment #6 from Uros Bizjak <ubizjak at gmail dot com> 2011-10-26 22:52:50 
UTC ---
Following (untested) patch fixes the failure for me:

Index: sse.md
===================================================================
--- sse.md    (revision 180528)
+++ sse.md    (working copy)
@@ -4231,12 +4231,11 @@
   [(set (match_operand:V4DF 0 "register_operand"         "=x,x")
     (vec_select:V4DF
       (vec_concat:V8DF
-        (match_operand:V4DF 1 "nonimmediate_operand" "xm,x")
+        (match_operand:V4DF 1 "nonimmediate_operand" " m,x")
         (match_operand:V4DF 2 "nonimmediate_operand" " 1,xm"))
       (parallel [(const_int 0) (const_int 4)
              (const_int 2) (const_int 6)])))]
-  "TARGET_AVX
-   && (!MEM_P (operands[1]) || rtx_equal_p (operands[1], operands[2]))"
+  "TARGET_AVX"
   "@
    vmovddup\t{%1, %0|%0, %1}
    vunpcklpd\t{%2, %1, %0|%0, %1, %2}"

Reply via email to