blob: e2a67a66764498a107e362f7596cfed44c8542c1 [file] [log] [blame]
/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-msse4.1 -O2" } */
/* { dg-final { scan-assembler-times {(?n)v?pcmpeq[bwd]} 2 } } */
/* { dg-final { scan-assembler-times {(?n)v?p?blendv} 2 } } */
typedef char v4qi __attribute__ ((vector_size (4)));
typedef short v2hi __attribute__ ((vector_size (4)));
#define FOO(VTYPE, TYPE) \
VTYPE \
__attribute__ ((noipa)) \
foo_##VTYPE (VTYPE a, TYPE b, unsigned int c) \
{ \
a[c] = b; \
return a; \
} \
FOO (v4qi, char);
FOO (v2hi, short);