[PATCH i386 9/8] [AVX512] Add forgotten kmovw insn, built-in and test.

Ilya Tocar tocarip.intel@gmail.com
Mon Dec 30 15:11:00 GMT 2013


> You don't need an unspec (or corresponding __builtin), generic movhi
> pattern should be able to generate correct insn.
> 
> Uros.

Hi,

Generic movhi genrates simple mov.
Actually the whole purpose of this intrinsic is to let complier know,
that this variable should pe placed on mask register and modified with
k<logic> instructions.

For example when compiling following with -O2 -mavx512f

bar (short x1,short y1,short z1, short f1)
{
  short x,y,z,f;
  x = _mm512_kmov(x1);
  y = _mm512_kmov(11);
  x ^= y;
  a = _mm512_mask_add_ps (a,x,b,c);
}

Version with movhi produces xorl and no kmovw,
while version with unspec produces kxorw and kmovw.



More information about the Gcc-patches mailing list