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.