> 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.