On Thu, Jan 22, 2015 at 3:41 PM, Uros Bizjak <ubiz...@gmail.com> wrote:

> Attached patch fixes PR 64688. Operand constraints were wrong for
> reg-to-vec targets.
>
> The patch also fixes PR 64477.

Whoops, I have regtested wrong compiler. The patch introduced some
AVX2 regressions. Following patch is also needed, otherwise vec_dup
post-reload splitter creates invalid pattern that involves general reg
for reg-to-vec targets.

--cut here--
Index: config/i386/sse.md
===================================================================
--- config/i386/sse.md  (revision 220004)
+++ config/i386/sse.md  (working copy)
@@ -16711,7 +16711,7 @@
   [V32QI V16QI V16HI V8HI V8SI V4SI])

 (define_insn "*vec_dup<mode>"
-  [(set (match_operand:AVX2_VEC_DUP_MODE 0 "register_operand" "=x,x,x")
+  [(set (match_operand:AVX2_VEC_DUP_MODE 0 "register_operand" "=x,x,Yi")
        (vec_duplicate:AVX2_VEC_DUP_MODE
          (match_operand:<ssescalarmode> 1 "nonimmediate_operand" "m,x,$r")))]
   "TARGET_AVX2"
--cut here--

Sorry for the breakage, will be fixed ASAP.

Uros.

Reply via email to