// { dg-additional-options "-mavx" { target { avx_runtime } } }
typedef long long i64;
static inline i64
min (i64 a, i64 b)
{
return a < b ? a : b;
}
struct Item
{
int x : 8;
i64 y : 55;
bool z : 1;
};
__attribute__ ((noipa)) i64
test (Item *a, int cnt)
{
i64 size = 0;
for (int i = 0; i < cnt; i++)
size = min (a[i].y, size);
return size;
}
int
main ()
{
struct Item items[] = {
{ 1, -1 },
{ 2, -2 },
{ 3, -3 },
{ 4, -4 },
};
if (test (items, 4) != -4)
__builtin_trap ();
}