[Bug c/63678] __mm256_blend_epi16 only accepts 8-bit masks (should accept 16-bit)

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Oct 29 18:01:00 GMT 2014


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)?



More information about the Gcc-bugs mailing list