1 /* PR target/79299 */
2 /* { dg-do assemble { target avx512vl } } */
3 /* { dg-require-effective-target masm_intel } */
4 /* { dg-options "-Ofast -mavx512vl -masm=intel" } */
5
6 #define N 1024
7
8 unsigned long long a[N];
9 unsigned int b[N], c[N], d[N], e[N], f[N];
10 unsigned long long g[N], h[N], j[N], k[N];
11 float l[N], m[N], n[N], o[N];
12 double p[N], q[N], r[N], s[N];
13
14 void
f1(void)15 f1 (void)
16 {
17 int i;
18 for (i = 0; i < N; i++)
19 d[i] = c[a[i]];
20 for (i = 0; i < N; i++)
21 e[i] = f[i] ? f[i] : c[a[i]];
22 }
23
24 void
f2(void)25 f2 (void)
26 {
27 int i;
28 for (i = 0; i < N; i++)
29 d[i] = c[b[i]];
30 for (i = 0; i < N; i++)
31 e[i] = f[i] ? f[i] : c[b[i]];
32 }
33
34 void
f3(void)35 f3 (void)
36 {
37 int i;
38 for (i = 0; i < N; i++)
39 h[i] = g[a[i]];
40 for (i = 0; i < N; i++)
41 j[i] = k[i] != 0.0 ? k[i] : g[a[i]];
42 }
43
44 void
f4(void)45 f4 (void)
46 {
47 int i;
48 for (i = 0; i < N; i++)
49 h[i] = g[b[i]];
50 for (i = 0; i < N; i++)
51 j[i] = k[i] != 0.0 ? k[i] : g[b[i]];
52 }
53
54 void
f5(void)55 f5 (void)
56 {
57 int i;
58 for (i = 0; i < N; i++)
59 m[i] = l[a[i]];
60 for (i = 0; i < N; i++)
61 n[i] = o[i] ? o[i] : l[a[i]];
62 }
63
64 void
f6(void)65 f6 (void)
66 {
67 int i;
68 for (i = 0; i < N; i++)
69 m[i] = c[b[i]];
70 for (i = 0; i < N; i++)
71 n[i] = o[i] ? o[i] : c[b[i]];
72 }
73
74 void
f7(void)75 f7 (void)
76 {
77 int i;
78 for (i = 0; i < N; i++)
79 q[i] = p[a[i]];
80 for (i = 0; i < N; i++)
81 r[i] = s[i] != 0.0 ? s[i] : p[a[i]];
82 }
83
84 void
f8(void)85 f8 (void)
86 {
87 int i;
88 for (i = 0; i < N; i++)
89 q[i] = p[b[i]];
90 for (i = 0; i < N; i++)
91 r[i] = s[i] != 0.0 ? s[i] : p[b[i]];
92 }
93