https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63678
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org, | |kyukhin at gcc dot gnu.org --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- What means properly? The underlying instruction (256-bit VPBLENDW) certainly accepts only 8-bit mask, and e.g. https://software.intel.com/sites/products/documentation/doclib/iss/2013/compiler/cpp-lin/GUID-5369B2B5-B1E1-4D96-85AB-2019982667B4.htm says nothing what would the upper bits mean, it also says that the mask is 8-bit immediate. Perhaps icc just doesn't diagnose incorrect masks? Or do you see that for 16-bit masks _mm256_blend_epi16 would actually emit more than one insn (say separate blends with the low 8-bit mask, high 8-bit mask and then blend together)?