Hello, On 18 Dec 18:16, Uros Bizjak wrote: > the patch is OK (with above mentioned changes) for mainline. Thanks,
One more nit. It seems that currently vectorizer expects mask_type to be equal to operand_type, which doesn't hold for AVX-512F. So, I'll comment out like this: @@ -34677,6 +36423,31 @@ ix86_vectorize_builtin_gather (const_tree mem_vectype, case V8SImode: code = si ? IX86_BUILTIN_GATHERSIV8SI : IX86_BUILTIN_GATHERALTDIV8SI; break; + /* FIXME: Commented until vectorizer can work with (mask_type != src_type) + case V8DFmode: + if (TARGET_AVX512F) + code = si ? IX86_BUILTIN_GATHER3ALTSIV8DF : IX86_BUILTIN_GATHER3DIV8DF; + else + return NULL_TREE; + break; + case V8DImode: + if (TARGET_AVX512F) + code = si ? IX86_BUILTIN_GATHER3ALTSIV8DI : IX86_BUILTIN_GATHER3DIV8DI; + else + return NULL_TREE; + break; + case V16SFmode: + if (TARGET_AVX512F) + code = si ? IX86_BUILTIN_GATHER3SIV16SF : IX86_BUILTIN_GATHER3ALTDIV16SF; + else + return NULL_TREE; + break; + case V16SImode: + if (TARGET_AVX512F) + code = si ? IX86_BUILTIN_GATHER3SIV16SI : IX86_BUILTIN_GATHER3ALTDIV16SI; + else + return NULL_TREE; + break; */ Mark avx512f-gather-*.c tests with XFAIL, submit PR and move whole hunk to 5/8. Objections? -- Thanks, K