Hello, Patch in the bottom extends to EVEX constraints of vec_set<mode>_0 insn pattern.
Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md (define_insn "vec_set<mode>_0"): Add EVEX version. -- Thanks, K diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index c9d6e00..5f2fe5b 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -6259,13 +6259,13 @@ ;; see comment above inline_secondary_memory_needed function in i386.c (define_insn "vec_set<mode>_0" [(set (match_operand:VI4F_128 0 "nonimmediate_operand" - "=x,x,x ,x,x,x,x ,x ,m ,m ,m") + "=v,v,v ,x,x,v,x ,x ,m ,m ,m") (vec_merge:VI4F_128 (vec_duplicate:VI4F_128 (match_operand:<ssescalarmode> 2 "general_operand" - " x,m,*r,m,x,x,*rm,*rm,!x,!*re,!*fF")) + " v,m,*r,m,x,v,*rm,*rm,!x,!*re,!*fF")) (match_operand:VI4F_128 1 "vector_move_operand" - " C,C,C ,C,0,x,0 ,x ,0 ,0 ,0") + " C,C,C ,C,0,v,0 ,x ,0 ,0 ,0") (const_int 1)))] "TARGET_SSE" "@