Daily bump.
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / mask-unpack.c
blobf37294c71d8139c6e1b34c16d7152b0a3afd8f4a
1 /* { dg-do compile } */
2 /* { dg-options "-mavx512bw -mavx512dq -mno-stackrealign -O3 -fopenmp-simd -fdump-tree-vect-details" } */
3 /* Disabling epilogues until we find a better way to deal with scans. */
4 /* { dg-additional-options "--param vect-epilogues-nomask=0" } */
5 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 10 "vect" } } */
6 /* { dg-final { scan-assembler-not "maskmov" } } */
8 #define LENGTH 1000
10 long l1[LENGTH], l2[LENGTH];
11 int i1[LENGTH], i2[LENGTH];
12 short s1[LENGTH], s2[LENGTH];
13 char c1[LENGTH], c2[LENGTH];
14 double d1[LENGTH], d2[LENGTH];
16 int test1 ()
18 int i;
19 #pragma omp simd safelen(16)
20 for (i = 0; i < LENGTH; i++)
21 if (i1[i] > i2[i])
22 l1[i] = 1;
25 int test2 (int n)
27 int i;
28 #pragma omp simd safelen(32)
29 for (i = 0; i < LENGTH; i++)
30 if (s1[i] > s2[i])
31 i1[i] = 1;
34 int test3 (int n)
36 int i;
37 #pragma omp simd safelen(32)
38 for (i = 0; i < LENGTH; i++)
39 if (c1[i] > c2[i])
40 s1[i] = 1;
43 int test4 (int n)
45 int i;
46 #pragma omp simd safelen(32)
47 for (i = 0; i < LENGTH; i++)
48 if (c1[i] > c2[i])
49 d1[i] = 1;
52 int test5 (int n)
54 int i;
55 #pragma omp simd safelen(32)
56 for (i = 0; i < LENGTH; i++)
57 l1[i] = i1[i] > i2[i] ? 1 : 2;
60 int test6 (int n)
62 int i;
63 #pragma omp simd safelen(32)
64 for (i = 0; i < LENGTH; i++)
65 i1[i] = s1[i] > s2[i] ? 1 : 2;
68 int test7 (int n)
70 int i;
71 #pragma omp simd safelen(32)
72 for (i = 0; i < LENGTH; i++)
73 s1[i] = c1[i] > c2[i] ? 1 : 2;
76 int test8 (int n)
78 int i;
79 #pragma omp simd safelen(32)
80 for (i = 0; i < LENGTH; i++)
81 d1[i] = c1[i] > c2[i] ? 1 : 2;
84 int test9 (int n)
86 int i;
87 #pragma omp simd safelen(16)
88 for (i = 0; i < LENGTH; i++)
89 if (c1[i] > c2[i] && i1[i] < i2[i])
90 l1[i] = 1;
93 int test10 (int n)
95 int i;
96 #pragma omp simd safelen(16)
97 for (i = 0; i < LENGTH; i++)
98 if (c1[i] > c2[i] && i1[i] < i2[i])
99 l1[i] = 1;
100 else
101 l1[i] = 2;