blob: 330272c69bc955f2c77d1b828a50469a9140e2a7 [file] [log] [blame]
/* PR target/98461 */
/* { dg-do compile } */
/* { dg-options "-O2 -msse2 -mno-sse3 -masm=att" } */
/* { dg-final { scan-assembler-times "\tpmovmskb\t" 3 } } */
/* { dg-final { scan-assembler-not "\tmovzwl" } } */
/* { dg-final { scan-assembler-times "\tnotl" 1 } } *
/* { dg-final { scan-assembler-times "\txorl" 1 } } */
#include <immintrin.h>
unsigned int movemask_not1(__m128i logical) {
unsigned short res = (unsigned short)(_mm_movemask_epi8(logical));
return ~res;
}
unsigned int movemask_not2(__m128i logical) {
unsigned short res = (unsigned short)(_mm_movemask_epi8(logical));
res = ~res;
return res;
}
unsigned int movemask_zero_extend(__m128i logical) {
unsigned int res = _mm_movemask_epi8(logical);
return res & 0xffff;
}