/* PR target/98218 */ /* { dg-do compile { target { ! ia32 } } } */ /* { dg-options "-O2 -msse2" } */ typedef short vec __attribute__((vector_size(8))); vec lt (vec a, vec b) { return a < b; } vec le (vec a, vec b) { return a <= b; } vec eq (vec a, vec b) { return a == b; } vec ne (vec a, vec b) { return a != b; } vec ge (vec a, vec b) { return a >= b; } vec gt (vec a, vec b) { return a > b; } typedef unsigned short uvec __attribute__((vector_size(8))); vec ltu (uvec a, uvec b) { return a < b; } vec leu (uvec a, uvec b) { return a <= b; } vec geu (uvec a, uvec b) { return a >= b; } vec gtu (uvec a, uvec b) { return a > b; } /* { dg-final { scan-assembler-not "cmpw" } } */