blob: d290b67df8d18862355d8882aaed6e9a2997b582 [file] [log] [blame]
/* PR target/99321 */
/* { dg-do compile } */
/* { dg-options "-O2 -mtune=btver2 -fno-tree-dce -mavx512vl -mno-avx512bw" } */
typedef unsigned __attribute__((__vector_size__ (8))) A;
typedef unsigned int __attribute__((__vector_size__ (8))) B;
typedef unsigned char __attribute__((__vector_size__ (16))) C;
typedef unsigned __attribute__((__vector_size__ (16))) D;
typedef unsigned int __attribute__((__vector_size__ (16))) E;
typedef unsigned __attribute__((__vector_size__ (16))) F;
typedef unsigned __attribute__((__vector_size__ (32))) G;
typedef int __attribute__((__vector_size__ (32))) H;
typedef unsigned int __attribute__((__vector_size__ (32))) I;
typedef char __attribute__((__vector_size__ (64))) J;
typedef unsigned int __attribute__((__vector_size__ (64))) K;
typedef unsigned long long __attribute__((__vector_size__ (64))) L;
unsigned char a;
unsigned b, c;
H d;
E e, f;
D g;
L h;
A
foo0 (A i, C j, G k, B l, K m, B n, I o)
{
J p, q = a != p;
F r = b << f;
int s = a * 15;
C t = (1 << ((C) ((C) { 80 } >=j) & sizeof (0)) | (j ^ (C) { 5 }) << (j & sizeof (0))) != 0;
L u = h;
H v = d - 40;
u ^= -(long long) n;
D w = (char) s > g;
o ^= c / o;
J x = p + q + (J) m + (J) u + (J) u;
G y = ((union { J a; G b;}) x).b + ((union { J a; G b[2];}) x).b[1] + k + v + o;
C z = ((union { G a; C b;}) y).b + ((union { G a; C b;}) y).b + j + t + (C) g + (C) w + (C) e + (C) f + (C) r;
A zz = ((union { C a; A b;}) z).b + i + l + n;
return zz;
}