blob: 7a6eb260e41d10a69fe8b805b7c13d8954414ba0 [file] [log] [blame]
/* PR target/104502 */
/* { dg-do compile { target fstack_protector } } */
/* { dg-options "-O -flive-range-shrinkage -march=barcelona -fstack-protector-all -mavx512f" } */
typedef char __attribute__((__vector_size__ (8))) U;
typedef int __attribute__((__vector_size__ (8))) A;
typedef int __attribute__((__vector_size__ (16))) B;
typedef int __attribute__((__vector_size__ (32))) C;
typedef int __attribute__((__vector_size__ (64))) D;
typedef __float128 __attribute__((__vector_size__ (32))) F;
char s;
U u;
A a;
int i;
C c;
double d;
U
foo (U u0, A a0, B b0, B b1, C c0, C c1, C c2, C c3, A a1, A a2, F f0)
{
C ca = c |= (short) (float) d;
C cb = c0 + c1 + c2 + c3 + ca + (C) f0;
U ua = s << (u & 4);
B ba = ((union {C a; B b;}) cb).b + b0 + b1;
U ub = ((union {B a; U b;}) ba).b +
u0 + u + ua + (U) a + (U) a + (U) a0 + (U) a1 + (U) a2;
long long u64_r = i + d;
char u8_r = u64_r;
return ub + u8_r;
}