blob: 957b21f2fd34e1415638d15f12c782c69eeedabf [file] [log] [blame]
/* PR target/88547 */
/* { dg-do compile } */
/* { dg-options "-O2 -msse2 -mno-sse3" } */
/* { dg-final { scan-assembler-not "pmingtw\[\t ]" } } */
/* { dg-final { scan-assembler-times "pminub\[\t ]" 2 } } */
/* { dg-final { scan-assembler-times "pminsw\[\t ]" 2 } } */
/* { dg-final { scan-assembler-not "pminsb\[\t ]" } } */
/* { dg-final { scan-assembler-not "pminuw\[\t ]" } } */
/* { dg-final { scan-assembler-not "pminud\[\t ]" } } */
/* { dg-final { scan-assembler-not "pminuq\[\t ]" } } */
typedef signed char v16qi __attribute__((vector_size(16)));
typedef unsigned char v16uqi __attribute__((vector_size(16)));
typedef short v8hi __attribute__((vector_size(16)));
typedef unsigned short v8uhi __attribute__((vector_size(16)));
typedef int v4si __attribute__((vector_size(16)));
typedef unsigned v4usi __attribute__((vector_size(16)));
typedef long long v2di __attribute__((vector_size(16)));
typedef unsigned long long v2udi __attribute__((vector_size(16)));
v16qi
f1 (v16qi x, v16qi y)
{
return x <= y;
}
v16uqi
f2 (v16uqi x, v16uqi y)
{
return x <= y;
}
v16qi
f3 (v16qi x, v16qi y)
{
return x >= y;
}
v16uqi
f4 (v16uqi x, v16uqi y)
{
return x >= y;
}
v8hi
f5 (v8hi x, v8hi y)
{
return x <= y;
}
v8uhi
f6 (v8uhi x, v8uhi y)
{
return x <= y;
}
v8hi
f7 (v8hi x, v8hi y)
{
return x >= y;
}
v8uhi
f8 (v8uhi x, v8uhi y)
{
return x >= y;
}
v4si
f9 (v4si x, v4si y)
{
return x <= y;
}
v4usi
f10 (v4usi x, v4usi y)
{
return x <= y;
}
v4si
f11 (v4si x, v4si y)
{
return x >= y;
}
v4usi
f12 (v4usi x, v4usi y)
{
return x >= y;
}
v2di
f13 (v2di x, v2di y)
{
return x <= y;
}
v2udi
f14 (v2udi x, v2udi y)
{
return x <= y;
}
v2di
f15 (v2di x, v2di y)
{
return x >= y;
}
v2udi
f16 (v2udi x, v2udi y)
{
return x >= y;
}