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