/* 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; }