1/* Include by avx512bw-pr92686-movcc-2.c, avx512vl-pr92686-movcc-2.c  */
2__attribute__((noipa)) char
3cmpb (char dst, char src1, char src2, int num)
4{
5  switch(num)
6    {
7    case 0:
8      return src1 == src2 ? src1 : dst;
9    case 1:
10      return src1 < src2 ? src1 : dst;
11    case 2:
12      return src1 <= src2 ? src1 : dst;
13    case 4:
14      return src1 != src2 ? src1 : dst;
15    case 5:
16      return src1 >= src2 ? src1 : dst;
17    case 6:
18      return src1 > src2 ? src1 : dst;
19    default:
20      abort();
21    }
22  abort();
23}
24
25__attribute__((noipa)) unsigned char
26cmpub (unsigned char dst, unsigned char src1,
27		       unsigned char src2, int num)
28{
29  switch(num)
30    {
31    case 0:
32      return src1 == src2 ? src1 : dst;
33    case 1:
34      return src1 < src2 ? src1 : dst;
35    case 2:
36      return src1 <= src2 ? src1 : dst;
37    case 4:
38      return src1 != src2 ? src1 : dst;
39    case 5:
40      return src1 >= src2 ? src1 : dst;
41    case 6:
42      return src1 > src2 ? src1 : dst;
43    default:
44      abort();
45    }
46  abort();
47}
48
49__attribute__((noipa)) short
50cmpw (short dst, short src1, short src2, int num)
51{
52  switch(num)
53    {
54    case 0:
55      return src1 == src2 ? src1 : dst;
56    case 1:
57      return src1 < src2 ? src1 : dst;
58    case 2:
59      return src1 <= src2 ? src1 : dst;
60    case 4:
61      return src1 != src2 ? src1 : dst;
62    case 5:
63      return src1 >= src2 ? src1 : dst;
64    case 6:
65      return src1 > src2 ? src1 : dst;
66    default:
67      abort();
68    }
69  abort();
70}
71
72__attribute__((noipa)) unsigned short
73cmpuw (unsigned short dst, unsigned short src1,
74		       unsigned short src2, int num)
75{
76  switch(num)
77    {
78    case 0:
79      return src1 == src2 ? src1 : dst;
80    case 1:
81      return src1 < src2 ? src1 : dst;
82    case 2:
83      return src1 <= src2 ? src1 : dst;
84    case 4:
85      return src1 != src2 ? src1 : dst;
86    case 5:
87      return src1 >= src2 ? src1 : dst;
88    case 6:
89      return src1 > src2 ? src1 : dst;
90    default:
91      abort();
92    }
93  abort();
94}
95
96__attribute__((noipa)) int
97cmpd (int dst, int src1, int src2, int num)
98{
99  switch(num)
100    {
101    case 0:
102      return src1 == src2 ? src1 : dst;
103    case 1:
104      return src1 < src2 ? src1 : dst;
105    case 2:
106      return src1 <= src2 ? src1 : dst;
107    case 4:
108      return src1 != src2 ? src1 : dst;
109    case 5:
110      return src1 >= src2 ? src1 : dst;
111    case 6:
112      return src1 > src2 ? src1 : dst;
113    default:
114      abort();
115    }
116  abort();
117}
118
119__attribute__((noipa)) unsigned int
120cmpud (unsigned int dst, unsigned int src1,
121		       unsigned int src2, int num)
122{
123  switch(num)
124    {
125    case 0:
126      return src1 == src2 ? src1 : dst;
127    case 1:
128      return src1 < src2 ? src1 : dst;
129    case 2:
130      return src1 <= src2 ? src1 : dst;
131    case 4:
132      return src1 != src2 ? src1 : dst;
133    case 5:
134      return src1 >= src2 ? src1 : dst;
135    case 6:
136      return src1 > src2 ? src1 : dst;
137    default:
138      abort();
139    }
140  abort();
141}
142
143__attribute__((noipa)) long long int
144cmpq (long long int dst, long long int src1,
145		       long long int src2, int num)
146{
147  switch(num)
148    {
149    case 0:
150      return src1 == src2 ? src1 : dst;
151    case 1:
152      return src1 < src2 ? src1 : dst;
153    case 2:
154      return src1 <= src2 ? src1 : dst;
155    case 4:
156      return src1 != src2 ? src1 : dst;
157    case 5:
158      return src1 >= src2 ? src1 : dst;
159    case 6:
160      return src1 > src2 ? src1 : dst;
161    default:
162      abort();
163    }
164  abort();
165}
166
167__attribute__((noipa)) unsigned long long int
168cmpuq (unsigned long long int dst, unsigned long long int src1,
169       unsigned long long int src2, int num)
170{
171  switch(num)
172    {
173    case 0:
174      return src1 == src2 ? src1 : dst;
175    case 1:
176      return src1 < src2 ? src1 : dst;
177    case 2:
178      return src1 <= src2 ? src1 : dst;
179    case 4:
180      return src1 != src2 ? src1 : dst;
181    case 5:
182      return src1 >= src2 ? src1 : dst;
183    case 6:
184      return src1 > src2 ? src1 : dst;
185    default:
186      abort();
187    }
188  abort();
189}
190