Line data Source code
1 : /* Generated automatically by the program `genemit'
2 : from the machine description file `md'. */
3 :
4 : #define IN_TARGET_CODE 1
5 : #include "config.h"
6 : #include "system.h"
7 : #include "coretypes.h"
8 : #include "backend.h"
9 : #include "predict.h"
10 : #include "tree.h"
11 : #include "rtl.h"
12 : #include "alias.h"
13 : #include "varasm.h"
14 : #include "stor-layout.h"
15 : #include "calls.h"
16 : #include "memmodel.h"
17 : #include "tm_p.h"
18 : #include "flags.h"
19 : #include "insn-config.h"
20 : #include "expmed.h"
21 : #include "dojump.h"
22 : #include "explow.h"
23 : #include "emit-rtl.h"
24 : #include "stmt.h"
25 : #include "expr.h"
26 : #include "insn-codes.h"
27 : #include "optabs.h"
28 : #include "dfp.h"
29 : #include "output.h"
30 : #include "recog.h"
31 : #include "df.h"
32 : #include "resource.h"
33 : #include "reload.h"
34 : #include "diagnostic-core.h"
35 : #include "regs.h"
36 : #include "tm-constrs.h"
37 : #include "ggc.h"
38 : #include "target.h"
39 :
40 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:2337 */
41 : rtx
42 0 : gen_popflsi1 (const rtx operand0, const rtx operand1)
43 : {
44 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
45 0 : static const uint8_t expand_encoding[] = {
46 : 0x1f, 0x01, 0x00, 0x1a, 0x02, 0x01, 0x01, 0x01,
47 : 0x2c
48 : };
49 0 : return expand_rtx (expand_encoding, operands);
50 : }
51 :
52 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:3642 */
53 : rtx
54 2028 : gen_insvhi_1 (const rtx operand0, const rtx operand1)
55 : {
56 2028 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
57 2028 : static const uint8_t expand_encoding[] = {
58 : 0x1f, 0x81, 0x06, 0x10, 0x01, 0x00, 0x27, 0x08,
59 : 0x27, 0x08, 0x01, 0x01
60 : };
61 2028 : return expand_rtx (expand_encoding, operands);
62 : }
63 :
64 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:4856 */
65 : rtx
66 127415 : gen_zero_extendqidi2 (const rtx operand0, const rtx operand1)
67 : {
68 127415 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
69 127415 : static const uint8_t expand_encoding[] = {
70 : 0x1f, 0x01, 0x00, 0x6f, 0x12, 0x01, 0x01
71 : };
72 127415 : return expand_rtx (expand_encoding, operands);
73 : }
74 :
75 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:5183 */
76 : rtx
77 28939 : gen_extendhisi2 (const rtx operand0, const rtx operand1)
78 : {
79 28939 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
80 28939 : static const uint8_t expand_encoding[] = {
81 : 0x1f, 0x01, 0x00, 0x6e, 0x11, 0x01, 0x01
82 : };
83 28939 : return expand_rtx (expand_encoding, operands);
84 : }
85 :
86 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:5815 */
87 : rtx
88 2 : gen_fixuns_trunchfsi2 (const rtx operand0, const rtx operand1)
89 : {
90 2 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
91 2 : static const uint8_t expand_encoding[] = {
92 : 0x1f, 0x01, 0x00, 0x76, 0x11, 0x01, 0x01
93 : };
94 2 : return expand_rtx (expand_encoding, operands);
95 : }
96 :
97 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:6021 */
98 : rtx
99 0 : gen_fix_trunchi_i387_fisttp (const rtx operand0, const rtx operand1)
100 : {
101 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1 };
102 0 : static const uint8_t expand_encoding[] = {
103 : 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x74, 0x10,
104 : 0x01, 0x01, 0x21, 0x00, 0x31, 0x2f
105 : };
106 0 : return expand_rtx (expand_encoding, operands);
107 : }
108 :
109 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:6122 */
110 : rtx
111 1843 : gen_floatsixf2 (const rtx operand0, const rtx operand1)
112 : {
113 1843 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
114 1843 : static const uint8_t expand_encoding[] = {
115 : 0x1f, 0x01, 0x00, 0x73, 0x2f, 0x01, 0x01
116 : };
117 1843 : return expand_rtx (expand_encoding, operands);
118 : }
119 :
120 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:6345 */
121 : rtx
122 8 : gen_floatunssisf2_i387_with_xmm (const rtx operand0, const rtx operand1, const rtx operand2)
123 : {
124 8 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
125 8 : static const uint8_t expand_encoding[] = {
126 : 0x17, 0x00, 0x03, 0x1f, 0x01, 0x00, 0x75, 0x2d,
127 : 0x01, 0x01, 0x21, 0x00, 0x01, 0x02, 0x21, 0x00,
128 : 0x31, 0x12
129 : };
130 8 : return expand_rtx (expand_encoding, operands);
131 : }
132 :
133 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:8509 */
134 : rtx
135 0 : gen_subvsi4_1 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
136 : {
137 0 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
138 0 : static const uint8_t expand_encoding[] = {
139 : 0x17, 0x00, 0x02, 0x1f, 0x30, 0x09, 0x11, 0x5d,
140 : 0x09, 0x3c, 0x12, 0x6e, 0x12, 0x01, 0x01, 0x01,
141 : 0x03, 0x6e, 0x12, 0x3c, 0x11, 0x01, 0x01, 0x01,
142 : 0x02, 0x1f, 0x01, 0x00, 0x3c, 0x11, 0x01, 0x01,
143 : 0x01, 0x02
144 : };
145 0 : return expand_rtx (expand_encoding, operands);
146 : }
147 :
148 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:9870 */
149 : rtx
150 6438 : gen_subsi3_carry_ccc (const rtx operand0, const rtx operand1, const rtx operand2)
151 : {
152 6438 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
153 6438 : static const uint8_t expand_encoding[] = {
154 : 0x17, 0x00, 0x02, 0x1f, 0x30, 0x08, 0x11, 0x3a,
155 : 0x08, 0x6f, 0x12, 0x01, 0x01, 0x3b, 0x12, 0x66,
156 : 0x12, 0x30, 0x02, 0x11, 0x27, 0x00, 0x6f, 0x12,
157 : 0x01, 0x02, 0x21, 0x00, 0x31, 0x11
158 : };
159 6438 : return expand_rtx (expand_encoding, operands);
160 : }
161 :
162 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:10328 */
163 : rtx
164 11 : gen_addhi3_cc_overflow_1 (const rtx operand0, const rtx operand1, const rtx operand2)
165 : {
166 11 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
167 11 : static const uint8_t expand_encoding[] = {
168 : 0x17, 0x00, 0x02, 0x1f, 0x30, 0x08, 0x11, 0x3a,
169 : 0x08, 0x3b, 0x10, 0x01, 0x01, 0x01, 0x02, 0x01,
170 : 0x01, 0x1f, 0x01, 0x00, 0x3b, 0x10, 0x01, 0x01,
171 : 0x01, 0x02
172 : };
173 11 : return expand_rtx (expand_encoding, operands);
174 : }
175 :
176 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:11842 */
177 : rtx
178 6 : gen_udivmodsi4_1 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
179 : {
180 6 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
181 6 : static const uint8_t expand_encoding[] = {
182 : 0x17, 0x00, 0x04, 0x1f, 0x01, 0x00, 0x47, 0x11,
183 : 0x01, 0x02, 0x01, 0x03, 0x1f, 0x01, 0x01, 0x48,
184 : 0x11, 0x01, 0x02, 0x01, 0x03, 0x1a, 0x00, 0x01,
185 : 0x27, 0x00, 0x21, 0x05, 0x02, 0x11
186 : };
187 6 : return expand_rtx (expand_encoding, operands);
188 : }
189 :
190 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:15695 */
191 : rtx
192 7 : gen_ashldi3_doubleword (const rtx operand0, const rtx operand1, const rtx operand2)
193 : {
194 7 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
195 7 : static const uint8_t expand_encoding[] = {
196 : 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x4d, 0x12,
197 : 0x01, 0x01, 0x01, 0x02, 0x05, 0x02, 0x11
198 : };
199 7 : return expand_rtx (expand_encoding, operands);
200 : }
201 :
202 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:15837 */
203 : rtx
204 0 : gen_x86_64_shld_ndd_1_nf (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
205 : {
206 0 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
207 0 : static const uint8_t expand_encoding[] = {
208 : 0x1f, 0x01, 0x00, 0x4a, 0x12, 0x4d, 0x12, 0x01,
209 : 0x01, 0x01, 0x03, 0x32, 0x12, 0x50, 0x13, 0x6f,
210 : 0x13, 0x01, 0x02, 0x01, 0x04, 0x00
211 : };
212 0 : return expand_rtx (expand_encoding, operands);
213 : }
214 :
215 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:17072 */
216 : rtx
217 53 : gen_lshrdi3_doubleword (const rtx operand0, const rtx operand1, const rtx operand2)
218 : {
219 53 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
220 53 : static const uint8_t expand_encoding[] = {
221 : 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x50, 0x12,
222 : 0x01, 0x01, 0x01, 0x02, 0x05, 0x02, 0x11
223 : };
224 53 : return expand_rtx (expand_encoding, operands);
225 : }
226 :
227 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:17136 */
228 : rtx
229 0 : gen_lshrti3_doubleword_lowpart (const rtx operand0, const rtx operand1, const rtx operand2)
230 : {
231 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
232 0 : static const uint8_t expand_encoding[] = {
233 : 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x32, 0x12,
234 : 0x50, 0x13, 0x01, 0x01, 0x01, 0x02, 0x00, 0x05,
235 : 0x02, 0x11
236 : };
237 0 : return expand_rtx (expand_encoding, operands);
238 : }
239 :
240 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:17390 */
241 : rtx
242 0 : gen_x86_shrd_nf (const rtx operand0, const rtx operand1, const rtx operand2)
243 : {
244 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
245 0 : static const uint8_t expand_encoding[] = {
246 : 0x1f, 0x01, 0x00, 0x4a, 0x11, 0x50, 0x11, 0x01,
247 : 0x00, 0x49, 0x0f, 0x01, 0x02, 0x27, 0x1f, 0x32,
248 : 0x11, 0x4d, 0x12, 0x6f, 0x12, 0x01, 0x01, 0x3c,
249 : 0x0f, 0x27, 0x20, 0x49, 0x0f, 0x01, 0x02, 0x27,
250 : 0x1f, 0x00
251 : };
252 0 : return expand_rtx (expand_encoding, operands);
253 : }
254 :
255 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:17624 */
256 : rtx
257 0 : gen_ashrdi3_cvt_nf (const rtx operand0, const rtx operand1, const rtx operand2)
258 : {
259 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
260 0 : static const uint8_t expand_encoding[] = {
261 : 0x1f, 0x01, 0x00, 0x4f, 0x12, 0x01, 0x01, 0x01,
262 : 0x02
263 : };
264 0 : return expand_rtx (expand_encoding, operands);
265 : }
266 :
267 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:18850 */
268 : rtx
269 3 : gen_rotl64ti2_doubleword (const rtx operand0, const rtx operand1)
270 : {
271 3 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
272 3 : static const uint8_t expand_encoding[] = {
273 : 0x1f, 0x01, 0x00, 0x4e, 0x13, 0x01, 0x01, 0x27,
274 : 0x40
275 : };
276 3 : return expand_rtx (expand_encoding, operands);
277 : }
278 :
279 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:20096 */
280 : rtx
281 340 : gen_setcc_df_sse (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
282 : {
283 340 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
284 340 : static const uint8_t expand_encoding[] = {
285 : 0x1f, 0x01, 0x00, 0x03, 0x2e, 0x03, 0x01, 0x01,
286 : 0x01, 0x02
287 : };
288 340 : return expand_rtx (expand_encoding, operands);
289 : }
290 :
291 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:21109 */
292 : rtx
293 228826 : gen_nop (void)
294 : {
295 228826 : static const uint8_t expand_encoding[] = {
296 : 0x27, 0x00
297 : };
298 228826 : return expand_rtx (expand_encoding, nullptr);
299 : }
300 :
301 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:21311 */
302 : rtx
303 259934 : gen_split_stack_return (const rtx operand0)
304 : {
305 259934 : rtx operands[1] ATTRIBUTE_UNUSED = { operand0 };
306 259934 : static const uint8_t expand_encoding[] = {
307 : 0x1b, 0x00, 0x01, 0x01, 0x00, 0x06
308 : };
309 259934 : return expand_rtx (expand_encoding, operands);
310 : }
311 :
312 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:21919 */
313 : rtx
314 0 : gen_clzsi2_lzcnt_nf (const rtx operand0, const rtx operand1)
315 : {
316 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
317 0 : static const uint8_t expand_encoding[] = {
318 : 0x1f, 0x01, 0x00, 0x81, 0x00, 0x11, 0x01, 0x01
319 : };
320 0 : return expand_rtx (expand_encoding, operands);
321 : }
322 :
323 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:22101 */
324 : rtx
325 39 : gen_lzcnt_si (const rtx operand0, const rtx operand1)
326 : {
327 39 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
328 39 : static const uint8_t expand_encoding[] = {
329 : 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x1a, 0x11,
330 : 0x01, 0x01, 0x01, 0x61, 0x05, 0x02, 0x11
331 : };
332 39 : return expand_rtx (expand_encoding, operands);
333 : }
334 :
335 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:22562 */
336 : rtx
337 21 : gen_bmi2_pdep_di3 (const rtx operand0, const rtx operand1, const rtx operand2)
338 : {
339 21 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
340 21 : static const uint8_t expand_encoding[] = {
341 : 0x1f, 0x01, 0x00, 0x1a, 0x12, 0x02, 0x01, 0x01,
342 : 0x01, 0x02, 0x64
343 : };
344 21 : return expand_rtx (expand_encoding, operands);
345 : }
346 :
347 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:22953 */
348 : rtx
349 10 : gen_popcounthi2 (const rtx operand0, const rtx operand1)
350 : {
351 10 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
352 10 : static const uint8_t expand_encoding[] = {
353 : 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x81, 0x02,
354 : 0x10, 0x01, 0x01, 0x05, 0x02, 0x11
355 : };
356 10 : return expand_rtx (expand_encoding, operands);
357 : }
358 :
359 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:24313 */
360 : rtx
361 284 : gen_x86_fnstsw_1 (const rtx operand0)
362 : {
363 284 : rtx operands[1] ATTRIBUTE_UNUSED = { operand0 };
364 284 : static const uint8_t expand_encoding[] = {
365 : 0x1f, 0x01, 0x00, 0x1a, 0x10, 0x01, 0x30, 0x0d,
366 : 0x12, 0x19
367 : };
368 284 : return expand_rtx (expand_encoding, operands);
369 : }
370 :
371 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:25027 */
372 : rtx
373 1 : gen_fxtractxf3_i387 (const rtx operand0, const rtx operand1, const rtx operand2)
374 : {
375 1 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
376 1 : static const uint8_t expand_encoding[] = {
377 : 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x1a, 0x2f,
378 : 0x01, 0x01, 0x02, 0x53, 0x1f, 0x01, 0x01, 0x1a,
379 : 0x2f, 0x01, 0x01, 0x02, 0x54
380 : };
381 1 : return expand_rtx (expand_encoding, operands);
382 : }
383 :
384 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:25588 */
385 : rtx
386 10 : gen_lrintxfsi2 (const rtx operand0, const rtx operand1)
387 : {
388 10 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
389 10 : static const uint8_t expand_encoding[] = {
390 : 0x1f, 0x01, 0x00, 0x1a, 0x11, 0x01, 0x01, 0x01,
391 : 0x47
392 : };
393 10 : return expand_rtx (expand_encoding, operands);
394 : }
395 :
396 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:25819 */
397 : rtx
398 24 : gen_fistdi2_ceil (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
399 : {
400 24 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
401 24 : static const uint8_t expand_encoding[] = {
402 : 0x17, 0x00, 0x04, 0x1f, 0x01, 0x00, 0x1a, 0x12,
403 : 0x01, 0x01, 0x01, 0x50, 0x20, 0x00, 0x01, 0x02,
404 : 0x20, 0x00, 0x01, 0x03, 0x21, 0x00, 0x31, 0x2f
405 : };
406 24 : return expand_rtx (expand_encoding, operands);
407 : }
408 :
409 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:27090 */
410 : rtx
411 92 : gen_movhf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
412 : {
413 92 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
414 92 : static const uint8_t expand_encoding[] = {
415 : 0x1f, 0x01, 0x00, 0x1a, 0x2b, 0x03, 0x01, 0x01,
416 : 0x01, 0x02, 0x01, 0x03, 0x31
417 : };
418 92 : return expand_rtx (expand_encoding, operands);
419 : }
420 :
421 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:27792 */
422 : rtx
423 85665 : gen_pro_epilogue_adjust_stack_add_noccdi (const rtx operand0, const rtx operand1, const rtx operand2)
424 : {
425 85665 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
426 85665 : static const uint8_t expand_encoding[] = {
427 : 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x3b, 0x12,
428 : 0x01, 0x01, 0x01, 0x02, 0x21, 0x00, 0x36, 0x01,
429 : 0x31, 0x00
430 : };
431 85665 : return expand_rtx (expand_encoding, operands);
432 : }
433 :
434 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:28058 */
435 : rtx
436 1 : gen_stack_protect_set_1_si_si (const rtx operand0, const rtx operand1, const rtx operand2)
437 : {
438 1 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
439 1 : static const uint8_t expand_encoding[] = {
440 : 0x17, 0x00, 0x03, 0x1f, 0x01, 0x00, 0x1a, 0x11,
441 : 0x01, 0x01, 0x01, 0x5d, 0x1f, 0x01, 0x02, 0x27,
442 : 0x00, 0x05, 0x02, 0x11
443 : };
444 1 : return expand_rtx (expand_encoding, operands);
445 : }
446 :
447 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:29815 */
448 : rtx
449 33 : gen_sse4_2_crc32hi (const rtx operand0, const rtx operand1, const rtx operand2)
450 : {
451 33 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
452 33 : static const uint8_t expand_encoding[] = {
453 : 0x1f, 0x01, 0x00, 0x1a, 0x11, 0x02, 0x01, 0x01,
454 : 0x01, 0x02, 0x60
455 : };
456 33 : return expand_rtx (expand_encoding, operands);
457 : }
458 :
459 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:29943 */
460 : rtx
461 23 : gen_fxsave64 (const rtx operand0)
462 : {
463 23 : rtx operands[1] ATTRIBUTE_UNUSED = { operand0 };
464 23 : static const uint8_t expand_encoding[] = {
465 : 0x1f, 0x01, 0x00, 0x1b, 0x01, 0x01, 0x27, 0x00,
466 : 0x16
467 : };
468 23 : return expand_rtx (expand_encoding, operands);
469 : }
470 :
471 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:30023 */
472 : rtx
473 19 : gen_xsavec_rex64 (const rtx operand0, const rtx operand1, const rtx operand2)
474 : {
475 19 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
476 19 : static const uint8_t expand_encoding[] = {
477 : 0x1f, 0x01, 0x00, 0x1b, 0x01, 0x02, 0x01, 0x01,
478 : 0x01, 0x02, 0x22
479 : };
480 19 : return expand_rtx (expand_encoding, operands);
481 : }
482 :
483 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:30077 */
484 : rtx
485 21 : gen_xrstor64 (const rtx operand0, const rtx operand1, const rtx operand2)
486 : {
487 21 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
488 21 : static const uint8_t expand_encoding[] = {
489 : 0x1b, 0x01, 0x03, 0x01, 0x00, 0x01, 0x01, 0x01,
490 : 0x02, 0x1b
491 : };
492 21 : return expand_rtx (expand_encoding, operands);
493 : }
494 :
495 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:30196 */
496 : rtx
497 18 : gen_lwp_llwpcbdi (const rtx operand0)
498 : {
499 18 : rtx operands[1] ATTRIBUTE_UNUSED = { operand0 };
500 18 : static const uint8_t expand_encoding[] = {
501 : 0x1b, 0x00, 0x01, 0x01, 0x00, 0x0c
502 : };
503 18 : return expand_rtx (expand_encoding, operands);
504 : }
505 :
506 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:30253 */
507 : rtx
508 19 : gen_rdgsbasedi (const rtx operand0)
509 : {
510 19 : rtx operands[1] ATTRIBUTE_UNUSED = { operand0 };
511 19 : static const uint8_t expand_encoding[] = {
512 : 0x1f, 0x01, 0x00, 0x1b, 0x12, 0x01, 0x27, 0x00,
513 : 0x11
514 : };
515 19 : return expand_rtx (expand_encoding, operands);
516 : }
517 :
518 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:30290 */
519 : rtx
520 19 : gen_rdseedhi (const rtx operand0)
521 : {
522 19 : rtx operands[1] ATTRIBUTE_UNUSED = { operand0 };
523 19 : static const uint8_t expand_encoding[] = {
524 : 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x1b, 0x10,
525 : 0x01, 0x27, 0x00, 0x2d, 0x1f, 0x30, 0x08, 0x11,
526 : 0x1b, 0x08, 0x01, 0x27, 0x00, 0x2d
527 : };
528 19 : return expand_rtx (expand_encoding, operands);
529 : }
530 :
531 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:30352 */
532 : rtx
533 20 : gen_wrssdi (const rtx operand0, const rtx operand1)
534 : {
535 20 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
536 20 : static const uint8_t expand_encoding[] = {
537 : 0x1b, 0x00, 0x02, 0x01, 0x00, 0x01, 0x01, 0x3f
538 : };
539 20 : return expand_rtx (expand_encoding, operands);
540 : }
541 :
542 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:30475 */
543 : rtx
544 19 : gen_clflushopt (const rtx operand0)
545 : {
546 19 : rtx operands[1] ATTRIBUTE_UNUSED = { operand0 };
547 19 : static const uint8_t expand_encoding[] = {
548 : 0x1b, 0x00, 0x01, 0x01, 0x00, 0x34
549 : };
550 19 : return expand_rtx (expand_encoding, operands);
551 : }
552 :
553 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:30583 */
554 : rtx
555 19 : gen_wbnoinvd (void)
556 : {
557 19 : static const uint8_t expand_encoding[] = {
558 : 0x1b, 0x00, 0x01, 0x27, 0x00, 0x27
559 : };
560 19 : return expand_rtx (expand_encoding, nullptr);
561 : }
562 :
563 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:30623 */
564 : rtx
565 0 : gen_enqcmds_si (const rtx operand0, const rtx operand1)
566 : {
567 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
568 0 : static const uint8_t expand_encoding[] = {
569 : 0x1f, 0x30, 0x0c, 0x11, 0x1b, 0x0c, 0x02, 0x01,
570 : 0x00, 0x01, 0x01, 0x50
571 : };
572 0 : return expand_rtx (expand_encoding, operands);
573 : }
574 :
575 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:30689 */
576 : rtx
577 0 : gen_tpause (const rtx operand0, const rtx operand1)
578 : {
579 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
580 0 : static const uint8_t expand_encoding[] = {
581 : 0x1f, 0x30, 0x08, 0x11, 0x1b, 0x08, 0x02, 0x01,
582 : 0x00, 0x01, 0x01, 0x47
583 : };
584 0 : return expand_rtx (expand_encoding, operands);
585 : }
586 :
587 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:30880 */
588 : rtx
589 12 : gen_movrssi (const rtx operand0, const rtx operand1)
590 : {
591 12 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
592 12 : static const uint8_t expand_encoding[] = {
593 : 0x1f, 0x01, 0x00, 0x1b, 0x11, 0x01, 0x01, 0x01,
594 : 0x59
595 : };
596 12 : return expand_rtx (expand_encoding, operands);
597 : }
598 :
599 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:1054 */
600 : rtx
601 15 : gen_mmx_hsubv2sf3 (const rtx operand0, const rtx operand1, const rtx operand2)
602 : {
603 15 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
604 15 : static const uint8_t expand_encoding[] = {
605 : 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x67, 0x3c, 0x2d,
606 : 0x81, 0x0a, 0x2d, 0x01, 0x01, 0x17, 0x00, 0x01,
607 : 0x27, 0x00, 0x81, 0x0a, 0x2d, 0x01, 0x01, 0x17,
608 : 0x00, 0x01, 0x27, 0x01, 0x3c, 0x2d, 0x81, 0x0a,
609 : 0x2d, 0x01, 0x02, 0x17, 0x00, 0x01, 0x27, 0x00,
610 : 0x81, 0x0a, 0x2d, 0x01, 0x02, 0x17, 0x00, 0x01,
611 : 0x27, 0x01
612 : };
613 15 : return expand_rtx (expand_encoding, operands);
614 : }
615 :
616 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:1644 */
617 : rtx
618 14 : gen_mmx_pi2fw (const rtx operand0, const rtx operand1)
619 : {
620 14 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
621 14 : static const uint8_t expand_encoding[] = {
622 : 0x1f, 0x01, 0x00, 0x73, 0x67, 0x6e, 0x4a, 0x70,
623 : 0x46, 0x01, 0x01
624 : };
625 14 : return expand_rtx (expand_encoding, operands);
626 : }
627 :
628 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:2604 */
629 : rtx
630 0 : gen_xorv2hf3 (const rtx operand0, const rtx operand1, const rtx operand2)
631 : {
632 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
633 0 : static const uint8_t expand_encoding[] = {
634 : 0x1f, 0x01, 0x00, 0x4b, 0x63, 0x01, 0x01, 0x01,
635 : 0x02
636 : };
637 0 : return expand_rtx (expand_encoding, operands);
638 : }
639 :
640 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:3266 */
641 : rtx
642 25 : gen_subv2qi3 (const rtx operand0, const rtx operand1, const rtx operand2)
643 : {
644 25 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
645 25 : static const uint8_t expand_encoding[] = {
646 : 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x3c, 0x44,
647 : 0x01, 0x01, 0x01, 0x02, 0x05, 0x02, 0x11
648 : };
649 25 : return expand_rtx (expand_encoding, operands);
650 : }
651 :
652 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:3365 */
653 : rtx
654 0 : gen_usaddv2hi3 (const rtx operand0, const rtx operand1, const rtx operand2)
655 : {
656 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
657 0 : static const uint8_t expand_encoding[] = {
658 : 0x1f, 0x01, 0x00, 0x81, 0x0f, 0x46, 0x01, 0x01,
659 : 0x01, 0x02
660 : };
661 0 : return expand_rtx (expand_encoding, operands);
662 : }
663 :
664 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:3686 */
665 : rtx
666 2 : gen_sminv2si3 (const rtx operand0, const rtx operand1, const rtx operand2)
667 : {
668 2 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
669 2 : static const uint8_t expand_encoding[] = {
670 : 0x1f, 0x01, 0x00, 0x52, 0x4a, 0x01, 0x01, 0x01,
671 : 0x02
672 : };
673 2 : return expand_rtx (expand_encoding, operands);
674 : }
675 :
676 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:3764 */
677 : rtx
678 0 : gen_uminv2si3 (const rtx operand0, const rtx operand1, const rtx operand2)
679 : {
680 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
681 0 : static const uint8_t expand_encoding[] = {
682 : 0x1f, 0x01, 0x00, 0x54, 0x4a, 0x01, 0x01, 0x01,
683 : 0x02
684 : };
685 0 : return expand_rtx (expand_encoding, operands);
686 : }
687 :
688 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:3863 */
689 : rtx
690 4 : gen_absv4qi2 (const rtx operand0, const rtx operand1)
691 : {
692 4 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
693 4 : static const uint8_t expand_encoding[] = {
694 : 0x1f, 0x01, 0x00, 0x7b, 0x45, 0x01, 0x01
695 : };
696 4 : return expand_rtx (expand_encoding, operands);
697 : }
698 :
699 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:3918 */
700 : rtx
701 2190 : gen_mmx_lshrv1di3 (const rtx operand0, const rtx operand1, const rtx operand2)
702 : {
703 2190 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
704 2190 : static const uint8_t expand_encoding[] = {
705 : 0x1f, 0x01, 0x00, 0x50, 0x4b, 0x01, 0x01, 0x01,
706 : 0x02
707 : };
708 2190 : return expand_rtx (expand_encoding, operands);
709 : }
710 :
711 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:4197 */
712 : rtx
713 54 : gen_mmx_gtv4hi3 (const rtx operand0, const rtx operand1, const rtx operand2)
714 : {
715 54 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
716 54 : static const uint8_t expand_encoding[] = {
717 : 0x1f, 0x01, 0x00, 0x5f, 0x49, 0x01, 0x01, 0x01,
718 : 0x02
719 : };
720 54 : return expand_rtx (expand_encoding, operands);
721 : }
722 :
723 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:4577 */
724 : rtx
725 5 : gen_one_cmplv2hi2 (const rtx operand0, const rtx operand1)
726 : {
727 5 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
728 5 : static const uint8_t expand_encoding[] = {
729 : 0x1f, 0x01, 0x00, 0x4c, 0x46, 0x01, 0x01
730 : };
731 5 : return expand_rtx (expand_encoding, operands);
732 : }
733 :
734 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:4914 */
735 : rtx
736 310 : gen_mmx_punpcklbw (const rtx operand0, const rtx operand1, const rtx operand2)
737 : {
738 310 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
739 310 : static const uint8_t expand_encoding[] = {
740 : 0x1f, 0x01, 0x00, 0x81, 0x0a, 0x48, 0x81, 0x0b,
741 : 0x4f, 0x01, 0x01, 0x01, 0x02, 0x17, 0x00, 0x08,
742 : 0x27, 0x00, 0x27, 0x08, 0x27, 0x01, 0x27, 0x09,
743 : 0x27, 0x02, 0x27, 0x0a, 0x27, 0x03, 0x27, 0x0b
744 : };
745 310 : return expand_rtx (expand_encoding, operands);
746 : }
747 :
748 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:5105 */
749 : rtx
750 33 : gen_sse4_1_sign_extendv2qiv2si2 (const rtx operand0, const rtx operand1)
751 : {
752 33 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
753 33 : static const uint8_t expand_encoding[] = {
754 : 0x1f, 0x01, 0x00, 0x6e, 0x4a, 0x81, 0x0a, 0x44,
755 : 0x01, 0x01, 0x17, 0x00, 0x02, 0x27, 0x00, 0x27,
756 : 0x01
757 : };
758 33 : return expand_rtx (expand_encoding, operands);
759 : }
760 :
761 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:5581 */
762 : rtx
763 0 : gen_mmx_pshufwv4hf_1 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
764 : {
765 0 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
766 0 : static const uint8_t expand_encoding[] = {
767 : 0x1f, 0x01, 0x00, 0x81, 0x0a, 0x66, 0x01, 0x01,
768 : 0x17, 0x00, 0x04, 0x01, 0x02, 0x01, 0x03, 0x01,
769 : 0x04, 0x01, 0x05
770 : };
771 0 : return expand_rtx (expand_encoding, operands);
772 : }
773 :
774 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:6993 */
775 : rtx
776 1 : gen_popcountv2hi2 (const rtx operand0, const rtx operand1)
777 : {
778 1 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
779 1 : static const uint8_t expand_encoding[] = {
780 : 0x1f, 0x01, 0x00, 0x81, 0x02, 0x46, 0x01, 0x01
781 : };
782 1 : return expand_rtx (expand_encoding, operands);
783 : }
784 :
785 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:1486 */
786 : rtx
787 0 : gen_movv4si_internal (const rtx operand0, const rtx operand1)
788 : {
789 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
790 0 : static const uint8_t expand_encoding[] = {
791 : 0x1f, 0x01, 0x00, 0x01, 0x01
792 : };
793 0 : return expand_rtx (expand_encoding, operands);
794 : }
795 :
796 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:1486 */
797 : rtx
798 0 : gen_movv32bf_internal (const rtx operand0, const rtx operand1)
799 : {
800 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
801 0 : static const uint8_t expand_encoding[] = {
802 : 0x1f, 0x01, 0x00, 0x01, 0x01
803 : };
804 0 : return expand_rtx (expand_encoding, operands);
805 : }
806 :
807 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:1708 */
808 : rtx
809 76 : gen_avx512f_movsf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
810 : {
811 76 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
812 76 : static const uint8_t expand_encoding[] = {
813 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6b, 0x81, 0x09,
814 : 0x6b, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01,
815 : 0x01, 0x27, 0x01
816 : };
817 76 : return expand_rtx (expand_encoding, operands);
818 : }
819 :
820 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:1769 */
821 : rtx
822 12 : gen_avx512vl_blendmv2di (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
823 : {
824 12 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
825 12 : static const uint8_t expand_encoding[] = {
826 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x52, 0x01, 0x02,
827 : 0x01, 0x01, 0x01, 0x03
828 : };
829 12 : return expand_rtx (expand_encoding, operands);
830 : }
831 :
832 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:1805 */
833 : rtx
834 12 : gen_avx512bw_blendmv32hi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
835 : {
836 12 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
837 12 : static const uint8_t expand_encoding[] = {
838 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5a, 0x01, 0x02,
839 : 0x01, 0x01, 0x01, 0x03
840 : };
841 12 : return expand_rtx (expand_encoding, operands);
842 : }
843 :
844 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2013 */
845 : rtx
846 11 : gen_avx_lddqu256 (const rtx operand0, const rtx operand1)
847 : {
848 11 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
849 11 : static const uint8_t expand_encoding[] = {
850 : 0x1f, 0x01, 0x00, 0x1a, 0x54, 0x01, 0x01, 0x01,
851 : 0x78
852 : };
853 11 : return expand_rtx (expand_encoding, operands);
854 : }
855 :
856 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2047 */
857 : rtx
858 12 : gen_sse2_movntv2df (const rtx operand0, const rtx operand1)
859 : {
860 12 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
861 12 : static const uint8_t expand_encoding[] = {
862 : 0x1f, 0x01, 0x00, 0x1a, 0x6c, 0x01, 0x01, 0x01,
863 : 0x76
864 : };
865 12 : return expand_rtx (expand_encoding, operands);
866 : }
867 :
868 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2120 */
869 : rtx
870 11 : gen_kandsi (const rtx operand0, const rtx operand1, const rtx operand2)
871 : {
872 11 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
873 11 : static const uint8_t expand_encoding[] = {
874 : 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x49, 0x11,
875 : 0x01, 0x01, 0x01, 0x02, 0x1a, 0x00, 0x01, 0x27,
876 : 0x00, 0x81, 0x2f
877 : };
878 11 : return expand_rtx (expand_encoding, operands);
879 : }
880 :
881 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2203 */
882 : rtx
883 12 : gen_kxnorqi (const rtx operand0, const rtx operand1, const rtx operand2)
884 : {
885 12 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
886 12 : static const uint8_t expand_encoding[] = {
887 : 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x4c, 0x0f,
888 : 0x4b, 0x0f, 0x01, 0x01, 0x01, 0x02, 0x1a, 0x00,
889 : 0x01, 0x27, 0x00, 0x81, 0x2f
890 : };
891 12 : return expand_rtx (expand_encoding, operands);
892 : }
893 :
894 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2279 */
895 : rtx
896 11 : gen_kaddsi (const rtx operand0, const rtx operand1, const rtx operand2)
897 : {
898 11 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
899 11 : static const uint8_t expand_encoding[] = {
900 : 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x3b, 0x11,
901 : 0x01, 0x01, 0x01, 0x02, 0x1a, 0x00, 0x01, 0x27,
902 : 0x00, 0x81, 0x2f
903 : };
904 11 : return expand_rtx (expand_encoding, operands);
905 : }
906 :
907 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2361 */
908 : rtx
909 44 : gen_ktestqi (const rtx operand0, const rtx operand1)
910 : {
911 44 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
912 44 : static const uint8_t expand_encoding[] = {
913 : 0x1f, 0x30, 0x02, 0x11, 0x1a, 0x02, 0x02, 0x01,
914 : 0x00, 0x01, 0x01, 0x81, 0x31
915 : };
916 44 : return expand_rtx (expand_encoding, operands);
917 : }
918 :
919 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2395 */
920 : rtx
921 0 : gen_kortestsi_ccz (const rtx operand0, const rtx operand1)
922 : {
923 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
924 0 : static const uint8_t expand_encoding[] = {
925 : 0x1f, 0x30, 0x0c, 0x11, 0x1a, 0x0c, 0x02, 0x01,
926 : 0x00, 0x01, 0x01, 0x81, 0x30
927 : };
928 0 : return expand_rtx (expand_encoding, operands);
929 : }
930 :
931 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2736 */
932 : rtx
933 0 : gen_avx512fp16_vmsubv8hf3_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
934 : {
935 0 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
936 0 : static const uint8_t expand_encoding[] = {
937 : 0x1f, 0x01, 0x00, 0x1a, 0x6a, 0x02, 0x81, 0x09,
938 : 0x6a, 0x3c, 0x6a, 0x01, 0x01, 0x01, 0x02, 0x01,
939 : 0x01, 0x27, 0x01, 0x01, 0x03, 0x81, 0x33
940 : };
941 0 : return expand_rtx (expand_encoding, operands);
942 : }
943 :
944 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2736 */
945 : rtx
946 46 : gen_sse_vmsubv4sf3_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
947 : {
948 46 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
949 46 : static const uint8_t expand_encoding[] = {
950 : 0x1f, 0x01, 0x00, 0x1a, 0x6b, 0x02, 0x81, 0x09,
951 : 0x6b, 0x81, 0x09, 0x6b, 0x3c, 0x6b, 0x01, 0x01,
952 : 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01, 0x01,
953 : 0x27, 0x01, 0x01, 0x05, 0x81, 0x33
954 : };
955 46 : return expand_rtx (expand_encoding, operands);
956 : }
957 :
958 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2827 */
959 : rtx
960 33 : gen_avx512fp16_vmmulv8hf3_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
961 : {
962 33 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
963 33 : static const uint8_t expand_encoding[] = {
964 : 0x1f, 0x01, 0x00, 0x1a, 0x6a, 0x02, 0x81, 0x09,
965 : 0x6a, 0x81, 0x09, 0x6a, 0x3e, 0x6a, 0x01, 0x01,
966 : 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01, 0x01,
967 : 0x27, 0x01, 0x01, 0x05, 0x81, 0x33
968 : };
969 33 : return expand_rtx (expand_encoding, operands);
970 : }
971 :
972 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2827 */
973 : rtx
974 46 : gen_sse_vmdivv4sf3_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
975 : {
976 46 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
977 46 : static const uint8_t expand_encoding[] = {
978 : 0x1f, 0x01, 0x00, 0x1a, 0x6b, 0x02, 0x81, 0x09,
979 : 0x6b, 0x81, 0x09, 0x6b, 0x43, 0x6b, 0x01, 0x01,
980 : 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01, 0x01,
981 : 0x27, 0x01, 0x01, 0x05, 0x81, 0x33
982 : };
983 46 : return expand_rtx (expand_encoding, operands);
984 : }
985 :
986 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2928 */
987 : rtx
988 33 : gen_avx512fp16_divv32hf3_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
989 : {
990 33 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
991 33 : static const uint8_t expand_encoding[] = {
992 : 0x1f, 0x01, 0x00, 0x1a, 0x73, 0x02, 0x81, 0x09,
993 : 0x73, 0x43, 0x73, 0x01, 0x01, 0x01, 0x02, 0x01,
994 : 0x03, 0x01, 0x04, 0x01, 0x05, 0x81, 0x33
995 : };
996 33 : return expand_rtx (expand_encoding, operands);
997 : }
998 :
999 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2928 */
1000 : rtx
1001 0 : gen_avx512f_divv8df3 (const rtx operand0, const rtx operand1, const rtx operand2)
1002 : {
1003 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
1004 0 : static const uint8_t expand_encoding[] = {
1005 : 0x1f, 0x01, 0x00, 0x43, 0x75, 0x01, 0x01, 0x01,
1006 : 0x02
1007 : };
1008 0 : return expand_rtx (expand_encoding, operands);
1009 : }
1010 :
1011 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2942 */
1012 : rtx
1013 12 : gen_sse_rcpv4sf2 (const rtx operand0, const rtx operand1)
1014 : {
1015 12 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
1016 12 : static const uint8_t expand_encoding[] = {
1017 : 0x1f, 0x01, 0x00, 0x1a, 0x6b, 0x01, 0x01, 0x01,
1018 : 0x37
1019 : };
1020 12 : return expand_rtx (expand_encoding, operands);
1021 : }
1022 :
1023 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3009 */
1024 : rtx
1025 0 : gen_avx512fp16_vmrcpv8hf2 (const rtx operand0, const rtx operand1, const rtx operand2)
1026 : {
1027 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
1028 0 : static const uint8_t expand_encoding[] = {
1029 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6a, 0x1a, 0x6a,
1030 : 0x01, 0x01, 0x01, 0x37, 0x01, 0x02, 0x27, 0x01
1031 : };
1032 0 : return expand_rtx (expand_encoding, operands);
1033 : }
1034 :
1035 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3048 */
1036 : rtx
1037 12 : gen_srcp14v4sf (const rtx operand0, const rtx operand1, const rtx operand2)
1038 : {
1039 12 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
1040 12 : static const uint8_t expand_encoding[] = {
1041 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6b, 0x1a, 0x6b,
1042 : 0x01, 0x01, 0x01, 0x81, 0x22, 0x01, 0x02, 0x27,
1043 : 0x01
1044 : };
1045 12 : return expand_rtx (expand_encoding, operands);
1046 : }
1047 :
1048 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3102 */
1049 : rtx
1050 0 : gen_avx512fp16_sqrtv8hf2 (const rtx operand0, const rtx operand1)
1051 : {
1052 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
1053 0 : static const uint8_t expand_encoding[] = {
1054 : 0x1f, 0x01, 0x00, 0x7c, 0x6a, 0x01, 0x01
1055 : };
1056 0 : return expand_rtx (expand_encoding, operands);
1057 : }
1058 :
1059 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3102 */
1060 : rtx
1061 21 : gen_sse_sqrtv4sf2 (const rtx operand0, const rtx operand1)
1062 : {
1063 21 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
1064 21 : static const uint8_t expand_encoding[] = {
1065 : 0x1f, 0x01, 0x00, 0x7c, 0x6b, 0x01, 0x01
1066 : };
1067 21 : return expand_rtx (expand_encoding, operands);
1068 : }
1069 :
1070 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3102 */
1071 : rtx
1072 0 : gen_sse2_sqrtv2df2 (const rtx operand0, const rtx operand1)
1073 : {
1074 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
1075 0 : static const uint8_t expand_encoding[] = {
1076 : 0x1f, 0x01, 0x00, 0x7c, 0x6c, 0x01, 0x01
1077 : };
1078 0 : return expand_rtx (expand_encoding, operands);
1079 : }
1080 :
1081 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3117 */
1082 : rtx
1083 0 : gen_sse_vmsqrtv4sf2_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1084 : {
1085 0 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1086 0 : static const uint8_t expand_encoding[] = {
1087 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6b, 0x81, 0x09,
1088 : 0x6b, 0x7c, 0x6b, 0x01, 0x01, 0x01, 0x03, 0x01,
1089 : 0x04, 0x01, 0x02, 0x27, 0x01
1090 : };
1091 0 : return expand_rtx (expand_encoding, operands);
1092 : }
1093 :
1094 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3186 */
1095 : rtx
1096 36 : gen_avx512fp16_rsqrtv16hf2_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
1097 : {
1098 36 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
1099 36 : static const uint8_t expand_encoding[] = {
1100 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6e, 0x1a, 0x6e,
1101 : 0x01, 0x01, 0x01, 0x38, 0x01, 0x02, 0x01, 0x03
1102 : };
1103 36 : return expand_rtx (expand_encoding, operands);
1104 : }
1105 :
1106 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3223 */
1107 : rtx
1108 24 : gen_rsqrt14_v4sf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1109 : {
1110 24 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1111 24 : static const uint8_t expand_encoding[] = {
1112 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6b, 0x81, 0x09,
1113 : 0x6b, 0x1a, 0x6b, 0x01, 0x01, 0x01, 0x81, 0x23,
1114 : 0x01, 0x03, 0x01, 0x04, 0x01, 0x02, 0x27, 0x01
1115 : };
1116 24 : return expand_rtx (expand_encoding, operands);
1117 : }
1118 :
1119 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3481 */
1120 : rtx
1121 0 : gen_ieee_minv32hf3_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
1122 : {
1123 0 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
1124 0 : static const uint8_t expand_encoding[] = {
1125 : 0x1f, 0x01, 0x00, 0x1a, 0x73, 0x02, 0x1a, 0x73,
1126 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x3f, 0x01, 0x03,
1127 : 0x81, 0x33
1128 : };
1129 0 : return expand_rtx (expand_encoding, operands);
1130 : }
1131 :
1132 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3481 */
1133 : rtx
1134 68 : gen_ieee_minv8hf3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1135 : {
1136 68 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1137 68 : static const uint8_t expand_encoding[] = {
1138 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6a, 0x1a, 0x6a,
1139 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x3f, 0x01, 0x03,
1140 : 0x01, 0x04
1141 : };
1142 68 : return expand_rtx (expand_encoding, operands);
1143 : }
1144 :
1145 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3481 */
1146 : rtx
1147 12 : gen_ieee_minv8sf3 (const rtx operand0, const rtx operand1, const rtx operand2)
1148 : {
1149 12 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
1150 12 : static const uint8_t expand_encoding[] = {
1151 : 0x1f, 0x01, 0x00, 0x1a, 0x6f, 0x02, 0x01, 0x01,
1152 : 0x01, 0x02, 0x3f
1153 : };
1154 12 : return expand_rtx (expand_encoding, operands);
1155 : }
1156 :
1157 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3481 */
1158 : rtx
1159 62 : gen_ieee_maxv8df3_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
1160 : {
1161 62 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
1162 62 : static const uint8_t expand_encoding[] = {
1163 : 0x1f, 0x01, 0x00, 0x1a, 0x75, 0x02, 0x81, 0x09,
1164 : 0x75, 0x1a, 0x75, 0x02, 0x01, 0x01, 0x01, 0x02,
1165 : 0x40, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x81,
1166 : 0x33
1167 : };
1168 62 : return expand_rtx (expand_encoding, operands);
1169 : }
1170 :
1171 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3481 */
1172 : rtx
1173 22 : gen_ieee_minv2df3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1174 : {
1175 22 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1176 22 : static const uint8_t expand_encoding[] = {
1177 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6c, 0x1a, 0x6c,
1178 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x3f, 0x01, 0x03,
1179 : 0x01, 0x04
1180 : };
1181 22 : return expand_rtx (expand_encoding, operands);
1182 : }
1183 :
1184 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3573 */
1185 : rtx
1186 8 : gen_sse_ieee_vmmaxv4sf3_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
1187 : {
1188 8 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
1189 8 : static const uint8_t expand_encoding[] = {
1190 : 0x1f, 0x01, 0x00, 0x1a, 0x6b, 0x02, 0x81, 0x09,
1191 : 0x6b, 0x1a, 0x6b, 0x02, 0x01, 0x01, 0x01, 0x02,
1192 : 0x40, 0x01, 0x01, 0x27, 0x01, 0x01, 0x03, 0x81,
1193 : 0x33
1194 : };
1195 8 : return expand_rtx (expand_encoding, operands);
1196 : }
1197 :
1198 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3573 */
1199 : rtx
1200 12 : gen_sse2_ieee_vmminv2df3 (const rtx operand0, const rtx operand1, const rtx operand2)
1201 : {
1202 12 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
1203 12 : static const uint8_t expand_encoding[] = {
1204 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6c, 0x1a, 0x6c,
1205 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x3f, 0x01, 0x01,
1206 : 0x27, 0x01
1207 : };
1208 12 : return expand_rtx (expand_encoding, operands);
1209 : }
1210 :
1211 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3742 */
1212 : rtx
1213 11 : gen_avx_haddv4df3 (const rtx operand0, const rtx operand1, const rtx operand2)
1214 : {
1215 11 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
1216 11 : static const uint8_t expand_encoding[] = {
1217 : 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x70, 0x81, 0x0b,
1218 : 0x6c, 0x3b, 0x2e, 0x81, 0x0a, 0x2e, 0x01, 0x01,
1219 : 0x17, 0x00, 0x01, 0x27, 0x00, 0x81, 0x0a, 0x2e,
1220 : 0x01, 0x01, 0x17, 0x00, 0x01, 0x27, 0x01, 0x3b,
1221 : 0x2e, 0x81, 0x0a, 0x2e, 0x01, 0x02, 0x17, 0x00,
1222 : 0x01, 0x27, 0x00, 0x81, 0x0a, 0x2e, 0x01, 0x02,
1223 : 0x17, 0x00, 0x01, 0x27, 0x01, 0x81, 0x0b, 0x6c,
1224 : 0x3b, 0x2e, 0x81, 0x0a, 0x2e, 0x01, 0x01, 0x17,
1225 : 0x00, 0x01, 0x27, 0x02, 0x81, 0x0a, 0x2e, 0x01,
1226 : 0x01, 0x17, 0x00, 0x01, 0x27, 0x03, 0x3b, 0x2e,
1227 : 0x81, 0x0a, 0x2e, 0x01, 0x02, 0x17, 0x00, 0x01,
1228 : 0x27, 0x02, 0x81, 0x0a, 0x2e, 0x01, 0x02, 0x17,
1229 : 0x00, 0x01, 0x27, 0x03
1230 : };
1231 11 : return expand_rtx (expand_encoding, operands);
1232 : }
1233 :
1234 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4281 */
1235 : rtx
1236 48 : gen_reducepv16sf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1237 : {
1238 48 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1239 48 : static const uint8_t expand_encoding[] = {
1240 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x74, 0x1a, 0x74,
1241 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x81, 0x41, 0x01,
1242 : 0x03, 0x01, 0x04
1243 : };
1244 48 : return expand_rtx (expand_encoding, operands);
1245 : }
1246 :
1247 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4281 */
1248 : rtx
1249 24 : gen_reducepv8df_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
1250 : {
1251 24 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
1252 24 : static const uint8_t expand_encoding[] = {
1253 : 0x1f, 0x01, 0x00, 0x1a, 0x75, 0x02, 0x81, 0x09,
1254 : 0x75, 0x1a, 0x75, 0x02, 0x01, 0x01, 0x01, 0x02,
1255 : 0x81, 0x41, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05,
1256 : 0x81, 0x33
1257 : };
1258 24 : return expand_rtx (expand_encoding, operands);
1259 : }
1260 :
1261 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4294 */
1262 : rtx
1263 0 : gen_reducesv4sf_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1264 : {
1265 0 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1266 0 : static const uint8_t expand_encoding[] = {
1267 : 0x1f, 0x01, 0x00, 0x1a, 0x6b, 0x02, 0x81, 0x09,
1268 : 0x6b, 0x1a, 0x6b, 0x03, 0x01, 0x01, 0x01, 0x02,
1269 : 0x01, 0x03, 0x81, 0x41, 0x01, 0x01, 0x27, 0x01,
1270 : 0x01, 0x04, 0x81, 0x33
1271 : };
1272 0 : return expand_rtx (expand_encoding, operands);
1273 : }
1274 :
1275 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4566 */
1276 : rtx
1277 56 : gen_avx_vmcmpv2df3 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
1278 : {
1279 56 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
1280 56 : static const uint8_t expand_encoding[] = {
1281 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6c, 0x1a, 0x6c,
1282 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x3c,
1283 : 0x01, 0x01, 0x27, 0x01
1284 : };
1285 56 : return expand_rtx (expand_encoding, operands);
1286 : }
1287 :
1288 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4651 */
1289 : rtx
1290 10 : gen_avx512bw_cmpv32hf3_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
1291 : {
1292 10 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
1293 10 : static const uint8_t expand_encoding[] = {
1294 : 0x1f, 0x01, 0x00, 0x1a, 0x11, 0x02, 0x49, 0x11,
1295 : 0x1a, 0x11, 0x03, 0x01, 0x01, 0x01, 0x02, 0x01,
1296 : 0x03, 0x3c, 0x01, 0x04, 0x01, 0x05, 0x81, 0x33
1297 : };
1298 10 : return expand_rtx (expand_encoding, operands);
1299 : }
1300 :
1301 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4651 */
1302 : rtx
1303 0 : gen_avx512vl_cmpv4sf3 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
1304 : {
1305 0 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
1306 0 : static const uint8_t expand_encoding[] = {
1307 : 0x1f, 0x01, 0x00, 0x1a, 0x0f, 0x03, 0x01, 0x01,
1308 : 0x01, 0x02, 0x01, 0x03, 0x3c
1309 : };
1310 0 : return expand_rtx (expand_encoding, operands);
1311 : }
1312 :
1313 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4651 */
1314 : rtx
1315 91 : gen_avx512vl_cmpv2df3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1316 : {
1317 91 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1318 91 : static const uint8_t expand_encoding[] = {
1319 : 0x1f, 0x01, 0x00, 0x49, 0x0f, 0x1a, 0x0f, 0x03,
1320 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x3c, 0x01,
1321 : 0x04
1322 : };
1323 91 : return expand_rtx (expand_encoding, operands);
1324 : }
1325 :
1326 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4846 */
1327 : rtx
1328 0 : gen_avx512vl_cmpv8hi3 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
1329 : {
1330 0 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
1331 0 : static const uint8_t expand_encoding[] = {
1332 : 0x1f, 0x01, 0x00, 0x1a, 0x0f, 0x03, 0x01, 0x01,
1333 : 0x01, 0x02, 0x01, 0x03, 0x3c
1334 : };
1335 0 : return expand_rtx (expand_encoding, operands);
1336 : }
1337 :
1338 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4846 */
1339 : rtx
1340 149 : gen_avx512f_cmpv8di3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1341 : {
1342 149 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1343 149 : static const uint8_t expand_encoding[] = {
1344 : 0x1f, 0x01, 0x00, 0x49, 0x0f, 0x1a, 0x0f, 0x03,
1345 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x3c, 0x01,
1346 : 0x04
1347 : };
1348 149 : return expand_rtx (expand_encoding, operands);
1349 : }
1350 :
1351 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5059 */
1352 : rtx
1353 6 : gen_avx512bw_ucmpv32hi3 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
1354 : {
1355 6 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
1356 6 : static const uint8_t expand_encoding[] = {
1357 : 0x1f, 0x01, 0x00, 0x1a, 0x11, 0x03, 0x01, 0x01,
1358 : 0x01, 0x02, 0x01, 0x03, 0x81, 0x1e
1359 : };
1360 6 : return expand_rtx (expand_encoding, operands);
1361 : }
1362 :
1363 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5059 */
1364 : rtx
1365 194 : gen_avx512vl_ucmpv8si3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1366 : {
1367 194 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1368 194 : static const uint8_t expand_encoding[] = {
1369 : 0x1f, 0x01, 0x00, 0x49, 0x0f, 0x1a, 0x0f, 0x03,
1370 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81, 0x1e,
1371 : 0x01, 0x04
1372 : };
1373 194 : return expand_rtx (expand_encoding, operands);
1374 : }
1375 :
1376 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5191 */
1377 : rtx
1378 0 : gen_avx512f_vmcmpv4sf3 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
1379 : {
1380 0 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
1381 0 : static const uint8_t expand_encoding[] = {
1382 : 0x1f, 0x01, 0x00, 0x49, 0x0f, 0x1a, 0x0f, 0x03,
1383 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x3c, 0x27,
1384 : 0x01
1385 : };
1386 0 : return expand_rtx (expand_encoding, operands);
1387 : }
1388 :
1389 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5207 */
1390 : rtx
1391 132 : gen_avx512f_vmcmpv2df3_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
1392 : {
1393 132 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
1394 132 : static const uint8_t expand_encoding[] = {
1395 : 0x1f, 0x01, 0x00, 0x1a, 0x0f, 0x02, 0x49, 0x0f,
1396 : 0x1a, 0x0f, 0x03, 0x01, 0x01, 0x01, 0x02, 0x01,
1397 : 0x03, 0x3c, 0x49, 0x0f, 0x01, 0x04, 0x27, 0x01,
1398 : 0x01, 0x05, 0x81, 0x33
1399 : };
1400 132 : return expand_rtx (expand_encoding, operands);
1401 : }
1402 :
1403 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5225 */
1404 : rtx
1405 14 : gen_avx10_2_ucomxdf (const rtx operand0, const rtx operand1)
1406 : {
1407 14 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
1408 14 : static const uint8_t expand_encoding[] = {
1409 : 0x1f, 0x30, 0x0d, 0x11, 0x1a, 0x0d, 0x01, 0x1a,
1410 : 0x0d, 0x02, 0x81, 0x0a, 0x2e, 0x01, 0x00, 0x17,
1411 : 0x00, 0x01, 0x27, 0x00, 0x81, 0x0a, 0x2e, 0x01,
1412 : 0x01, 0x17, 0x00, 0x01, 0x27, 0x00, 0x3e, 0x1b
1413 : };
1414 14 : return expand_rtx (expand_encoding, operands);
1415 : }
1416 :
1417 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5241 */
1418 : rtx
1419 27 : gen_sse2_comi_round (const rtx operand0, const rtx operand1, const rtx operand2)
1420 : {
1421 27 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
1422 27 : static const uint8_t expand_encoding[] = {
1423 : 0x1f, 0x30, 0x0d, 0x11, 0x1a, 0x0d, 0x02, 0x3a,
1424 : 0x0d, 0x81, 0x0a, 0x2e, 0x01, 0x00, 0x17, 0x00,
1425 : 0x01, 0x27, 0x00, 0x81, 0x0a, 0x2e, 0x01, 0x01,
1426 : 0x17, 0x00, 0x01, 0x27, 0x00, 0x01, 0x02, 0x81,
1427 : 0x33
1428 : };
1429 27 : return expand_rtx (expand_encoding, operands);
1430 : }
1431 :
1432 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5611 */
1433 : rtx
1434 33 : gen_sse_andnotv4sf3 (const rtx operand0, const rtx operand1, const rtx operand2)
1435 : {
1436 33 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
1437 33 : static const uint8_t expand_encoding[] = {
1438 : 0x1f, 0x01, 0x00, 0x49, 0x6b, 0x4c, 0x6b, 0x01,
1439 : 0x01, 0x01, 0x02
1440 : };
1441 33 : return expand_rtx (expand_encoding, operands);
1442 : }
1443 :
1444 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5687 */
1445 : rtx
1446 37 : gen_avx512f_andnotv16sf3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1447 : {
1448 37 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1449 37 : static const uint8_t expand_encoding[] = {
1450 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x74, 0x49, 0x74,
1451 : 0x4c, 0x74, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03,
1452 : 0x01, 0x04
1453 : };
1454 37 : return expand_rtx (expand_encoding, operands);
1455 : }
1456 :
1457 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6044 */
1458 : rtx
1459 0 : gen_xorsf3 (const rtx operand0, const rtx operand1, const rtx operand2)
1460 : {
1461 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
1462 0 : static const uint8_t expand_encoding[] = {
1463 : 0x1f, 0x01, 0x00, 0x4b, 0x2d, 0x01, 0x01, 0x01,
1464 : 0x02
1465 : };
1466 0 : return expand_rtx (expand_encoding, operands);
1467 : }
1468 :
1469 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6317 */
1470 : rtx
1471 13 : gen_fma_fmadd_v8sf_maskz_1 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
1472 : {
1473 13 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
1474 13 : static const uint8_t expand_encoding[] = {
1475 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6f, 0x81, 0x19,
1476 : 0x6f, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01,
1477 : 0x04, 0x01, 0x05
1478 : };
1479 13 : return expand_rtx (expand_encoding, operands);
1480 : }
1481 :
1482 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6355 */
1483 : rtx
1484 23 : gen_avx512fp16_fmadd_v8hf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1485 : {
1486 23 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1487 23 : static const uint8_t expand_encoding[] = {
1488 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6a, 0x81, 0x19,
1489 : 0x6a, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01,
1490 : 0x01, 0x01, 0x04
1491 : };
1492 23 : return expand_rtx (expand_encoding, operands);
1493 : }
1494 :
1495 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6372 */
1496 : rtx
1497 23 : gen_avx512bw_fmadd_v32hf_mask3_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
1498 : {
1499 23 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
1500 23 : static const uint8_t expand_encoding[] = {
1501 : 0x1f, 0x01, 0x00, 0x1a, 0x73, 0x02, 0x81, 0x09,
1502 : 0x73, 0x81, 0x19, 0x73, 0x01, 0x01, 0x01, 0x02,
1503 : 0x01, 0x03, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05,
1504 : 0x81, 0x33
1505 : };
1506 23 : return expand_rtx (expand_encoding, operands);
1507 : }
1508 :
1509 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6372 */
1510 : rtx
1511 0 : gen_avx512f_fmadd_v8df_mask3 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1512 : {
1513 0 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1514 0 : static const uint8_t expand_encoding[] = {
1515 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x75, 0x81, 0x19,
1516 : 0x75, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01,
1517 : 0x03, 0x01, 0x04
1518 : };
1519 0 : return expand_rtx (expand_encoding, operands);
1520 : }
1521 :
1522 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6419 */
1523 : rtx
1524 12 : gen_fma_fmsub_v8hf_maskz_1 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
1525 : {
1526 12 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
1527 12 : static const uint8_t expand_encoding[] = {
1528 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6a, 0x81, 0x19,
1529 : 0x6a, 0x01, 0x01, 0x01, 0x02, 0x3d, 0x6a, 0x01,
1530 : 0x03, 0x01, 0x04, 0x01, 0x05
1531 : };
1532 12 : return expand_rtx (expand_encoding, operands);
1533 : }
1534 :
1535 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6459 */
1536 : rtx
1537 46 : gen_avx512bw_fmsub_v32hf_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
1538 : {
1539 46 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
1540 46 : static const uint8_t expand_encoding[] = {
1541 : 0x1f, 0x01, 0x00, 0x1a, 0x73, 0x02, 0x81, 0x09,
1542 : 0x73, 0x81, 0x19, 0x73, 0x01, 0x01, 0x01, 0x02,
1543 : 0x3d, 0x73, 0x01, 0x03, 0x01, 0x01, 0x01, 0x04,
1544 : 0x01, 0x05, 0x81, 0x33
1545 : };
1546 46 : return expand_rtx (expand_encoding, operands);
1547 : }
1548 :
1549 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6459 */
1550 : rtx
1551 0 : gen_avx512f_fmsub_v8df_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1552 : {
1553 0 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1554 0 : static const uint8_t expand_encoding[] = {
1555 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x75, 0x81, 0x19,
1556 : 0x75, 0x01, 0x01, 0x01, 0x02, 0x3d, 0x75, 0x01,
1557 : 0x03, 0x01, 0x01, 0x01, 0x04
1558 : };
1559 0 : return expand_rtx (expand_encoding, operands);
1560 : }
1561 :
1562 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6477 */
1563 : rtx
1564 12 : gen_avx512fp16_fmsub_v8hf_mask3 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1565 : {
1566 12 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1567 12 : static const uint8_t expand_encoding[] = {
1568 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6a, 0x81, 0x19,
1569 : 0x6a, 0x01, 0x01, 0x01, 0x02, 0x3d, 0x6a, 0x01,
1570 : 0x03, 0x01, 0x03, 0x01, 0x04
1571 : };
1572 12 : return expand_rtx (expand_encoding, operands);
1573 : }
1574 :
1575 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6525 */
1576 : rtx
1577 23 : gen_fma_fnmadd_v32hf_maskz_1_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5, const rtx operand6)
1578 : {
1579 23 : rtx operands[7] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5, operand6 };
1580 23 : static const uint8_t expand_encoding[] = {
1581 : 0x1f, 0x01, 0x00, 0x1a, 0x73, 0x02, 0x81, 0x09,
1582 : 0x73, 0x81, 0x19, 0x73, 0x3d, 0x73, 0x01, 0x01,
1583 : 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05,
1584 : 0x01, 0x06, 0x81, 0x33
1585 : };
1586 23 : return expand_rtx (expand_encoding, operands);
1587 : }
1588 :
1589 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6565 */
1590 : rtx
1591 0 : gen_avx512bw_fnmadd_v32hf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1592 : {
1593 0 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1594 0 : static const uint8_t expand_encoding[] = {
1595 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x73, 0x81, 0x19,
1596 : 0x73, 0x3d, 0x73, 0x01, 0x01, 0x01, 0x02, 0x01,
1597 : 0x03, 0x01, 0x01, 0x01, 0x04
1598 : };
1599 0 : return expand_rtx (expand_encoding, operands);
1600 : }
1601 :
1602 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6565 */
1603 : rtx
1604 12 : gen_avx512vl_fnmadd_v4df_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1605 : {
1606 12 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1607 12 : static const uint8_t expand_encoding[] = {
1608 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x70, 0x81, 0x19,
1609 : 0x70, 0x3d, 0x70, 0x01, 0x01, 0x01, 0x02, 0x01,
1610 : 0x03, 0x01, 0x01, 0x01, 0x04
1611 : };
1612 12 : return expand_rtx (expand_encoding, operands);
1613 : }
1614 :
1615 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6583 */
1616 : rtx
1617 12 : gen_avx512vl_fnmadd_v4sf_mask3 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1618 : {
1619 12 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1620 12 : static const uint8_t expand_encoding[] = {
1621 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6b, 0x81, 0x19,
1622 : 0x6b, 0x3d, 0x6b, 0x01, 0x01, 0x01, 0x02, 0x01,
1623 : 0x03, 0x01, 0x03, 0x01, 0x04
1624 : };
1625 12 : return expand_rtx (expand_encoding, operands);
1626 : }
1627 :
1628 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6632 */
1629 : rtx
1630 23 : gen_fma_fnmsub_v16sf_maskz_1_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5, const rtx operand6)
1631 : {
1632 23 : rtx operands[7] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5, operand6 };
1633 23 : static const uint8_t expand_encoding[] = {
1634 : 0x1f, 0x01, 0x00, 0x1a, 0x74, 0x02, 0x81, 0x09,
1635 : 0x74, 0x81, 0x19, 0x74, 0x3d, 0x74, 0x01, 0x01,
1636 : 0x01, 0x02, 0x3d, 0x74, 0x01, 0x03, 0x01, 0x04,
1637 : 0x01, 0x05, 0x01, 0x06, 0x81, 0x33
1638 : };
1639 23 : return expand_rtx (expand_encoding, operands);
1640 : }
1641 :
1642 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6674 */
1643 : rtx
1644 0 : gen_avx512f_fnmsub_v16sf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1645 : {
1646 0 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1647 0 : static const uint8_t expand_encoding[] = {
1648 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x74, 0x81, 0x19,
1649 : 0x74, 0x3d, 0x74, 0x01, 0x01, 0x01, 0x02, 0x3d,
1650 : 0x74, 0x01, 0x03, 0x01, 0x01, 0x01, 0x04
1651 : };
1652 0 : return expand_rtx (expand_encoding, operands);
1653 : }
1654 :
1655 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6693 */
1656 : rtx
1657 12 : gen_avx512vl_fnmsub_v16hf_mask3 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1658 : {
1659 12 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1660 12 : static const uint8_t expand_encoding[] = {
1661 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6e, 0x81, 0x19,
1662 : 0x6e, 0x3d, 0x6e, 0x01, 0x01, 0x01, 0x02, 0x3d,
1663 : 0x6e, 0x01, 0x03, 0x01, 0x03, 0x01, 0x04
1664 : };
1665 12 : return expand_rtx (expand_encoding, operands);
1666 : }
1667 :
1668 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6693 */
1669 : rtx
1670 0 : gen_avx512vl_fnmsub_v4sf_mask3_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
1671 : {
1672 0 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
1673 0 : static const uint8_t expand_encoding[] = {
1674 : 0x1f, 0x01, 0x00, 0x1a, 0x6b, 0x02, 0x81, 0x09,
1675 : 0x6b, 0x81, 0x19, 0x6b, 0x3d, 0x6b, 0x01, 0x01,
1676 : 0x01, 0x02, 0x3d, 0x6b, 0x01, 0x03, 0x01, 0x03,
1677 : 0x01, 0x04, 0x01, 0x05, 0x81, 0x33
1678 : };
1679 0 : return expand_rtx (expand_encoding, operands);
1680 : }
1681 :
1682 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6795 */
1683 : rtx
1684 0 : gen_fma_fmaddsub_v16sf_maskz_1 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
1685 : {
1686 0 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
1687 0 : static const uint8_t expand_encoding[] = {
1688 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x74, 0x1a, 0x74,
1689 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
1690 : 0x06, 0x01, 0x04, 0x01, 0x05
1691 : };
1692 0 : return expand_rtx (expand_encoding, operands);
1693 : }
1694 :
1695 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6811 */
1696 : rtx
1697 23 : gen_avx512vl_fmaddsub_v16hf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1698 : {
1699 23 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1700 23 : static const uint8_t expand_encoding[] = {
1701 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6e, 0x1a, 0x6e,
1702 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
1703 : 0x06, 0x01, 0x01, 0x01, 0x04
1704 : };
1705 23 : return expand_rtx (expand_encoding, operands);
1706 : }
1707 :
1708 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6811 */
1709 : rtx
1710 0 : gen_avx512vl_fmaddsub_v4sf_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
1711 : {
1712 0 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
1713 0 : static const uint8_t expand_encoding[] = {
1714 : 0x1f, 0x01, 0x00, 0x1a, 0x6b, 0x02, 0x81, 0x09,
1715 : 0x6b, 0x1a, 0x6b, 0x03, 0x01, 0x01, 0x01, 0x02,
1716 : 0x01, 0x03, 0x81, 0x06, 0x01, 0x01, 0x01, 0x04,
1717 : 0x01, 0x05, 0x81, 0x33
1718 : };
1719 0 : return expand_rtx (expand_encoding, operands);
1720 : }
1721 :
1722 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6829 */
1723 : rtx
1724 12 : gen_avx512fp16_fmaddsub_v8hf_mask3 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1725 : {
1726 12 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1727 12 : static const uint8_t expand_encoding[] = {
1728 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6a, 0x1a, 0x6a,
1729 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
1730 : 0x06, 0x01, 0x03, 0x01, 0x04
1731 : };
1732 12 : return expand_rtx (expand_encoding, operands);
1733 : }
1734 :
1735 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6829 */
1736 : rtx
1737 22 : gen_avx512f_fmaddsub_v8df_mask3_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
1738 : {
1739 22 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
1740 22 : static const uint8_t expand_encoding[] = {
1741 : 0x1f, 0x01, 0x00, 0x1a, 0x75, 0x02, 0x81, 0x09,
1742 : 0x75, 0x1a, 0x75, 0x03, 0x01, 0x01, 0x01, 0x02,
1743 : 0x01, 0x03, 0x81, 0x06, 0x01, 0x03, 0x01, 0x04,
1744 : 0x01, 0x05, 0x81, 0x33
1745 : };
1746 22 : return expand_rtx (expand_encoding, operands);
1747 : }
1748 :
1749 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6864 */
1750 : rtx
1751 0 : gen_fma_fmsubadd_v8sf_maskz_1 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
1752 : {
1753 0 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
1754 0 : static const uint8_t expand_encoding[] = {
1755 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6f, 0x1a, 0x6f,
1756 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x3d, 0x6f, 0x01,
1757 : 0x03, 0x81, 0x06, 0x01, 0x04, 0x01, 0x05
1758 : };
1759 0 : return expand_rtx (expand_encoding, operands);
1760 : }
1761 :
1762 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6881 */
1763 : rtx
1764 0 : gen_avx512vl_fmsubadd_v16hf_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
1765 : {
1766 0 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
1767 0 : static const uint8_t expand_encoding[] = {
1768 : 0x1f, 0x01, 0x00, 0x1a, 0x6e, 0x02, 0x81, 0x09,
1769 : 0x6e, 0x1a, 0x6e, 0x03, 0x01, 0x01, 0x01, 0x02,
1770 : 0x3d, 0x6e, 0x01, 0x03, 0x81, 0x06, 0x01, 0x01,
1771 : 0x01, 0x04, 0x01, 0x05, 0x81, 0x33
1772 : };
1773 0 : return expand_rtx (expand_encoding, operands);
1774 : }
1775 :
1776 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6881 */
1777 : rtx
1778 0 : gen_avx512vl_fmsubadd_v4df_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1779 : {
1780 0 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1781 0 : static const uint8_t expand_encoding[] = {
1782 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x70, 0x1a, 0x70,
1783 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x3d, 0x70, 0x01,
1784 : 0x03, 0x81, 0x06, 0x01, 0x01, 0x01, 0x04
1785 : };
1786 0 : return expand_rtx (expand_encoding, operands);
1787 : }
1788 :
1789 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6900 */
1790 : rtx
1791 0 : gen_avx512fp16_fmsubadd_v8hf_mask3_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
1792 : {
1793 0 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
1794 0 : static const uint8_t expand_encoding[] = {
1795 : 0x1f, 0x01, 0x00, 0x1a, 0x6a, 0x02, 0x81, 0x09,
1796 : 0x6a, 0x1a, 0x6a, 0x03, 0x01, 0x01, 0x01, 0x02,
1797 : 0x3d, 0x6a, 0x01, 0x03, 0x81, 0x06, 0x01, 0x03,
1798 : 0x01, 0x04, 0x01, 0x05, 0x81, 0x33
1799 : };
1800 0 : return expand_rtx (expand_encoding, operands);
1801 : }
1802 :
1803 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6900 */
1804 : rtx
1805 12 : gen_avx512vl_fmsubadd_v2df_mask3 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1806 : {
1807 12 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1808 12 : static const uint8_t expand_encoding[] = {
1809 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6c, 0x1a, 0x6c,
1810 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x3d, 0x6c, 0x01,
1811 : 0x03, 0x81, 0x06, 0x01, 0x03, 0x01, 0x04
1812 : };
1813 12 : return expand_rtx (expand_encoding, operands);
1814 : }
1815 :
1816 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:7060 */
1817 : rtx
1818 23 : gen_avx512f_vmfmadd_v8hf_mask3_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
1819 : {
1820 23 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
1821 23 : static const uint8_t expand_encoding[] = {
1822 : 0x1f, 0x01, 0x00, 0x1a, 0x6a, 0x02, 0x81, 0x09,
1823 : 0x6a, 0x81, 0x09, 0x6a, 0x81, 0x19, 0x6a, 0x01,
1824 : 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03, 0x01,
1825 : 0x04, 0x01, 0x03, 0x27, 0x01, 0x01, 0x05, 0x81,
1826 : 0x33
1827 : };
1828 23 : return expand_rtx (expand_encoding, operands);
1829 : }
1830 :
1831 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:7133 */
1832 : rtx
1833 0 : gen_avx512f_vmfmsub_v8hf_mask3 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1834 : {
1835 0 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1836 0 : static const uint8_t expand_encoding[] = {
1837 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6a, 0x81, 0x09,
1838 : 0x6a, 0x81, 0x19, 0x6a, 0x01, 0x01, 0x01, 0x02,
1839 : 0x3d, 0x6a, 0x01, 0x03, 0x01, 0x03, 0x01, 0x04,
1840 : 0x01, 0x03, 0x27, 0x01
1841 : };
1842 0 : return expand_rtx (expand_encoding, operands);
1843 : }
1844 :
1845 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:7173 */
1846 : rtx
1847 0 : gen_avx512f_vmfnmadd_v4sf_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
1848 : {
1849 0 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
1850 0 : static const uint8_t expand_encoding[] = {
1851 : 0x1f, 0x01, 0x00, 0x1a, 0x6b, 0x02, 0x81, 0x09,
1852 : 0x6b, 0x81, 0x09, 0x6b, 0x81, 0x19, 0x6b, 0x3d,
1853 : 0x6b, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01,
1854 : 0x01, 0x01, 0x04, 0x01, 0x01, 0x27, 0x01, 0x01,
1855 : 0x05, 0x81, 0x33
1856 : };
1857 0 : return expand_rtx (expand_encoding, operands);
1858 : }
1859 :
1860 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:7227 */
1861 : rtx
1862 0 : gen_avx512f_vmfnmadd_v4sf_maskz_1 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
1863 : {
1864 0 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
1865 0 : static const uint8_t expand_encoding[] = {
1866 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6b, 0x81, 0x09,
1867 : 0x6b, 0x81, 0x19, 0x6b, 0x3d, 0x6b, 0x01, 0x02,
1868 : 0x01, 0x01, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05,
1869 : 0x01, 0x01, 0x27, 0x01
1870 : };
1871 0 : return expand_rtx (expand_encoding, operands);
1872 : }
1873 :
1874 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:7534 */
1875 : rtx
1876 25 : gen_fma_fcmaddc_v32hf_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1877 : {
1878 25 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1879 25 : static const uint8_t expand_encoding[] = {
1880 : 0x1f, 0x01, 0x00, 0x1a, 0x73, 0x02, 0x1a, 0x73,
1881 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
1882 : 0x5c, 0x01, 0x04, 0x81, 0x33
1883 : };
1884 25 : return expand_rtx (expand_encoding, operands);
1885 : }
1886 :
1887 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:7534 */
1888 : rtx
1889 13 : gen_fma_fcmaddc_v8hf (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
1890 : {
1891 13 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
1892 13 : static const uint8_t expand_encoding[] = {
1893 : 0x1f, 0x01, 0x00, 0x1a, 0x6a, 0x03, 0x01, 0x01,
1894 : 0x01, 0x02, 0x01, 0x03, 0x81, 0x5c
1895 : };
1896 13 : return expand_rtx (expand_encoding, operands);
1897 : }
1898 :
1899 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:7581 */
1900 : rtx
1901 0 : gen_fma_fcmaddc_v32hf_fma_zero (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1902 : {
1903 0 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1904 0 : static const uint8_t expand_encoding[] = {
1905 : 0x1f, 0x01, 0x00, 0x3b, 0x73, 0x1a, 0x73, 0x03,
1906 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81, 0x5c,
1907 : 0x01, 0x04
1908 : };
1909 0 : return expand_rtx (expand_encoding, operands);
1910 : }
1911 :
1912 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:7599 */
1913 : rtx
1914 1 : gen_fma_fcmaddc_v4sf_pair (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
1915 : {
1916 1 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
1917 1 : static const uint8_t expand_encoding[] = {
1918 : 0x1f, 0x01, 0x00, 0x1a, 0x6b, 0x03, 0x01, 0x01,
1919 : 0x01, 0x02, 0x01, 0x03, 0x81, 0x5d
1920 : };
1921 1 : return expand_rtx (expand_encoding, operands);
1922 : }
1923 :
1924 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:7667 */
1925 : rtx
1926 40 : gen_avx512bw_fcmaddc_v32hf_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
1927 : {
1928 40 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
1929 40 : static const uint8_t expand_encoding[] = {
1930 : 0x1f, 0x01, 0x00, 0x1a, 0x73, 0x02, 0x81, 0x09,
1931 : 0x73, 0x1a, 0x73, 0x03, 0x01, 0x01, 0x01, 0x02,
1932 : 0x01, 0x03, 0x81, 0x5c, 0x01, 0x01, 0x1a, 0x11,
1933 : 0x01, 0x01, 0x04, 0x81, 0x60, 0x01, 0x05, 0x81,
1934 : 0x33
1935 : };
1936 40 : return expand_rtx (expand_encoding, operands);
1937 : }
1938 :
1939 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:7693 */
1940 : rtx
1941 0 : gen_avx512bw_fcmulc_v32hf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
1942 : {
1943 0 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
1944 0 : static const uint8_t expand_encoding[] = {
1945 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x73, 0x1a, 0x73,
1946 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x81, 0x5f, 0x01,
1947 : 0x03, 0x1a, 0x11, 0x01, 0x01, 0x04, 0x81, 0x60
1948 : };
1949 0 : return expand_rtx (expand_encoding, operands);
1950 : }
1951 :
1952 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:7858 */
1953 : rtx
1954 0 : gen_avx512fp16_fma_fmaddcsh_v8hf_maskz (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
1955 : {
1956 0 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
1957 0 : static const uint8_t expand_encoding[] = {
1958 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6a, 0x81, 0x09,
1959 : 0x6a, 0x1a, 0x6a, 0x03, 0x01, 0x01, 0x01, 0x02,
1960 : 0x01, 0x03, 0x81, 0x5a, 0x01, 0x04, 0x1a, 0x0f,
1961 : 0x01, 0x01, 0x05, 0x81, 0x60, 0x01, 0x02, 0x27,
1962 : 0x03
1963 : };
1964 0 : return expand_rtx (expand_encoding, operands);
1965 : }
1966 :
1967 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:7894 */
1968 : rtx
1969 27 : gen_avx512fp16_fmulcsh_v8hf_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
1970 : {
1971 27 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
1972 27 : static const uint8_t expand_encoding[] = {
1973 : 0x1f, 0x01, 0x00, 0x1a, 0x6a, 0x02, 0x81, 0x09,
1974 : 0x6a, 0x1a, 0x6a, 0x02, 0x01, 0x01, 0x01, 0x02,
1975 : 0x81, 0x5e, 0x01, 0x01, 0x27, 0x03, 0x01, 0x03,
1976 : 0x81, 0x33
1977 : };
1978 27 : return expand_rtx (expand_encoding, operands);
1979 : }
1980 :
1981 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8006 */
1982 : rtx
1983 0 : gen_avx512fp16_vcvtph2uw_v32hi_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
1984 : {
1985 0 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
1986 0 : static const uint8_t expand_encoding[] = {
1987 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5a, 0x1a, 0x5a,
1988 : 0x01, 0x01, 0x01, 0x81, 0x1d, 0x01, 0x02, 0x01,
1989 : 0x03
1990 : };
1991 0 : return expand_rtx (expand_encoding, operands);
1992 : }
1993 :
1994 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8006 */
1995 : rtx
1996 0 : gen_avx512fp16_vcvtph2dq_v16si (const rtx operand0, const rtx operand1)
1997 : {
1998 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
1999 0 : static const uint8_t expand_encoding[] = {
2000 : 0x1f, 0x01, 0x00, 0x1a, 0x5b, 0x01, 0x01, 0x01,
2001 : 0x2f
2002 : };
2003 0 : return expand_rtx (expand_encoding, operands);
2004 : }
2005 :
2006 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8006 */
2007 : rtx
2008 69 : gen_avx512fp16_vcvtph2uqq_v8di_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
2009 : {
2010 69 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
2011 69 : static const uint8_t expand_encoding[] = {
2012 : 0x1f, 0x01, 0x00, 0x1a, 0x5c, 0x02, 0x81, 0x09,
2013 : 0x5c, 0x1a, 0x5c, 0x01, 0x01, 0x01, 0x81, 0x1d,
2014 : 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x81, 0x33
2015 : };
2016 69 : return expand_rtx (expand_encoding, operands);
2017 : }
2018 :
2019 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8006 */
2020 : rtx
2021 0 : gen_avx512fp16_vcvtph2udq_v8si (const rtx operand0, const rtx operand1)
2022 : {
2023 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2024 0 : static const uint8_t expand_encoding[] = {
2025 : 0x1f, 0x01, 0x00, 0x1a, 0x56, 0x01, 0x01, 0x01,
2026 : 0x81, 0x1d
2027 : };
2028 0 : return expand_rtx (expand_encoding, operands);
2029 : }
2030 :
2031 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8006 */
2032 : rtx
2033 0 : gen_avx512fp16_vcvtph2uqq_v4di (const rtx operand0, const rtx operand1)
2034 : {
2035 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2036 0 : static const uint8_t expand_encoding[] = {
2037 : 0x1f, 0x01, 0x00, 0x1a, 0x57, 0x01, 0x01, 0x01,
2038 : 0x81, 0x1d
2039 : };
2040 0 : return expand_rtx (expand_encoding, operands);
2041 : }
2042 :
2043 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8006 */
2044 : rtx
2045 0 : gen_avx512fp16_vcvtph2uw_v8hi (const rtx operand0, const rtx operand1)
2046 : {
2047 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2048 0 : static const uint8_t expand_encoding[] = {
2049 : 0x1f, 0x01, 0x00, 0x1a, 0x50, 0x01, 0x01, 0x01,
2050 : 0x81, 0x1d
2051 : };
2052 0 : return expand_rtx (expand_encoding, operands);
2053 : }
2054 :
2055 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8006 */
2056 : rtx
2057 0 : gen_avx512fp16_vcvtph2udq_v4si (const rtx operand0, const rtx operand1)
2058 : {
2059 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2060 0 : static const uint8_t expand_encoding[] = {
2061 : 0x1f, 0x01, 0x00, 0x1a, 0x51, 0x01, 0x01, 0x01,
2062 : 0x81, 0x1d
2063 : };
2064 0 : return expand_rtx (expand_encoding, operands);
2065 : }
2066 :
2067 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8006 */
2068 : rtx
2069 0 : gen_avx512fp16_vcvtph2uqq_v2di (const rtx operand0, const rtx operand1)
2070 : {
2071 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2072 0 : static const uint8_t expand_encoding[] = {
2073 : 0x1f, 0x01, 0x00, 0x1a, 0x52, 0x01, 0x01, 0x01,
2074 : 0x81, 0x1d
2075 : };
2076 0 : return expand_rtx (expand_encoding, operands);
2077 : }
2078 :
2079 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8023 */
2080 : rtx
2081 0 : gen_avx512fp16_vcvtw2ph_v8hi (const rtx operand0, const rtx operand1)
2082 : {
2083 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2084 0 : static const uint8_t expand_encoding[] = {
2085 : 0x1f, 0x01, 0x00, 0x73, 0x6a, 0x01, 0x01
2086 : };
2087 0 : return expand_rtx (expand_encoding, operands);
2088 : }
2089 :
2090 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8023 */
2091 : rtx
2092 0 : gen_avx512fp16_vcvtw2ph_v16hi (const rtx operand0, const rtx operand1)
2093 : {
2094 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2095 0 : static const uint8_t expand_encoding[] = {
2096 : 0x1f, 0x01, 0x00, 0x73, 0x6e, 0x01, 0x01
2097 : };
2098 0 : return expand_rtx (expand_encoding, operands);
2099 : }
2100 :
2101 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8023 */
2102 : rtx
2103 0 : gen_avx512fp16_vcvtw2ph_v32hi (const rtx operand0, const rtx operand1)
2104 : {
2105 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2106 0 : static const uint8_t expand_encoding[] = {
2107 : 0x1f, 0x01, 0x00, 0x73, 0x73, 0x01, 0x01
2108 : };
2109 0 : return expand_rtx (expand_encoding, operands);
2110 : }
2111 :
2112 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8023 */
2113 : rtx
2114 0 : gen_avx512fp16_vcvtdq2ph_v8si (const rtx operand0, const rtx operand1)
2115 : {
2116 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2117 0 : static const uint8_t expand_encoding[] = {
2118 : 0x1f, 0x01, 0x00, 0x73, 0x6a, 0x01, 0x01
2119 : };
2120 0 : return expand_rtx (expand_encoding, operands);
2121 : }
2122 :
2123 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8023 */
2124 : rtx
2125 0 : gen_avx512fp16_vcvtdq2ph_v16si (const rtx operand0, const rtx operand1)
2126 : {
2127 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2128 0 : static const uint8_t expand_encoding[] = {
2129 : 0x1f, 0x01, 0x00, 0x73, 0x6e, 0x01, 0x01
2130 : };
2131 0 : return expand_rtx (expand_encoding, operands);
2132 : }
2133 :
2134 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8023 */
2135 : rtx
2136 0 : gen_avx512fp16_vcvtqq2ph_v8di (const rtx operand0, const rtx operand1)
2137 : {
2138 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2139 0 : static const uint8_t expand_encoding[] = {
2140 : 0x1f, 0x01, 0x00, 0x73, 0x6a, 0x01, 0x01
2141 : };
2142 0 : return expand_rtx (expand_encoding, operands);
2143 : }
2144 :
2145 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8023 */
2146 : rtx
2147 69 : gen_avx512fp16_vcvtuqq2ph_v8di_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
2148 : {
2149 69 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
2150 69 : static const uint8_t expand_encoding[] = {
2151 : 0x1f, 0x01, 0x00, 0x1a, 0x6a, 0x02, 0x81, 0x09,
2152 : 0x6a, 0x75, 0x6a, 0x01, 0x01, 0x01, 0x02, 0x01,
2153 : 0x03, 0x01, 0x04, 0x81, 0x33
2154 : };
2155 69 : return expand_rtx (expand_encoding, operands);
2156 : }
2157 :
2158 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8198 */
2159 : rtx
2160 0 : gen_avx512fp16_vcvtsh2usiq_2 (const rtx operand0, const rtx operand1)
2161 : {
2162 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2163 0 : static const uint8_t expand_encoding[] = {
2164 : 0x1f, 0x01, 0x00, 0x1a, 0x12, 0x01, 0x01, 0x01,
2165 : 0x81, 0x1d
2166 : };
2167 0 : return expand_rtx (expand_encoding, operands);
2168 : }
2169 :
2170 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8231 */
2171 : rtx
2172 0 : gen_unspec_avx512fp16_fix_truncv8hi2 (const rtx operand0, const rtx operand1)
2173 : {
2174 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2175 0 : static const uint8_t expand_encoding[] = {
2176 : 0x1f, 0x01, 0x00, 0x1a, 0x50, 0x01, 0x01, 0x01,
2177 : 0x81, 0x2d
2178 : };
2179 0 : return expand_rtx (expand_encoding, operands);
2180 : }
2181 :
2182 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8231 */
2183 : rtx
2184 0 : gen_unspec_avx512fp16_fix_truncv16hi2 (const rtx operand0, const rtx operand1)
2185 : {
2186 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2187 0 : static const uint8_t expand_encoding[] = {
2188 : 0x1f, 0x01, 0x00, 0x1a, 0x55, 0x01, 0x01, 0x01,
2189 : 0x81, 0x2d
2190 : };
2191 0 : return expand_rtx (expand_encoding, operands);
2192 : }
2193 :
2194 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8231 */
2195 : rtx
2196 0 : gen_unspec_avx512fp16_fixuns_truncv16hi2_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
2197 : {
2198 0 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
2199 0 : static const uint8_t expand_encoding[] = {
2200 : 0x1f, 0x01, 0x00, 0x1a, 0x55, 0x02, 0x81, 0x09,
2201 : 0x55, 0x1a, 0x55, 0x01, 0x01, 0x01, 0x81, 0x2e,
2202 : 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x81, 0x33
2203 : };
2204 0 : return expand_rtx (expand_encoding, operands);
2205 : }
2206 :
2207 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8231 */
2208 : rtx
2209 0 : gen_unspec_avx512fp16_fix_truncv8si2_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
2210 : {
2211 0 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
2212 0 : static const uint8_t expand_encoding[] = {
2213 : 0x1f, 0x01, 0x00, 0x1a, 0x56, 0x02, 0x81, 0x09,
2214 : 0x56, 0x1a, 0x56, 0x01, 0x01, 0x01, 0x81, 0x2d,
2215 : 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x81, 0x33
2216 : };
2217 0 : return expand_rtx (expand_encoding, operands);
2218 : }
2219 :
2220 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8231 */
2221 : rtx
2222 69 : gen_unspec_avx512fp16_fixuns_truncv16si2_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
2223 : {
2224 69 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
2225 69 : static const uint8_t expand_encoding[] = {
2226 : 0x1f, 0x01, 0x00, 0x1a, 0x5b, 0x02, 0x81, 0x09,
2227 : 0x5b, 0x1a, 0x5b, 0x01, 0x01, 0x01, 0x81, 0x2e,
2228 : 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x81, 0x33
2229 : };
2230 69 : return expand_rtx (expand_encoding, operands);
2231 : }
2232 :
2233 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8242 */
2234 : rtx
2235 0 : gen_avx512fp16_fix_truncv8hi2_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
2236 : {
2237 0 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
2238 0 : static const uint8_t expand_encoding[] = {
2239 : 0x1f, 0x01, 0x00, 0x1a, 0x50, 0x02, 0x81, 0x09,
2240 : 0x50, 0x74, 0x50, 0x01, 0x01, 0x01, 0x02, 0x01,
2241 : 0x03, 0x01, 0x04, 0x81, 0x33
2242 : };
2243 0 : return expand_rtx (expand_encoding, operands);
2244 : }
2245 :
2246 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8242 */
2247 : rtx
2248 0 : gen_avx512fp16_fix_truncv32hi2 (const rtx operand0, const rtx operand1)
2249 : {
2250 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2251 0 : static const uint8_t expand_encoding[] = {
2252 : 0x1f, 0x01, 0x00, 0x74, 0x5a, 0x01, 0x01
2253 : };
2254 0 : return expand_rtx (expand_encoding, operands);
2255 : }
2256 :
2257 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8242 */
2258 : rtx
2259 0 : gen_avx512fp16_fixuns_truncv32hi2_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
2260 : {
2261 0 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
2262 0 : static const uint8_t expand_encoding[] = {
2263 : 0x1f, 0x01, 0x00, 0x1a, 0x5a, 0x02, 0x81, 0x09,
2264 : 0x5a, 0x76, 0x5a, 0x01, 0x01, 0x01, 0x02, 0x01,
2265 : 0x03, 0x01, 0x04, 0x81, 0x33
2266 : };
2267 0 : return expand_rtx (expand_encoding, operands);
2268 : }
2269 :
2270 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8242 */
2271 : rtx
2272 0 : gen_avx512fp16_fix_truncv16si2_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
2273 : {
2274 0 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
2275 0 : static const uint8_t expand_encoding[] = {
2276 : 0x1f, 0x01, 0x00, 0x1a, 0x5b, 0x02, 0x81, 0x09,
2277 : 0x5b, 0x74, 0x5b, 0x01, 0x01, 0x01, 0x02, 0x01,
2278 : 0x03, 0x01, 0x04, 0x81, 0x33
2279 : };
2280 0 : return expand_rtx (expand_encoding, operands);
2281 : }
2282 :
2283 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8269 */
2284 : rtx
2285 0 : gen_unspec_avx512fp16_fix_truncv4si2 (const rtx operand0, const rtx operand1)
2286 : {
2287 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2288 0 : static const uint8_t expand_encoding[] = {
2289 : 0x1f, 0x01, 0x00, 0x1a, 0x51, 0x01, 0x01, 0x01,
2290 : 0x81, 0x2d
2291 : };
2292 0 : return expand_rtx (expand_encoding, operands);
2293 : }
2294 :
2295 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8280 */
2296 : rtx
2297 5 : gen_avx512fp16_fix_truncv4si2 (const rtx operand0, const rtx operand1)
2298 : {
2299 5 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2300 5 : static const uint8_t expand_encoding[] = {
2301 : 0x1f, 0x01, 0x00, 0x74, 0x51, 0x81, 0x0a, 0x66,
2302 : 0x01, 0x01, 0x17, 0x00, 0x04, 0x27, 0x00, 0x27,
2303 : 0x01, 0x27, 0x02, 0x27, 0x03
2304 : };
2305 5 : return expand_rtx (expand_encoding, operands);
2306 : }
2307 :
2308 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8319 */
2309 : rtx
2310 36 : gen_unspec_avx512fp16_fix_truncv2di2_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
2311 : {
2312 36 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
2313 36 : static const uint8_t expand_encoding[] = {
2314 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x52, 0x1a, 0x52,
2315 : 0x01, 0x01, 0x01, 0x81, 0x2d, 0x01, 0x02, 0x01,
2316 : 0x03
2317 : };
2318 36 : return expand_rtx (expand_encoding, operands);
2319 : }
2320 :
2321 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8352 */
2322 : rtx
2323 0 : gen_unspec_avx512fp16_fix_truncdi2 (const rtx operand0, const rtx operand1)
2324 : {
2325 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2326 0 : static const uint8_t expand_encoding[] = {
2327 : 0x1f, 0x01, 0x00, 0x1a, 0x12, 0x01, 0x01, 0x01,
2328 : 0x81, 0x2d
2329 : };
2330 0 : return expand_rtx (expand_encoding, operands);
2331 : }
2332 :
2333 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8363 */
2334 : rtx
2335 0 : gen_avx512fp16_fix_truncdi2_round (const rtx operand0, const rtx operand1, const rtx operand2)
2336 : {
2337 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
2338 0 : static const uint8_t expand_encoding[] = {
2339 : 0x1f, 0x01, 0x00, 0x1a, 0x12, 0x02, 0x74, 0x12,
2340 : 0x81, 0x0a, 0x2b, 0x01, 0x01, 0x17, 0x00, 0x01,
2341 : 0x27, 0x00, 0x01, 0x02, 0x81, 0x33
2342 : };
2343 0 : return expand_rtx (expand_encoding, operands);
2344 : }
2345 :
2346 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8395 */
2347 : rtx
2348 0 : gen_avx512fp16_float_extend_phv16sf2 (const rtx operand0, const rtx operand1)
2349 : {
2350 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2351 0 : static const uint8_t expand_encoding[] = {
2352 : 0x1f, 0x01, 0x00, 0x71, 0x74, 0x01, 0x01
2353 : };
2354 0 : return expand_rtx (expand_encoding, operands);
2355 : }
2356 :
2357 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8422 */
2358 : rtx
2359 2 : gen_avx512fp16_float_extend_phv4df2 (const rtx operand0, const rtx operand1)
2360 : {
2361 2 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2362 2 : static const uint8_t expand_encoding[] = {
2363 : 0x1f, 0x01, 0x00, 0x71, 0x70, 0x81, 0x0a, 0x66,
2364 : 0x01, 0x01, 0x17, 0x00, 0x04, 0x27, 0x00, 0x27,
2365 : 0x01, 0x27, 0x02, 0x27, 0x03
2366 : };
2367 2 : return expand_rtx (expand_encoding, operands);
2368 : }
2369 :
2370 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8489 */
2371 : rtx
2372 69 : gen_avx512fp16_vcvtpd2ph_v8df_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
2373 : {
2374 69 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
2375 69 : static const uint8_t expand_encoding[] = {
2376 : 0x1f, 0x01, 0x00, 0x1a, 0x6a, 0x02, 0x81, 0x09,
2377 : 0x6a, 0x72, 0x6a, 0x01, 0x01, 0x01, 0x02, 0x01,
2378 : 0x03, 0x01, 0x04, 0x81, 0x33
2379 : };
2380 69 : return expand_rtx (expand_encoding, operands);
2381 : }
2382 :
2383 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8656 */
2384 : rtx
2385 0 : gen_avx512fp16_vcvtsh2ss (const rtx operand0, const rtx operand1, const rtx operand2)
2386 : {
2387 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
2388 0 : static const uint8_t expand_encoding[] = {
2389 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6b, 0x81, 0x0c,
2390 : 0x6b, 0x71, 0x2d, 0x81, 0x0a, 0x2b, 0x01, 0x01,
2391 : 0x17, 0x00, 0x01, 0x27, 0x00, 0x01, 0x02, 0x27,
2392 : 0x01
2393 : };
2394 0 : return expand_rtx (expand_encoding, operands);
2395 : }
2396 :
2397 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8686 */
2398 : rtx
2399 0 : gen_avx512fp16_vcvtsd2sh (const rtx operand0, const rtx operand1, const rtx operand2)
2400 : {
2401 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
2402 0 : static const uint8_t expand_encoding[] = {
2403 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6a, 0x81, 0x0c,
2404 : 0x6a, 0x72, 0x2b, 0x81, 0x0a, 0x2e, 0x01, 0x01,
2405 : 0x17, 0x00, 0x01, 0x27, 0x00, 0x01, 0x02, 0x27,
2406 : 0x01
2407 : };
2408 0 : return expand_rtx (expand_encoding, operands);
2409 : }
2410 :
2411 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8702 */
2412 : rtx
2413 0 : gen_avx512fp16_vcvtsd2sh_mem (const rtx operand0, const rtx operand1, const rtx operand2)
2414 : {
2415 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
2416 0 : static const uint8_t expand_encoding[] = {
2417 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6a, 0x81, 0x0c,
2418 : 0x6a, 0x72, 0x2b, 0x01, 0x01, 0x01, 0x02, 0x27,
2419 : 0x01
2420 : };
2421 0 : return expand_rtx (expand_encoding, operands);
2422 : }
2423 :
2424 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8878 */
2425 : rtx
2426 33 : gen_sse_cvtsi2ssq (const rtx operand0, const rtx operand1, const rtx operand2)
2427 : {
2428 33 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
2429 33 : static const uint8_t expand_encoding[] = {
2430 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6b, 0x81, 0x0c,
2431 : 0x6b, 0x73, 0x2d, 0x01, 0x02, 0x01, 0x01, 0x27,
2432 : 0x01
2433 : };
2434 33 : return expand_rtx (expand_encoding, operands);
2435 : }
2436 :
2437 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8943 */
2438 : rtx
2439 22 : gen_unspec_sse_cvttss2siq (const rtx operand0, const rtx operand1)
2440 : {
2441 22 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2442 22 : static const uint8_t expand_encoding[] = {
2443 : 0x1f, 0x01, 0x00, 0x1a, 0x12, 0x01, 0x01, 0x01,
2444 : 0x81, 0x2d
2445 : };
2446 22 : return expand_rtx (expand_encoding, operands);
2447 : }
2448 :
2449 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8988 */
2450 : rtx
2451 0 : gen_cvtusi2ss64 (const rtx operand0, const rtx operand1, const rtx operand2)
2452 : {
2453 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
2454 0 : static const uint8_t expand_encoding[] = {
2455 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6b, 0x81, 0x0c,
2456 : 0x6b, 0x75, 0x2d, 0x01, 0x02, 0x01, 0x01, 0x27,
2457 : 0x01
2458 : };
2459 0 : return expand_rtx (expand_encoding, operands);
2460 : }
2461 :
2462 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:9002 */
2463 : rtx
2464 2046 : gen_floatv4siv4sf2 (const rtx operand0, const rtx operand1)
2465 : {
2466 2046 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2467 2046 : static const uint8_t expand_encoding[] = {
2468 : 0x1f, 0x01, 0x00, 0x73, 0x6b, 0x01, 0x01
2469 : };
2470 2046 : return expand_rtx (expand_encoding, operands);
2471 : }
2472 :
2473 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:9043 */
2474 : rtx
2475 12 : gen_avx_fix_notruncv8sfv8si (const rtx operand0, const rtx operand1)
2476 : {
2477 12 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2478 12 : static const uint8_t expand_encoding[] = {
2479 : 0x1f, 0x01, 0x00, 0x1a, 0x56, 0x01, 0x01, 0x01,
2480 : 0x2f
2481 : };
2482 12 : return expand_rtx (expand_encoding, operands);
2483 : }
2484 :
2485 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:9070 */
2486 : rtx
2487 0 : gen_avx512f_fixuns_notruncv16sfv16si_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
2488 : {
2489 0 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
2490 0 : static const uint8_t expand_encoding[] = {
2491 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5b, 0x1a, 0x5b,
2492 : 0x01, 0x01, 0x01, 0x81, 0x1d, 0x01, 0x02, 0x01,
2493 : 0x03
2494 : };
2495 0 : return expand_rtx (expand_encoding, operands);
2496 : }
2497 :
2498 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:9091 */
2499 : rtx
2500 36 : gen_avx512dq_cvtps2qqv2di_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
2501 : {
2502 36 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
2503 36 : static const uint8_t expand_encoding[] = {
2504 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x52, 0x1a, 0x52,
2505 : 0x01, 0x81, 0x0a, 0x67, 0x01, 0x01, 0x17, 0x00,
2506 : 0x02, 0x27, 0x00, 0x27, 0x01, 0x2f, 0x01, 0x02,
2507 : 0x01, 0x03
2508 : };
2509 36 : return expand_rtx (expand_encoding, operands);
2510 : }
2511 :
2512 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:9127 */
2513 : rtx
2514 0 : gen_unspec_fixuns_truncv16sfv16si2_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
2515 : {
2516 0 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
2517 0 : static const uint8_t expand_encoding[] = {
2518 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5b, 0x1a, 0x5b,
2519 : 0x01, 0x01, 0x01, 0x81, 0x2e, 0x01, 0x02, 0x01,
2520 : 0x03
2521 : };
2522 0 : return expand_rtx (expand_encoding, operands);
2523 : }
2524 :
2525 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:9148 */
2526 : rtx
2527 24 : gen_unspec_fix_truncv8sfv8si2_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
2528 : {
2529 24 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
2530 24 : static const uint8_t expand_encoding[] = {
2531 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x56, 0x1a, 0x56,
2532 : 0x01, 0x01, 0x01, 0x81, 0x2d, 0x01, 0x02, 0x01,
2533 : 0x03
2534 : };
2535 24 : return expand_rtx (expand_encoding, operands);
2536 : }
2537 :
2538 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:9279 */
2539 : rtx
2540 12 : gen_unspec_sse2_cvttpd2pi (const rtx operand0, const rtx operand1)
2541 : {
2542 12 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2543 12 : static const uint8_t expand_encoding[] = {
2544 : 0x1f, 0x01, 0x00, 0x1a, 0x4a, 0x01, 0x01, 0x01,
2545 : 0x81, 0x2d
2546 : };
2547 12 : return expand_rtx (expand_encoding, operands);
2548 : }
2549 :
2550 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:9398 */
2551 : rtx
2552 0 : gen_unspec_avx512f_vcvttss2usi (const rtx operand0, const rtx operand1)
2553 : {
2554 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2555 0 : static const uint8_t expand_encoding[] = {
2556 : 0x1f, 0x01, 0x00, 0x1a, 0x11, 0x01, 0x01, 0x01,
2557 : 0x81, 0x2e
2558 : };
2559 0 : return expand_rtx (expand_encoding, operands);
2560 : }
2561 :
2562 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:9421 */
2563 : rtx
2564 22 : gen_avx512f_vcvtsd2usi_round (const rtx operand0, const rtx operand1, const rtx operand2)
2565 : {
2566 22 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
2567 22 : static const uint8_t expand_encoding[] = {
2568 : 0x1f, 0x01, 0x00, 0x1a, 0x11, 0x02, 0x1a, 0x11,
2569 : 0x01, 0x81, 0x0a, 0x2e, 0x01, 0x01, 0x17, 0x00,
2570 : 0x01, 0x27, 0x00, 0x81, 0x1d, 0x01, 0x02, 0x81,
2571 : 0x33
2572 : };
2573 22 : return expand_rtx (expand_encoding, operands);
2574 : }
2575 :
2576 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:9457 */
2577 : rtx
2578 16 : gen_sse2_cvtsd2si_round (const rtx operand0, const rtx operand1, const rtx operand2)
2579 : {
2580 16 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
2581 16 : static const uint8_t expand_encoding[] = {
2582 : 0x1f, 0x01, 0x00, 0x1a, 0x11, 0x02, 0x1a, 0x11,
2583 : 0x01, 0x81, 0x0a, 0x2e, 0x01, 0x01, 0x17, 0x00,
2584 : 0x01, 0x27, 0x00, 0x2f, 0x01, 0x02, 0x81, 0x33
2585 : };
2586 16 : return expand_rtx (expand_encoding, operands);
2587 : }
2588 :
2589 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:9504 */
2590 : rtx
2591 0 : gen_sse2_cvttsd2si_round (const rtx operand0, const rtx operand1, const rtx operand2)
2592 : {
2593 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
2594 0 : static const uint8_t expand_encoding[] = {
2595 : 0x1f, 0x01, 0x00, 0x1a, 0x11, 0x02, 0x74, 0x11,
2596 : 0x81, 0x0a, 0x2e, 0x01, 0x01, 0x17, 0x00, 0x01,
2597 : 0x27, 0x00, 0x01, 0x02, 0x81, 0x33
2598 : };
2599 0 : return expand_rtx (expand_encoding, operands);
2600 : }
2601 :
2602 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:9536 */
2603 : rtx
2604 7 : gen_floatunsv8div8df2 (const rtx operand0, const rtx operand1)
2605 : {
2606 7 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2607 7 : static const uint8_t expand_encoding[] = {
2608 : 0x1f, 0x01, 0x00, 0x75, 0x75, 0x01, 0x01
2609 : };
2610 7 : return expand_rtx (expand_encoding, operands);
2611 : }
2612 :
2613 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:9536 */
2614 : rtx
2615 0 : gen_floatunsv4div4df2_round (const rtx operand0, const rtx operand1, const rtx operand2)
2616 : {
2617 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
2618 0 : static const uint8_t expand_encoding[] = {
2619 : 0x1f, 0x01, 0x00, 0x1a, 0x70, 0x02, 0x75, 0x70,
2620 : 0x01, 0x01, 0x01, 0x02, 0x81, 0x33
2621 : };
2622 0 : return expand_rtx (expand_encoding, operands);
2623 : }
2624 :
2625 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:9536 */
2626 : rtx
2627 36 : gen_floatunsv2div2df2_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
2628 : {
2629 36 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
2630 36 : static const uint8_t expand_encoding[] = {
2631 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6c, 0x75, 0x6c,
2632 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
2633 : };
2634 36 : return expand_rtx (expand_encoding, operands);
2635 : }
2636 :
2637 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:9550 */
2638 : rtx
2639 36 : gen_floatv4div4sf2_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
2640 : {
2641 36 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
2642 36 : static const uint8_t expand_encoding[] = {
2643 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6b, 0x73, 0x6b,
2644 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
2645 : };
2646 36 : return expand_rtx (expand_encoding, operands);
2647 : }
2648 :
2649 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:9750 */
2650 : rtx
2651 24 : gen_sse2_cvtdq2pd_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
2652 : {
2653 24 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
2654 24 : static const uint8_t expand_encoding[] = {
2655 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6c, 0x73, 0x6c,
2656 : 0x81, 0x0a, 0x4a, 0x01, 0x01, 0x17, 0x00, 0x02,
2657 : 0x27, 0x00, 0x27, 0x01, 0x01, 0x02, 0x01, 0x03
2658 : };
2659 24 : return expand_rtx (expand_encoding, operands);
2660 : }
2661 :
2662 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:9863 */
2663 : rtx
2664 0 : gen_fixuns_notruncv8dfv8si2_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
2665 : {
2666 0 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
2667 0 : static const uint8_t expand_encoding[] = {
2668 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x56, 0x1a, 0x56,
2669 : 0x01, 0x01, 0x01, 0x81, 0x1d, 0x01, 0x02, 0x01,
2670 : 0x03
2671 : };
2672 0 : return expand_rtx (expand_encoding, operands);
2673 : }
2674 :
2675 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:9921 */
2676 : rtx
2677 66 : gen_unspec_fix_truncv8dfv8si2_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
2678 : {
2679 66 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
2680 66 : static const uint8_t expand_encoding[] = {
2681 : 0x1f, 0x01, 0x00, 0x1a, 0x56, 0x02, 0x81, 0x09,
2682 : 0x56, 0x1a, 0x56, 0x01, 0x01, 0x01, 0x81, 0x2d,
2683 : 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x81, 0x33
2684 : };
2685 66 : return expand_rtx (expand_encoding, operands);
2686 : }
2687 :
2688 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:9932 */
2689 : rtx
2690 0 : gen_fixuns_truncv8dfv8si2_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
2691 : {
2692 0 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
2693 0 : static const uint8_t expand_encoding[] = {
2694 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x56, 0x76, 0x56,
2695 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
2696 : };
2697 0 : return expand_rtx (expand_encoding, operands);
2698 : }
2699 :
2700 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:10041 */
2701 : rtx
2702 1 : gen_fixuns_truncv4dfv4si2 (const rtx operand0, const rtx operand1)
2703 : {
2704 1 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2705 1 : static const uint8_t expand_encoding[] = {
2706 : 0x1f, 0x01, 0x00, 0x76, 0x51, 0x01, 0x01
2707 : };
2708 1 : return expand_rtx (expand_encoding, operands);
2709 : }
2710 :
2711 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:10050 */
2712 : rtx
2713 57 : gen_unspec_fixuns_truncv8dfv8di2_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
2714 : {
2715 57 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
2716 57 : static const uint8_t expand_encoding[] = {
2717 : 0x1f, 0x01, 0x00, 0x1a, 0x5c, 0x02, 0x81, 0x09,
2718 : 0x5c, 0x1a, 0x5c, 0x01, 0x01, 0x01, 0x81, 0x2e,
2719 : 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x81, 0x33
2720 : };
2721 57 : return expand_rtx (expand_encoding, operands);
2722 : }
2723 :
2724 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:10061 */
2725 : rtx
2726 0 : gen_fix_truncv8dfv8di2_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
2727 : {
2728 0 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
2729 0 : static const uint8_t expand_encoding[] = {
2730 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5c, 0x74, 0x5c,
2731 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
2732 : };
2733 0 : return expand_rtx (expand_encoding, operands);
2734 : }
2735 :
2736 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:10061 */
2737 : rtx
2738 0 : gen_fix_truncv2dfv2di2_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
2739 : {
2740 0 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
2741 0 : static const uint8_t expand_encoding[] = {
2742 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x52, 0x74, 0x52,
2743 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
2744 : };
2745 0 : return expand_rtx (expand_encoding, operands);
2746 : }
2747 :
2748 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:10082 */
2749 : rtx
2750 0 : gen_fixuns_notruncv8dfv8di2 (const rtx operand0, const rtx operand1)
2751 : {
2752 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2753 0 : static const uint8_t expand_encoding[] = {
2754 : 0x1f, 0x01, 0x00, 0x1a, 0x5c, 0x01, 0x01, 0x01,
2755 : 0x81, 0x1d
2756 : };
2757 0 : return expand_rtx (expand_encoding, operands);
2758 : }
2759 :
2760 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:10093 */
2761 : rtx
2762 0 : gen_unspec_fix_truncv8sfv8di2_round (const rtx operand0, const rtx operand1, const rtx operand2)
2763 : {
2764 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
2765 0 : static const uint8_t expand_encoding[] = {
2766 : 0x1f, 0x01, 0x00, 0x1a, 0x5c, 0x02, 0x1a, 0x5c,
2767 : 0x01, 0x01, 0x01, 0x81, 0x2d, 0x01, 0x02, 0x81,
2768 : 0x33
2769 : };
2770 0 : return expand_rtx (expand_encoding, operands);
2771 : }
2772 :
2773 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:10093 */
2774 : rtx
2775 36 : gen_unspec_fixuns_truncv4sfv4di2_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
2776 : {
2777 36 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
2778 36 : static const uint8_t expand_encoding[] = {
2779 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x57, 0x1a, 0x57,
2780 : 0x01, 0x01, 0x01, 0x81, 0x2e, 0x01, 0x02, 0x01,
2781 : 0x03
2782 : };
2783 36 : return expand_rtx (expand_encoding, operands);
2784 : }
2785 :
2786 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:10104 */
2787 : rtx
2788 4 : gen_fixuns_truncv4sfv4di2 (const rtx operand0, const rtx operand1)
2789 : {
2790 4 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2791 4 : static const uint8_t expand_encoding[] = {
2792 : 0x1f, 0x01, 0x00, 0x76, 0x57, 0x01, 0x01
2793 : };
2794 4 : return expand_rtx (expand_encoding, operands);
2795 : }
2796 :
2797 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:10125 */
2798 : rtx
2799 7 : gen_avx512dq_fixuns_truncv2sfv2di2 (const rtx operand0, const rtx operand1)
2800 : {
2801 7 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2802 7 : static const uint8_t expand_encoding[] = {
2803 : 0x1f, 0x01, 0x00, 0x76, 0x52, 0x81, 0x0a, 0x67,
2804 : 0x01, 0x01, 0x17, 0x00, 0x02, 0x27, 0x00, 0x27,
2805 : 0x01
2806 : };
2807 7 : return expand_rtx (expand_encoding, operands);
2808 : }
2809 :
2810 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:10312 */
2811 : rtx
2812 594 : gen_sse2_cvttpd2dq (const rtx operand0, const rtx operand1)
2813 : {
2814 594 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2815 594 : static const uint8_t expand_encoding[] = {
2816 : 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x51, 0x74, 0x4a,
2817 : 0x01, 0x01, 0x2c, 0x4a, 0x02, 0x27, 0x00, 0x27,
2818 : 0x00
2819 : };
2820 594 : return expand_rtx (expand_encoding, operands);
2821 : }
2822 :
2823 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:10404 */
2824 : rtx
2825 17 : gen_sse2_cvtss2sd_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
2826 : {
2827 17 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
2828 17 : static const uint8_t expand_encoding[] = {
2829 : 0x1f, 0x01, 0x00, 0x1a, 0x6c, 0x02, 0x81, 0x09,
2830 : 0x6c, 0x81, 0x09, 0x6c, 0x71, 0x6c, 0x81, 0x0a,
2831 : 0x67, 0x01, 0x02, 0x17, 0x00, 0x02, 0x27, 0x00,
2832 : 0x27, 0x01, 0x01, 0x01, 0x27, 0x01, 0x01, 0x03,
2833 : 0x01, 0x04, 0x01, 0x05, 0x81, 0x33
2834 : };
2835 17 : return expand_rtx (expand_encoding, operands);
2836 : }
2837 :
2838 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:10620 */
2839 : rtx
2840 12 : gen_avx512vl_cvtb2maskv32qi (const rtx operand0, const rtx operand1)
2841 : {
2842 12 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2843 12 : static const uint8_t expand_encoding[] = {
2844 : 0x1f, 0x01, 0x00, 0x1a, 0x11, 0x01, 0x01, 0x01,
2845 : 0x81, 0x40
2846 : };
2847 12 : return expand_rtx (expand_encoding, operands);
2848 : }
2849 :
2850 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:10630 */
2851 : rtx
2852 12 : gen_avx512vl_cvtq2maskv2di (const rtx operand0, const rtx operand1)
2853 : {
2854 12 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2855 12 : static const uint8_t expand_encoding[] = {
2856 : 0x1f, 0x01, 0x00, 0x1a, 0x0f, 0x01, 0x01, 0x01,
2857 : 0x81, 0x40
2858 : };
2859 12 : return expand_rtx (expand_encoding, operands);
2860 : }
2861 :
2862 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:11503 */
2863 : rtx
2864 36 : gen_avx512f_unpckhps512_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
2865 : {
2866 36 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
2867 36 : static const uint8_t expand_encoding[] = {
2868 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x74, 0x81, 0x0a,
2869 : 0x74, 0x81, 0x0b, 0x79, 0x01, 0x01, 0x01, 0x02,
2870 : 0x17, 0x00, 0x10, 0x27, 0x02, 0x27, 0x12, 0x27,
2871 : 0x03, 0x27, 0x13, 0x27, 0x06, 0x27, 0x16, 0x27,
2872 : 0x07, 0x27, 0x17, 0x27, 0x0a, 0x27, 0x1a, 0x27,
2873 : 0x0b, 0x27, 0x1b, 0x27, 0x0e, 0x27, 0x1e, 0x27,
2874 : 0x0f, 0x27, 0x1f, 0x01, 0x03, 0x01, 0x04
2875 : };
2876 36 : return expand_rtx (expand_encoding, operands);
2877 : }
2878 :
2879 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:11714 */
2880 : rtx
2881 13 : gen_sse3_movshdup (const rtx operand0, const rtx operand1)
2882 : {
2883 13 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2884 13 : static const uint8_t expand_encoding[] = {
2885 : 0x1f, 0x01, 0x00, 0x81, 0x0a, 0x6b, 0x81, 0x0b,
2886 : 0x6f, 0x01, 0x01, 0x01, 0x01, 0x17, 0x00, 0x04,
2887 : 0x27, 0x01, 0x27, 0x01, 0x27, 0x07, 0x27, 0x07
2888 : };
2889 13 : return expand_rtx (expand_encoding, operands);
2890 : }
2891 :
2892 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:11828 */
2893 : rtx
2894 16 : gen_avx_shufps256_1_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5, const rtx operand6, const rtx operand7, const rtx operand8, const rtx operand9, const rtx operand10, const rtx operand11, const rtx operand12)
2895 : {
2896 16 : rtx operands[13] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5, operand6, operand7, operand8, operand9, operand10, operand11, operand12 };
2897 16 : static const uint8_t expand_encoding[] = {
2898 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6f, 0x81, 0x0a,
2899 : 0x6f, 0x81, 0x0b, 0x74, 0x01, 0x01, 0x01, 0x02,
2900 : 0x17, 0x00, 0x08, 0x01, 0x03, 0x01, 0x04, 0x01,
2901 : 0x05, 0x01, 0x06, 0x01, 0x07, 0x01, 0x08, 0x01,
2902 : 0x09, 0x01, 0x0a, 0x01, 0x0b, 0x01, 0x0c
2903 : };
2904 16 : return expand_rtx (expand_encoding, operands);
2905 : }
2906 :
2907 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:12238 */
2908 : rtx
2909 9 : gen_vec_setv4sf_0 (const rtx operand0, const rtx operand1, const rtx operand2)
2910 : {
2911 9 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
2912 9 : static const uint8_t expand_encoding[] = {
2913 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6b, 0x81, 0x0c,
2914 : 0x6b, 0x01, 0x02, 0x01, 0x01, 0x27, 0x01
2915 : };
2916 9 : return expand_rtx (expand_encoding, operands);
2917 : }
2918 :
2919 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:12535 */
2920 : rtx
2921 4 : gen_vec_setv8si_0 (const rtx operand0, const rtx operand1, const rtx operand2)
2922 : {
2923 4 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
2924 4 : static const uint8_t expand_encoding[] = {
2925 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x56, 0x81, 0x0c,
2926 : 0x56, 0x01, 0x02, 0x01, 0x01, 0x27, 0x01
2927 : };
2928 4 : return expand_rtx (expand_encoding, operands);
2929 : }
2930 :
2931 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:12862 */
2932 : rtx
2933 58 : gen_avx512f_vextracti32x4_1_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5, const rtx operand6, const rtx operand7)
2934 : {
2935 58 : rtx operands[8] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5, operand6, operand7 };
2936 58 : static const uint8_t expand_encoding[] = {
2937 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x51, 0x81, 0x0a,
2938 : 0x51, 0x01, 0x01, 0x17, 0x00, 0x04, 0x01, 0x02,
2939 : 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x01, 0x06,
2940 : 0x01, 0x07
2941 : };
2942 58 : return expand_rtx (expand_encoding, operands);
2943 : }
2944 :
2945 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:13072 */
2946 : rtx
2947 791 : gen_vec_extract_hi_v16sf (const rtx operand0, const rtx operand1)
2948 : {
2949 791 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2950 791 : static const uint8_t expand_encoding[] = {
2951 : 0x1f, 0x01, 0x00, 0x81, 0x0a, 0x6f, 0x01, 0x01,
2952 : 0x17, 0x00, 0x08, 0x27, 0x08, 0x27, 0x09, 0x27,
2953 : 0x0a, 0x27, 0x0b, 0x27, 0x0c, 0x27, 0x0d, 0x27,
2954 : 0x0e, 0x27, 0x0f
2955 : };
2956 791 : return expand_rtx (expand_encoding, operands);
2957 : }
2958 :
2959 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:13248 */
2960 : rtx
2961 1569 : gen_vec_extract_lo_v4di (const rtx operand0, const rtx operand1)
2962 : {
2963 1569 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2964 1569 : static const uint8_t expand_encoding[] = {
2965 : 0x1f, 0x01, 0x00, 0x81, 0x0a, 0x52, 0x01, 0x01,
2966 : 0x17, 0x00, 0x02, 0x27, 0x00, 0x27, 0x01
2967 : };
2968 1569 : return expand_rtx (expand_encoding, operands);
2969 : }
2970 :
2971 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:13352 */
2972 : rtx
2973 27 : gen_vec_extract_hi_v8si_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
2974 : {
2975 27 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
2976 27 : static const uint8_t expand_encoding[] = {
2977 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x51, 0x81, 0x0a,
2978 : 0x51, 0x01, 0x01, 0x17, 0x00, 0x04, 0x27, 0x04,
2979 : 0x27, 0x05, 0x27, 0x06, 0x27, 0x07, 0x01, 0x02,
2980 : 0x01, 0x03
2981 : };
2982 27 : return expand_rtx (expand_encoding, operands);
2983 : }
2984 :
2985 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:13446 */
2986 : rtx
2987 988 : gen_vec_extract_lo_v16hi (const rtx operand0, const rtx operand1)
2988 : {
2989 988 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
2990 988 : static const uint8_t expand_encoding[] = {
2991 : 0x1f, 0x01, 0x00, 0x81, 0x0a, 0x50, 0x01, 0x01,
2992 : 0x17, 0x00, 0x08, 0x27, 0x00, 0x27, 0x01, 0x27,
2993 : 0x02, 0x27, 0x03, 0x27, 0x04, 0x27, 0x05, 0x27,
2994 : 0x06, 0x27, 0x07
2995 : };
2996 988 : return expand_rtx (expand_encoding, operands);
2997 : }
2998 :
2999 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:13688 */
3000 : rtx
3001 36 : gen_avx512f_unpckhpd512_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
3002 : {
3003 36 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
3004 36 : static const uint8_t expand_encoding[] = {
3005 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x75, 0x81, 0x0a,
3006 : 0x75, 0x81, 0x0b, 0x7a, 0x01, 0x01, 0x01, 0x02,
3007 : 0x17, 0x00, 0x08, 0x27, 0x01, 0x27, 0x09, 0x27,
3008 : 0x03, 0x27, 0x0b, 0x27, 0x05, 0x27, 0x0d, 0x27,
3009 : 0x07, 0x27, 0x0f, 0x01, 0x03, 0x01, 0x04
3010 : };
3011 36 : return expand_rtx (expand_encoding, operands);
3012 : }
3013 :
3014 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:13849 */
3015 : rtx
3016 24 : gen_avx_unpcklpd256_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
3017 : {
3018 24 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
3019 24 : static const uint8_t expand_encoding[] = {
3020 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x70, 0x81, 0x0a,
3021 : 0x70, 0x81, 0x0b, 0x75, 0x01, 0x01, 0x01, 0x02,
3022 : 0x17, 0x00, 0x04, 0x27, 0x00, 0x27, 0x04, 0x27,
3023 : 0x02, 0x27, 0x06, 0x01, 0x03, 0x01, 0x04
3024 : };
3025 24 : return expand_rtx (expand_encoding, operands);
3026 : }
3027 :
3028 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:13977 */
3029 : rtx
3030 0 : gen_avx512f_vmscalefv2df_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
3031 : {
3032 0 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
3033 0 : static const uint8_t expand_encoding[] = {
3034 : 0x1f, 0x01, 0x00, 0x1a, 0x6c, 0x02, 0x81, 0x09,
3035 : 0x6c, 0x1a, 0x6c, 0x02, 0x01, 0x01, 0x01, 0x02,
3036 : 0x3b, 0x01, 0x01, 0x27, 0x01, 0x01, 0x03, 0x81,
3037 : 0x33
3038 : };
3039 0 : return expand_rtx (expand_encoding, operands);
3040 : }
3041 :
3042 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:13991 */
3043 : rtx
3044 36 : gen_avx512vl_scalefv16hf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
3045 : {
3046 36 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
3047 36 : static const uint8_t expand_encoding[] = {
3048 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6e, 0x1a, 0x6e,
3049 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x3b, 0x01, 0x03,
3050 : 0x01, 0x04
3051 : };
3052 36 : return expand_rtx (expand_encoding, operands);
3053 : }
3054 :
3055 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:13991 */
3056 : rtx
3057 0 : gen_avx512vl_scalefv8sf_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
3058 : {
3059 0 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
3060 0 : static const uint8_t expand_encoding[] = {
3061 : 0x1f, 0x01, 0x00, 0x1a, 0x6f, 0x02, 0x1a, 0x6f,
3062 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x3b, 0x01, 0x03,
3063 : 0x81, 0x33
3064 : };
3065 0 : return expand_rtx (expand_encoding, operands);
3066 : }
3067 :
3068 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:13991 */
3069 : rtx
3070 0 : gen_avx512f_scalefv8df_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
3071 : {
3072 0 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
3073 0 : static const uint8_t expand_encoding[] = {
3074 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x75, 0x1a, 0x75,
3075 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x3b, 0x01, 0x03,
3076 : 0x01, 0x04
3077 : };
3078 0 : return expand_rtx (expand_encoding, operands);
3079 : }
3080 :
3081 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14017 */
3082 : rtx
3083 11 : gen_avx512f_vternlogv16si_maskz_1 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5, const rtx operand6)
3084 : {
3085 11 : rtx operands[7] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5, operand6 };
3086 11 : static const uint8_t expand_encoding[] = {
3087 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5b, 0x1a, 0x5b,
3088 : 0x04, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01,
3089 : 0x04, 0x81, 0x25, 0x01, 0x05, 0x01, 0x06
3090 : };
3091 11 : return expand_rtx (expand_encoding, operands);
3092 : }
3093 :
3094 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14401 */
3095 : rtx
3096 0 : gen_avx512bw_getexpv32hf (const rtx operand0, const rtx operand1)
3097 : {
3098 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
3099 0 : static const uint8_t expand_encoding[] = {
3100 : 0x1f, 0x01, 0x00, 0x1a, 0x73, 0x01, 0x01, 0x01,
3101 : 0x81, 0x26
3102 : };
3103 0 : return expand_rtx (expand_encoding, operands);
3104 : }
3105 :
3106 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14401 */
3107 : rtx
3108 0 : gen_avx512vl_getexpv16hf_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
3109 : {
3110 0 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
3111 0 : static const uint8_t expand_encoding[] = {
3112 : 0x1f, 0x01, 0x00, 0x1a, 0x6e, 0x02, 0x81, 0x09,
3113 : 0x6e, 0x1a, 0x6e, 0x01, 0x01, 0x01, 0x81, 0x26,
3114 : 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x81, 0x33
3115 : };
3116 0 : return expand_rtx (expand_encoding, operands);
3117 : }
3118 :
3119 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14401 */
3120 : rtx
3121 0 : gen_avx512vl_getexpv4sf (const rtx operand0, const rtx operand1)
3122 : {
3123 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
3124 0 : static const uint8_t expand_encoding[] = {
3125 : 0x1f, 0x01, 0x00, 0x1a, 0x6b, 0x01, 0x01, 0x01,
3126 : 0x81, 0x26
3127 : };
3128 0 : return expand_rtx (expand_encoding, operands);
3129 : }
3130 :
3131 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14401 */
3132 : rtx
3133 54 : gen_avx512f_getexpv8df_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
3134 : {
3135 54 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
3136 54 : static const uint8_t expand_encoding[] = {
3137 : 0x1f, 0x01, 0x00, 0x1a, 0x75, 0x02, 0x81, 0x09,
3138 : 0x75, 0x1a, 0x75, 0x01, 0x01, 0x01, 0x81, 0x26,
3139 : 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x81, 0x33
3140 : };
3141 54 : return expand_rtx (expand_encoding, operands);
3142 : }
3143 :
3144 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14410 */
3145 : rtx
3146 66 : gen_avx512f_sgetexpv8hf_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
3147 : {
3148 66 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
3149 66 : static const uint8_t expand_encoding[] = {
3150 : 0x1f, 0x01, 0x00, 0x1a, 0x6a, 0x02, 0x81, 0x09,
3151 : 0x6a, 0x81, 0x09, 0x6a, 0x1a, 0x6a, 0x02, 0x01,
3152 : 0x01, 0x01, 0x02, 0x81, 0x26, 0x01, 0x03, 0x01,
3153 : 0x04, 0x01, 0x01, 0x27, 0x01, 0x01, 0x05, 0x81,
3154 : 0x33
3155 : };
3156 66 : return expand_rtx (expand_encoding, operands);
3157 : }
3158 :
3159 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14424 */
3160 : rtx
3161 33 : gen_avx512f_alignv8di_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
3162 : {
3163 33 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
3164 33 : static const uint8_t expand_encoding[] = {
3165 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5c, 0x1a, 0x5c,
3166 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
3167 : 0x28, 0x01, 0x04, 0x01, 0x05
3168 : };
3169 33 : return expand_rtx (expand_encoding, operands);
3170 : }
3171 :
3172 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14513 */
3173 : rtx
3174 0 : gen_avx512vl_fixupimmv8sf_maskz_1_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5, const rtx operand6, const rtx operand7)
3175 : {
3176 0 : rtx operands[8] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5, operand6, operand7 };
3177 0 : static const uint8_t expand_encoding[] = {
3178 : 0x1f, 0x01, 0x00, 0x1a, 0x6f, 0x02, 0x81, 0x09,
3179 : 0x6f, 0x1a, 0x6f, 0x04, 0x01, 0x01, 0x01, 0x02,
3180 : 0x01, 0x03, 0x01, 0x04, 0x81, 0x24, 0x01, 0x05,
3181 : 0x01, 0x06, 0x01, 0x07, 0x81, 0x33
3182 : };
3183 0 : return expand_rtx (expand_encoding, operands);
3184 : }
3185 :
3186 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14513 */
3187 : rtx
3188 0 : gen_avx512vl_fixupimmv4df_maskz_1_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5, const rtx operand6, const rtx operand7)
3189 : {
3190 0 : rtx operands[8] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5, operand6, operand7 };
3191 0 : static const uint8_t expand_encoding[] = {
3192 : 0x1f, 0x01, 0x00, 0x1a, 0x70, 0x02, 0x81, 0x09,
3193 : 0x70, 0x1a, 0x70, 0x04, 0x01, 0x01, 0x01, 0x02,
3194 : 0x01, 0x03, 0x01, 0x04, 0x81, 0x24, 0x01, 0x05,
3195 : 0x01, 0x06, 0x01, 0x07, 0x81, 0x33
3196 : };
3197 0 : return expand_rtx (expand_encoding, operands);
3198 : }
3199 :
3200 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14526 */
3201 : rtx
3202 33 : gen_avx512f_fixupimmv8df_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5, const rtx operand6)
3203 : {
3204 33 : rtx operands[7] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5, operand6 };
3205 33 : static const uint8_t expand_encoding[] = {
3206 : 0x1f, 0x01, 0x00, 0x1a, 0x75, 0x02, 0x81, 0x09,
3207 : 0x75, 0x1a, 0x75, 0x04, 0x01, 0x01, 0x01, 0x02,
3208 : 0x01, 0x03, 0x01, 0x04, 0x81, 0x24, 0x01, 0x01,
3209 : 0x01, 0x05, 0x01, 0x06, 0x81, 0x33
3210 : };
3211 33 : return expand_rtx (expand_encoding, operands);
3212 : }
3213 :
3214 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14558 */
3215 : rtx
3216 0 : gen_avx512f_sfixupimmv2df_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
3217 : {
3218 0 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
3219 0 : static const uint8_t expand_encoding[] = {
3220 : 0x1f, 0x01, 0x00, 0x1a, 0x6c, 0x02, 0x81, 0x09,
3221 : 0x6c, 0x1a, 0x6c, 0x04, 0x01, 0x01, 0x01, 0x02,
3222 : 0x01, 0x03, 0x01, 0x04, 0x81, 0x24, 0x01, 0x02,
3223 : 0x27, 0x01, 0x01, 0x05, 0x81, 0x33
3224 : };
3225 0 : return expand_rtx (expand_encoding, operands);
3226 : }
3227 :
3228 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14593 */
3229 : rtx
3230 66 : gen_avx512bw_rndscalev32hf_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
3231 : {
3232 66 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
3233 66 : static const uint8_t expand_encoding[] = {
3234 : 0x1f, 0x01, 0x00, 0x1a, 0x73, 0x02, 0x81, 0x09,
3235 : 0x73, 0x1a, 0x73, 0x02, 0x01, 0x01, 0x01, 0x02,
3236 : 0x5f, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x81,
3237 : 0x33
3238 : };
3239 66 : return expand_rtx (expand_encoding, operands);
3240 : }
3241 :
3242 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14593 */
3243 : rtx
3244 0 : gen_avx512f_rndscalev16sf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
3245 : {
3246 0 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
3247 0 : static const uint8_t expand_encoding[] = {
3248 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x74, 0x1a, 0x74,
3249 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x5f, 0x01, 0x03,
3250 : 0x01, 0x04
3251 : };
3252 0 : return expand_rtx (expand_encoding, operands);
3253 : }
3254 :
3255 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14593 */
3256 : rtx
3257 8 : gen_avx512f_rndscalev8df (const rtx operand0, const rtx operand1, const rtx operand2)
3258 : {
3259 8 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3260 8 : static const uint8_t expand_encoding[] = {
3261 : 0x1f, 0x01, 0x00, 0x1a, 0x75, 0x02, 0x01, 0x01,
3262 : 0x01, 0x02, 0x5f
3263 : };
3264 8 : return expand_rtx (expand_encoding, operands);
3265 : }
3266 :
3267 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14593 */
3268 : rtx
3269 0 : gen_avx512vl_rndscalev2df_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
3270 : {
3271 0 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
3272 0 : static const uint8_t expand_encoding[] = {
3273 : 0x1f, 0x01, 0x00, 0x1a, 0x6c, 0x02, 0x1a, 0x6c,
3274 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x5f, 0x01, 0x03,
3275 : 0x81, 0x33
3276 : };
3277 0 : return expand_rtx (expand_encoding, operands);
3278 : }
3279 :
3280 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14605 */
3281 : rtx
3282 0 : gen_avx512f_rndscalev4sf_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
3283 : {
3284 0 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
3285 0 : static const uint8_t expand_encoding[] = {
3286 : 0x1f, 0x01, 0x00, 0x1a, 0x6b, 0x02, 0x81, 0x09,
3287 : 0x6b, 0x1a, 0x6b, 0x02, 0x01, 0x02, 0x01, 0x03,
3288 : 0x5f, 0x01, 0x01, 0x27, 0x01, 0x01, 0x04, 0x81,
3289 : 0x33
3290 : };
3291 0 : return expand_rtx (expand_encoding, operands);
3292 : }
3293 :
3294 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14763 */
3295 : rtx
3296 0 : gen_avx_shufpd256_1 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5, const rtx operand6)
3297 : {
3298 0 : rtx operands[7] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5, operand6 };
3299 0 : static const uint8_t expand_encoding[] = {
3300 : 0x1f, 0x01, 0x00, 0x81, 0x0a, 0x70, 0x81, 0x0b,
3301 : 0x75, 0x01, 0x01, 0x01, 0x02, 0x17, 0x00, 0x04,
3302 : 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x01, 0x06
3303 : };
3304 0 : return expand_rtx (expand_encoding, operands);
3305 : }
3306 :
3307 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14862 */
3308 : rtx
3309 23 : gen_vec_interleave_highv2di (const rtx operand0, const rtx operand1, const rtx operand2)
3310 : {
3311 23 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3312 23 : static const uint8_t expand_encoding[] = {
3313 : 0x1f, 0x01, 0x00, 0x81, 0x0a, 0x52, 0x81, 0x0b,
3314 : 0x57, 0x01, 0x01, 0x01, 0x02, 0x17, 0x00, 0x02,
3315 : 0x27, 0x01, 0x27, 0x03
3316 : };
3317 23 : return expand_rtx (expand_encoding, operands);
3318 : }
3319 :
3320 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14963 */
3321 : rtx
3322 2 : gen_sse2_storehpd (const rtx operand0, const rtx operand1)
3323 : {
3324 2 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
3325 2 : static const uint8_t expand_encoding[] = {
3326 : 0x1f, 0x01, 0x00, 0x81, 0x0a, 0x2e, 0x01, 0x01,
3327 : 0x17, 0x00, 0x01, 0x27, 0x01
3328 : };
3329 2 : return expand_rtx (expand_encoding, operands);
3330 : }
3331 :
3332 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:15279 */
3333 : rtx
3334 3 : gen_vec_concatv2df (const rtx operand0, const rtx operand1, const rtx operand2)
3335 : {
3336 3 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3337 3 : static const uint8_t expand_encoding[] = {
3338 : 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x6c, 0x01, 0x01,
3339 : 0x01, 0x02
3340 : };
3341 3 : return expand_rtx (expand_encoding, operands);
3342 : }
3343 :
3344 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:15503 */
3345 : rtx
3346 36 : gen_avx512f_ss_truncatev8div8si2_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
3347 : {
3348 36 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
3349 36 : static const uint8_t expand_encoding[] = {
3350 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x56, 0x81, 0x17,
3351 : 0x56, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
3352 : };
3353 36 : return expand_rtx (expand_encoding, operands);
3354 : }
3355 :
3356 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:15575 */
3357 : rtx
3358 36 : gen_avx512bw_truncatev32hiv32qi2_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
3359 : {
3360 36 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
3361 36 : static const uint8_t expand_encoding[] = {
3362 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x54, 0x70, 0x54,
3363 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
3364 : };
3365 36 : return expand_rtx (expand_encoding, operands);
3366 : }
3367 :
3368 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:15675 */
3369 : rtx
3370 36 : gen_avx512vl_us_truncatev16hiv16qi2_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
3371 : {
3372 36 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
3373 36 : static const uint8_t expand_encoding[] = {
3374 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x4f, 0x81, 0x18,
3375 : 0x4f, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
3376 : };
3377 36 : return expand_rtx (expand_encoding, operands);
3378 : }
3379 :
3380 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:15736 */
3381 : rtx
3382 0 : gen_avx512vl_ss_truncatev8hiv8qi2 (const rtx operand0, const rtx operand1, const rtx operand2)
3383 : {
3384 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3385 0 : static const uint8_t expand_encoding[] = {
3386 : 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x4f, 0x81, 0x17,
3387 : 0x48, 0x01, 0x01, 0x01, 0x02
3388 : };
3389 0 : return expand_rtx (expand_encoding, operands);
3390 : }
3391 :
3392 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:15889 */
3393 : rtx
3394 36 : gen_avx512vl_truncatev4siv4qi2_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
3395 : {
3396 36 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
3397 36 : static const uint8_t expand_encoding[] = {
3398 : 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x4f, 0x81, 0x09,
3399 : 0x45, 0x70, 0x45, 0x01, 0x01, 0x81, 0x0a, 0x45,
3400 : 0x01, 0x02, 0x17, 0x00, 0x04, 0x27, 0x00, 0x27,
3401 : 0x01, 0x27, 0x02, 0x27, 0x03, 0x01, 0x03, 0x2c,
3402 : 0x4c, 0x0c, 0x27, 0x00, 0x27, 0x00, 0x27, 0x00,
3403 : 0x27, 0x00, 0x27, 0x00, 0x27, 0x00, 0x27, 0x00,
3404 : 0x27, 0x00, 0x27, 0x00, 0x27, 0x00, 0x27, 0x00,
3405 : 0x27, 0x00
3406 : };
3407 36 : return expand_rtx (expand_encoding, operands);
3408 : }
3409 :
3410 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:15933 */
3411 : rtx
3412 11 : gen_avx512vl_truncatev4div4qi2_mask_store_1 (const rtx operand0, const rtx operand1, const rtx operand2)
3413 : {
3414 11 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3415 11 : static const uint8_t expand_encoding[] = {
3416 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x45, 0x70, 0x45,
3417 : 0x01, 0x01, 0x01, 0x00, 0x01, 0x02
3418 : };
3419 11 : return expand_rtx (expand_encoding, operands);
3420 : }
3421 :
3422 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16031 */
3423 : rtx
3424 12 : gen_avx512vl_us_truncatev8hiv8qi2_mask_store_1 (const rtx operand0, const rtx operand1, const rtx operand2)
3425 : {
3426 12 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3427 12 : static const uint8_t expand_encoding[] = {
3428 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x48, 0x81, 0x18,
3429 : 0x48, 0x01, 0x01, 0x01, 0x00, 0x01, 0x02
3430 : };
3431 12 : return expand_rtx (expand_encoding, operands);
3432 : }
3433 :
3434 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16091 */
3435 : rtx
3436 0 : gen_avx512vl_ss_truncatev4div4hi2 (const rtx operand0, const rtx operand1, const rtx operand2)
3437 : {
3438 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3439 0 : static const uint8_t expand_encoding[] = {
3440 : 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x50, 0x81, 0x17,
3441 : 0x49, 0x01, 0x01, 0x01, 0x02
3442 : };
3443 0 : return expand_rtx (expand_encoding, operands);
3444 : }
3445 :
3446 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16149 */
3447 : rtx
3448 36 : gen_avx512vl_truncatev4siv4hi2_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
3449 : {
3450 36 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
3451 36 : static const uint8_t expand_encoding[] = {
3452 : 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x50, 0x81, 0x09,
3453 : 0x49, 0x70, 0x49, 0x01, 0x01, 0x81, 0x0a, 0x49,
3454 : 0x01, 0x02, 0x17, 0x00, 0x04, 0x27, 0x00, 0x27,
3455 : 0x01, 0x27, 0x02, 0x27, 0x03, 0x01, 0x03, 0x2c,
3456 : 0x49, 0x04, 0x27, 0x00, 0x27, 0x00, 0x27, 0x00,
3457 : 0x27, 0x00
3458 : };
3459 36 : return expand_rtx (expand_encoding, operands);
3460 : }
3461 :
3462 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16240 */
3463 : rtx
3464 36 : gen_avx512vl_truncatev2div2hi2_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
3465 : {
3466 36 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
3467 36 : static const uint8_t expand_encoding[] = {
3468 : 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x50, 0x81, 0x09,
3469 : 0x46, 0x70, 0x46, 0x01, 0x01, 0x81, 0x0a, 0x46,
3470 : 0x01, 0x02, 0x17, 0x00, 0x02, 0x27, 0x00, 0x27,
3471 : 0x01, 0x01, 0x03, 0x2c, 0x4d, 0x06, 0x27, 0x00,
3472 : 0x27, 0x00, 0x27, 0x00, 0x27, 0x00, 0x27, 0x00,
3473 : 0x27, 0x00
3474 : };
3475 36 : return expand_rtx (expand_encoding, operands);
3476 : }
3477 :
3478 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16465 */
3479 : rtx
3480 3 : gen_avx512f_truncatev8div16qi2 (const rtx operand0, const rtx operand1)
3481 : {
3482 3 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
3483 3 : static const uint8_t expand_encoding[] = {
3484 : 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x4f, 0x70, 0x48,
3485 : 0x01, 0x01, 0x2c, 0x48, 0x08, 0x27, 0x00, 0x27,
3486 : 0x00, 0x27, 0x00, 0x27, 0x00, 0x27, 0x00, 0x27,
3487 : 0x00, 0x27, 0x00, 0x27, 0x00
3488 : };
3489 3 : return expand_rtx (expand_encoding, operands);
3490 : }
3491 :
3492 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:17040 */
3493 : rtx
3494 0 : gen_avx512bw_pmaddwd512v16hi (const rtx operand0, const rtx operand1, const rtx operand2)
3495 : {
3496 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3497 0 : static const uint8_t expand_encoding[] = {
3498 : 0x1f, 0x01, 0x00, 0x1a, 0x56, 0x02, 0x01, 0x01,
3499 : 0x01, 0x02, 0x81, 0x3d
3500 : };
3501 0 : return expand_rtx (expand_encoding, operands);
3502 : }
3503 :
3504 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:17467 */
3505 : rtx
3506 50 : gen_ashrv4si3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
3507 : {
3508 50 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
3509 50 : static const uint8_t expand_encoding[] = {
3510 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x51, 0x4f, 0x51,
3511 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04
3512 : };
3513 50 : return expand_rtx (expand_encoding, operands);
3514 : }
3515 :
3516 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:17663 */
3517 : rtx
3518 55 : gen_ashlv16hi3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
3519 : {
3520 55 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
3521 55 : static const uint8_t expand_encoding[] = {
3522 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x55, 0x4d, 0x55,
3523 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04
3524 : };
3525 55 : return expand_rtx (expand_encoding, operands);
3526 : }
3527 :
3528 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:17663 */
3529 : rtx
3530 38 : gen_ashlv2di3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
3531 : {
3532 38 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
3533 38 : static const uint8_t expand_encoding[] = {
3534 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x52, 0x4d, 0x52,
3535 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04
3536 : };
3537 38 : return expand_rtx (expand_encoding, operands);
3538 : }
3539 :
3540 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:17677 */
3541 : rtx
3542 9072 : gen_lshrv2di3 (const rtx operand0, const rtx operand1, const rtx operand2)
3543 : {
3544 9072 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3545 9072 : static const uint8_t expand_encoding[] = {
3546 : 0x1f, 0x01, 0x00, 0x50, 0x52, 0x01, 0x01, 0x01,
3547 : 0x02
3548 : };
3549 9072 : return expand_rtx (expand_encoding, operands);
3550 : }
3551 :
3552 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:17751 */
3553 : rtx
3554 66 : gen_ashlv8di3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
3555 : {
3556 66 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
3557 66 : static const uint8_t expand_encoding[] = {
3558 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5c, 0x4d, 0x5c,
3559 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04
3560 : };
3561 66 : return expand_rtx (expand_encoding, operands);
3562 : }
3563 :
3564 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:17985 */
3565 : rtx
3566 1144 : gen_sse2_ashlv1ti3 (const rtx operand0, const rtx operand1, const rtx operand2)
3567 : {
3568 1144 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3569 1144 : static const uint8_t expand_encoding[] = {
3570 : 0x1f, 0x01, 0x00, 0x4d, 0x53, 0x01, 0x01, 0x01,
3571 : 0x02
3572 : };
3573 1144 : return expand_rtx (expand_encoding, operands);
3574 : }
3575 :
3576 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18012 */
3577 : rtx
3578 0 : gen_avx512vl_rolvv4si (const rtx operand0, const rtx operand1, const rtx operand2)
3579 : {
3580 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3581 0 : static const uint8_t expand_encoding[] = {
3582 : 0x1f, 0x01, 0x00, 0x4e, 0x51, 0x01, 0x01, 0x01,
3583 : 0x02
3584 : };
3585 0 : return expand_rtx (expand_encoding, operands);
3586 : }
3587 :
3588 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18012 */
3589 : rtx
3590 0 : gen_avx512vl_rolvv4di (const rtx operand0, const rtx operand1, const rtx operand2)
3591 : {
3592 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3593 0 : static const uint8_t expand_encoding[] = {
3594 : 0x1f, 0x01, 0x00, 0x4e, 0x57, 0x01, 0x01, 0x01,
3595 : 0x02
3596 : };
3597 0 : return expand_rtx (expand_encoding, operands);
3598 : }
3599 :
3600 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18022 */
3601 : rtx
3602 0 : gen_avx512f_rolv16si (const rtx operand0, const rtx operand1, const rtx operand2)
3603 : {
3604 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3605 0 : static const uint8_t expand_encoding[] = {
3606 : 0x1f, 0x01, 0x00, 0x4e, 0x5b, 0x01, 0x01, 0x01,
3607 : 0x02
3608 : };
3609 0 : return expand_rtx (expand_encoding, operands);
3610 : }
3611 :
3612 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18022 */
3613 : rtx
3614 0 : gen_avx512vl_rolv4si (const rtx operand0, const rtx operand1, const rtx operand2)
3615 : {
3616 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3617 0 : static const uint8_t expand_encoding[] = {
3618 : 0x1f, 0x01, 0x00, 0x4e, 0x51, 0x01, 0x01, 0x01,
3619 : 0x02
3620 : };
3621 0 : return expand_rtx (expand_encoding, operands);
3622 : }
3623 :
3624 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18022 */
3625 : rtx
3626 24 : gen_avx512vl_rolv4di_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
3627 : {
3628 24 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
3629 24 : static const uint8_t expand_encoding[] = {
3630 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x57, 0x4e, 0x57,
3631 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04
3632 : };
3633 24 : return expand_rtx (expand_encoding, operands);
3634 : }
3635 :
3636 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18666 */
3637 : rtx
3638 9 : gen_avx2_gtv4di3 (const rtx operand0, const rtx operand1, const rtx operand2)
3639 : {
3640 9 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3641 9 : static const uint8_t expand_encoding[] = {
3642 : 0x1f, 0x01, 0x00, 0x5f, 0x57, 0x01, 0x01, 0x01,
3643 : 0x02
3644 : };
3645 9 : return expand_rtx (expand_encoding, operands);
3646 : }
3647 :
3648 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:19449 */
3649 : rtx
3650 0 : gen_avx512bw_testmv64qi3 (const rtx operand0, const rtx operand1, const rtx operand2)
3651 : {
3652 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3653 0 : static const uint8_t expand_encoding[] = {
3654 : 0x1f, 0x01, 0x00, 0x1a, 0x12, 0x02, 0x01, 0x01,
3655 : 0x01, 0x02, 0x81, 0x1f
3656 : };
3657 0 : return expand_rtx (expand_encoding, operands);
3658 : }
3659 :
3660 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:19449 */
3661 : rtx
3662 0 : gen_avx512vl_testmv8hi3 (const rtx operand0, const rtx operand1, const rtx operand2)
3663 : {
3664 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3665 0 : static const uint8_t expand_encoding[] = {
3666 : 0x1f, 0x01, 0x00, 0x1a, 0x0f, 0x02, 0x01, 0x01,
3667 : 0x01, 0x02, 0x81, 0x1f
3668 : };
3669 0 : return expand_rtx (expand_encoding, operands);
3670 : }
3671 :
3672 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:19449 */
3673 : rtx
3674 0 : gen_avx512vl_testmv4di3 (const rtx operand0, const rtx operand1, const rtx operand2)
3675 : {
3676 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3677 0 : static const uint8_t expand_encoding[] = {
3678 : 0x1f, 0x01, 0x00, 0x1a, 0x0f, 0x02, 0x01, 0x01,
3679 : 0x01, 0x02, 0x81, 0x1f
3680 : };
3681 0 : return expand_rtx (expand_encoding, operands);
3682 : }
3683 :
3684 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:19460 */
3685 : rtx
3686 24 : gen_avx512vl_testnmv16qi3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
3687 : {
3688 24 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
3689 24 : static const uint8_t expand_encoding[] = {
3690 : 0x1f, 0x01, 0x00, 0x49, 0x10, 0x1a, 0x10, 0x02,
3691 : 0x01, 0x01, 0x01, 0x02, 0x81, 0x20, 0x01, 0x03
3692 : };
3693 24 : return expand_rtx (expand_encoding, operands);
3694 : }
3695 :
3696 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:19460 */
3697 : rtx
3698 0 : gen_avx512vl_testnmv4si3 (const rtx operand0, const rtx operand1, const rtx operand2)
3699 : {
3700 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3701 0 : static const uint8_t expand_encoding[] = {
3702 : 0x1f, 0x01, 0x00, 0x1a, 0x0f, 0x02, 0x01, 0x01,
3703 : 0x01, 0x02, 0x81, 0x20
3704 : };
3705 0 : return expand_rtx (expand_encoding, operands);
3706 : }
3707 :
3708 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:19608 */
3709 : rtx
3710 24 : gen_sse2_packsswb_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
3711 : {
3712 24 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
3713 24 : static const uint8_t expand_encoding[] = {
3714 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x4f, 0x81, 0x0b,
3715 : 0x4f, 0x81, 0x17, 0x48, 0x01, 0x01, 0x81, 0x17,
3716 : 0x48, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04
3717 : };
3718 24 : return expand_rtx (expand_encoding, operands);
3719 : }
3720 :
3721 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:19741 */
3722 : rtx
3723 40 : gen_avx512bw_packssdw_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
3724 : {
3725 40 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
3726 40 : static const uint8_t expand_encoding[] = {
3727 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5a, 0x81, 0x0a,
3728 : 0x5a, 0x81, 0x0b, 0x5a, 0x81, 0x17, 0x55, 0x01,
3729 : 0x01, 0x81, 0x17, 0x55, 0x01, 0x02, 0x17, 0x00,
3730 : 0x20, 0x27, 0x00, 0x27, 0x01, 0x27, 0x02, 0x27,
3731 : 0x03, 0x27, 0x10, 0x27, 0x11, 0x27, 0x12, 0x27,
3732 : 0x13, 0x27, 0x04, 0x27, 0x05, 0x27, 0x06, 0x27,
3733 : 0x07, 0x27, 0x14, 0x27, 0x15, 0x27, 0x16, 0x27,
3734 : 0x17, 0x27, 0x08, 0x27, 0x09, 0x27, 0x0a, 0x27,
3735 : 0x0b, 0x27, 0x18, 0x27, 0x19, 0x27, 0x1a, 0x27,
3736 : 0x1b, 0x27, 0x0c, 0x27, 0x0d, 0x27, 0x0e, 0x27,
3737 : 0x0f, 0x27, 0x1c, 0x27, 0x1d, 0x27, 0x1e, 0x27,
3738 : 0x1f, 0x01, 0x03, 0x01, 0x04
3739 : };
3740 40 : return expand_rtx (expand_encoding, operands);
3741 : }
3742 :
3743 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:19861 */
3744 : rtx
3745 24 : gen_vec_interleave_highv16qi_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
3746 : {
3747 24 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
3748 24 : static const uint8_t expand_encoding[] = {
3749 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x4f, 0x81, 0x0a,
3750 : 0x4f, 0x81, 0x0b, 0x54, 0x01, 0x01, 0x01, 0x02,
3751 : 0x17, 0x00, 0x10, 0x27, 0x08, 0x27, 0x18, 0x27,
3752 : 0x09, 0x27, 0x19, 0x27, 0x0a, 0x27, 0x1a, 0x27,
3753 : 0x0b, 0x27, 0x1b, 0x27, 0x0c, 0x27, 0x1c, 0x27,
3754 : 0x0d, 0x27, 0x1d, 0x27, 0x0e, 0x27, 0x1e, 0x27,
3755 : 0x0f, 0x27, 0x1f, 0x01, 0x03, 0x01, 0x04
3756 : };
3757 24 : return expand_rtx (expand_encoding, operands);
3758 : }
3759 :
3760 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:19981 */
3761 : rtx
3762 0 : gen_avx512bw_interleave_highv32hi (const rtx operand0, const rtx operand1, const rtx operand2)
3763 : {
3764 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3765 0 : static const uint8_t expand_encoding[] = {
3766 : 0x1f, 0x01, 0x00, 0x81, 0x0a, 0x5a, 0x81, 0x0b,
3767 : 0x5f, 0x01, 0x01, 0x01, 0x02, 0x17, 0x00, 0x20,
3768 : 0x27, 0x04, 0x27, 0x24, 0x27, 0x05, 0x27, 0x25,
3769 : 0x27, 0x06, 0x27, 0x26, 0x27, 0x07, 0x27, 0x27,
3770 : 0x27, 0x0c, 0x27, 0x2c, 0x27, 0x0d, 0x27, 0x2d,
3771 : 0x27, 0x0e, 0x27, 0x2e, 0x27, 0x0f, 0x27, 0x2f,
3772 : 0x27, 0x14, 0x27, 0x34, 0x27, 0x15, 0x27, 0x35,
3773 : 0x27, 0x16, 0x27, 0x36, 0x27, 0x17, 0x27, 0x37,
3774 : 0x27, 0x1c, 0x27, 0x3c, 0x27, 0x1d, 0x27, 0x3d,
3775 : 0x27, 0x1e, 0x27, 0x3e, 0x27, 0x1f, 0x27, 0x3f
3776 : };
3777 0 : return expand_rtx (expand_encoding, operands);
3778 : }
3779 :
3780 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:20009 */
3781 : rtx
3782 0 : gen_avx2_interleave_highv16bf (const rtx operand0, const rtx operand1, const rtx operand2)
3783 : {
3784 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3785 0 : static const uint8_t expand_encoding[] = {
3786 : 0x1f, 0x01, 0x00, 0x81, 0x0a, 0x6d, 0x81, 0x0b,
3787 : 0x72, 0x01, 0x01, 0x01, 0x02, 0x17, 0x00, 0x10,
3788 : 0x27, 0x04, 0x27, 0x14, 0x27, 0x05, 0x27, 0x15,
3789 : 0x27, 0x06, 0x27, 0x16, 0x27, 0x07, 0x27, 0x17,
3790 : 0x27, 0x0c, 0x27, 0x1c, 0x27, 0x0d, 0x27, 0x1d,
3791 : 0x27, 0x0e, 0x27, 0x1e, 0x27, 0x0f, 0x27, 0x1f
3792 : };
3793 0 : return expand_rtx (expand_encoding, operands);
3794 : }
3795 :
3796 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:20049 */
3797 : rtx
3798 0 : gen_avx512bw_interleave_lowv32bf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
3799 : {
3800 0 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
3801 0 : static const uint8_t expand_encoding[] = {
3802 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x72, 0x81, 0x0a,
3803 : 0x72, 0x81, 0x0b, 0x77, 0x01, 0x01, 0x01, 0x02,
3804 : 0x17, 0x00, 0x20, 0x27, 0x00, 0x27, 0x20, 0x27,
3805 : 0x01, 0x27, 0x21, 0x27, 0x02, 0x27, 0x22, 0x27,
3806 : 0x03, 0x27, 0x23, 0x27, 0x08, 0x27, 0x28, 0x27,
3807 : 0x09, 0x27, 0x29, 0x27, 0x0a, 0x27, 0x2a, 0x27,
3808 : 0x0b, 0x27, 0x2b, 0x27, 0x10, 0x27, 0x30, 0x27,
3809 : 0x11, 0x27, 0x31, 0x27, 0x12, 0x27, 0x32, 0x27,
3810 : 0x13, 0x27, 0x33, 0x27, 0x18, 0x27, 0x38, 0x27,
3811 : 0x19, 0x27, 0x39, 0x27, 0x1a, 0x27, 0x3a, 0x27,
3812 : 0x1b, 0x27, 0x3b, 0x01, 0x03, 0x01, 0x04
3813 : };
3814 0 : return expand_rtx (expand_encoding, operands);
3815 : }
3816 :
3817 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:20117 */
3818 : rtx
3819 13 : gen_avx2_interleave_highv8si (const rtx operand0, const rtx operand1, const rtx operand2)
3820 : {
3821 13 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3822 13 : static const uint8_t expand_encoding[] = {
3823 : 0x1f, 0x01, 0x00, 0x81, 0x0a, 0x56, 0x81, 0x0b,
3824 : 0x5b, 0x01, 0x01, 0x01, 0x02, 0x17, 0x00, 0x08,
3825 : 0x27, 0x02, 0x27, 0x0a, 0x27, 0x03, 0x27, 0x0b,
3826 : 0x27, 0x06, 0x27, 0x0e, 0x27, 0x07, 0x27, 0x0f
3827 : };
3828 13 : return expand_rtx (expand_encoding, operands);
3829 : }
3830 :
3831 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:20208 */
3832 : rtx
3833 24 : gen_vec_interleave_lowv4si_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
3834 : {
3835 24 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
3836 24 : static const uint8_t expand_encoding[] = {
3837 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x51, 0x81, 0x0a,
3838 : 0x51, 0x81, 0x0b, 0x56, 0x01, 0x01, 0x01, 0x02,
3839 : 0x17, 0x00, 0x04, 0x27, 0x00, 0x27, 0x04, 0x27,
3840 : 0x01, 0x27, 0x05, 0x01, 0x03, 0x01, 0x04
3841 : };
3842 24 : return expand_rtx (expand_encoding, operands);
3843 : }
3844 :
3845 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:20491 */
3846 : rtx
3847 2 : gen_vec_set_lo_v16sf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
3848 : {
3849 2 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
3850 2 : static const uint8_t expand_encoding[] = {
3851 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x74, 0x81, 0x0b,
3852 : 0x74, 0x01, 0x02, 0x81, 0x0a, 0x6f, 0x01, 0x01,
3853 : 0x17, 0x00, 0x08, 0x27, 0x08, 0x27, 0x09, 0x27,
3854 : 0x0a, 0x27, 0x0b, 0x27, 0x0c, 0x27, 0x0d, 0x27,
3855 : 0x0e, 0x27, 0x0f, 0x01, 0x03, 0x01, 0x04
3856 : };
3857 2 : return expand_rtx (expand_encoding, operands);
3858 : }
3859 :
3860 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:20543 */
3861 : rtx
3862 51 : gen_vec_set_hi_v8df_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
3863 : {
3864 51 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
3865 51 : static const uint8_t expand_encoding[] = {
3866 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x75, 0x81, 0x0b,
3867 : 0x75, 0x81, 0x0a, 0x70, 0x01, 0x01, 0x17, 0x00,
3868 : 0x04, 0x27, 0x00, 0x27, 0x01, 0x27, 0x02, 0x27,
3869 : 0x03, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04
3870 : };
3871 51 : return expand_rtx (expand_encoding, operands);
3872 : }
3873 :
3874 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:20734 */
3875 : rtx
3876 2 : gen_avx512vl_shuf_f32x4_1 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5, const rtx operand6, const rtx operand7, const rtx operand8, const rtx operand9, const rtx operand10)
3877 : {
3878 2 : rtx operands[11] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5, operand6, operand7, operand8, operand9, operand10 };
3879 2 : static const uint8_t expand_encoding[] = {
3880 : 0x1f, 0x01, 0x00, 0x81, 0x0a, 0x6f, 0x81, 0x0b,
3881 : 0x74, 0x01, 0x01, 0x01, 0x02, 0x17, 0x00, 0x08,
3882 : 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x01, 0x06,
3883 : 0x01, 0x07, 0x01, 0x08, 0x01, 0x09, 0x01, 0x0a
3884 : };
3885 2 : return expand_rtx (expand_encoding, operands);
3886 : }
3887 :
3888 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:21034 */
3889 : rtx
3890 16 : gen_avx2_pshufd_1_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5, const rtx operand6, const rtx operand7, const rtx operand8, const rtx operand9, const rtx operand10, const rtx operand11)
3891 : {
3892 16 : rtx operands[12] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5, operand6, operand7, operand8, operand9, operand10, operand11 };
3893 16 : static const uint8_t expand_encoding[] = {
3894 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x56, 0x81, 0x0a,
3895 : 0x56, 0x01, 0x01, 0x17, 0x00, 0x08, 0x01, 0x02,
3896 : 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x01, 0x06,
3897 : 0x01, 0x07, 0x01, 0x08, 0x01, 0x09, 0x01, 0x0a,
3898 : 0x01, 0x0b
3899 : };
3900 16 : return expand_rtx (expand_encoding, operands);
3901 : }
3902 :
3903 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:21252 */
3904 : rtx
3905 16 : gen_sse2_pshuflw_1 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
3906 : {
3907 16 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
3908 16 : static const uint8_t expand_encoding[] = {
3909 : 0x1f, 0x01, 0x00, 0x81, 0x0a, 0x50, 0x01, 0x01,
3910 : 0x17, 0x00, 0x08, 0x01, 0x02, 0x01, 0x03, 0x01,
3911 : 0x04, 0x01, 0x05, 0x27, 0x04, 0x27, 0x05, 0x27,
3912 : 0x06, 0x27, 0x07
3913 : };
3914 16 : return expand_rtx (expand_encoding, operands);
3915 : }
3916 :
3917 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:22083 */
3918 : rtx
3919 2983 : gen_vec_concatv2di (const rtx operand0, const rtx operand1, const rtx operand2)
3920 : {
3921 2983 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3922 2983 : static const uint8_t expand_encoding[] = {
3923 : 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x52, 0x01, 0x01,
3924 : 0x01, 0x02
3925 : };
3926 2983 : return expand_rtx (expand_encoding, operands);
3927 : }
3928 :
3929 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:22530 */
3930 : rtx
3931 261 : gen_sse2_pmovmskb (const rtx operand0, const rtx operand1)
3932 : {
3933 261 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
3934 261 : static const uint8_t expand_encoding[] = {
3935 : 0x1f, 0x01, 0x00, 0x1a, 0x11, 0x01, 0x01, 0x01,
3936 : 0x32
3937 : };
3938 261 : return expand_rtx (expand_encoding, operands);
3939 : }
3940 :
3941 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:23035 */
3942 : rtx
3943 33 : gen_ssse3_phaddwv8hi3 (const rtx operand0, const rtx operand1, const rtx operand2)
3944 : {
3945 33 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3946 33 : static const uint8_t expand_encoding[] = {
3947 : 0x1f, 0x01, 0x00, 0x3b, 0x50, 0x81, 0x0a, 0x50,
3948 : 0x81, 0x0b, 0x55, 0x01, 0x01, 0x01, 0x02, 0x17,
3949 : 0x00, 0x08, 0x27, 0x00, 0x27, 0x02, 0x27, 0x04,
3950 : 0x27, 0x06, 0x27, 0x08, 0x27, 0x0a, 0x27, 0x0c,
3951 : 0x27, 0x0e, 0x81, 0x0a, 0x50, 0x81, 0x0b, 0x55,
3952 : 0x01, 0x01, 0x01, 0x02, 0x17, 0x00, 0x08, 0x27,
3953 : 0x01, 0x27, 0x03, 0x27, 0x05, 0x27, 0x07, 0x27,
3954 : 0x09, 0x27, 0x0b, 0x27, 0x0d, 0x27, 0x0f
3955 : };
3956 33 : return expand_rtx (expand_encoding, operands);
3957 : }
3958 :
3959 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:23063 */
3960 : rtx
3961 15 : gen_ssse3_phsubwv4hi3 (const rtx operand0, const rtx operand1, const rtx operand2)
3962 : {
3963 15 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3964 15 : static const uint8_t expand_encoding[] = {
3965 : 0x1f, 0x01, 0x00, 0x3c, 0x49, 0x81, 0x0a, 0x49,
3966 : 0x81, 0x0b, 0x50, 0x01, 0x01, 0x01, 0x02, 0x17,
3967 : 0x00, 0x04, 0x27, 0x00, 0x27, 0x02, 0x27, 0x04,
3968 : 0x27, 0x06, 0x81, 0x0a, 0x49, 0x81, 0x0b, 0x50,
3969 : 0x01, 0x01, 0x01, 0x02, 0x17, 0x00, 0x04, 0x27,
3970 : 0x01, 0x27, 0x03, 0x27, 0x05, 0x27, 0x07
3971 : };
3972 15 : return expand_rtx (expand_encoding, operands);
3973 : }
3974 :
3975 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:23252 */
3976 : rtx
3977 0 : gen_avx512bw_pmaddubsw512v16hi (const rtx operand0, const rtx operand1, const rtx operand2)
3978 : {
3979 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3980 0 : static const uint8_t expand_encoding[] = {
3981 : 0x1f, 0x01, 0x00, 0x1a, 0x55, 0x02, 0x01, 0x01,
3982 : 0x01, 0x02, 0x81, 0x3c
3983 : };
3984 0 : return expand_rtx (expand_encoding, operands);
3985 : }
3986 :
3987 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:23580 */
3988 : rtx
3989 98 : gen_avx512bw_pshufbv64qi3 (const rtx operand0, const rtx operand1, const rtx operand2)
3990 : {
3991 98 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
3992 98 : static const uint8_t expand_encoding[] = {
3993 : 0x1f, 0x01, 0x00, 0x1a, 0x59, 0x02, 0x01, 0x01,
3994 : 0x01, 0x02, 0x35
3995 : };
3996 98 : return expand_rtx (expand_encoding, operands);
3997 : }
3998 :
3999 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:23580 */
4000 : rtx
4001 24 : gen_ssse3_pshufbv16qi3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
4002 : {
4003 24 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
4004 24 : static const uint8_t expand_encoding[] = {
4005 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x4f, 0x1a, 0x4f,
4006 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x35, 0x01, 0x03,
4007 : 0x01, 0x04
4008 : };
4009 24 : return expand_rtx (expand_encoding, operands);
4010 : }
4011 :
4012 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:23684 */
4013 : rtx
4014 17 : gen_avx2_palignrv32qi_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
4015 : {
4016 17 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
4017 17 : static const uint8_t expand_encoding[] = {
4018 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x54, 0x1a, 0x54,
4019 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x7a,
4020 : 0x01, 0x04, 0x01, 0x05
4021 : };
4022 17 : return expand_rtx (expand_encoding, operands);
4023 : }
4024 :
4025 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:23846 */
4026 : rtx
4027 24 : gen_absv32qi2_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4028 : {
4029 24 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4030 24 : static const uint8_t expand_encoding[] = {
4031 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x54, 0x7b, 0x54,
4032 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
4033 : };
4034 24 : return expand_rtx (expand_encoding, operands);
4035 : }
4036 :
4037 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:23929 */
4038 : rtx
4039 19 : gen_sse4a_insertqi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
4040 : {
4041 19 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
4042 19 : static const uint8_t expand_encoding[] = {
4043 : 0x1f, 0x01, 0x00, 0x1a, 0x52, 0x04, 0x01, 0x01,
4044 : 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x7d
4045 : };
4046 19 : return expand_rtx (expand_encoding, operands);
4047 : }
4048 :
4049 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:24015 */
4050 : rtx
4051 124 : gen_sse4_1_blendvsd (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4052 : {
4053 124 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4054 124 : static const uint8_t expand_encoding[] = {
4055 : 0x1f, 0x01, 0x00, 0x1a, 0x2e, 0x03, 0x01, 0x01,
4056 : 0x01, 0x02, 0x01, 0x03, 0x34
4057 : };
4058 124 : return expand_rtx (expand_encoding, operands);
4059 : }
4060 :
4061 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:24285 */
4062 : rtx
4063 11 : gen_avx10_2_mpsadbw (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4064 : {
4065 11 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4066 11 : static const uint8_t expand_encoding[] = {
4067 : 0x1f, 0x01, 0x00, 0x1a, 0x59, 0x03, 0x01, 0x01,
4068 : 0x01, 0x02, 0x01, 0x03, 0x81, 0x01
4069 : };
4070 11 : return expand_rtx (expand_encoding, operands);
4071 : }
4072 :
4073 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:24328 */
4074 : rtx
4075 400 : gen_avx2_pblendvb (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4076 : {
4077 400 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4078 400 : static const uint8_t expand_encoding[] = {
4079 : 0x1f, 0x01, 0x00, 0x1a, 0x54, 0x03, 0x01, 0x01,
4080 : 0x01, 0x02, 0x01, 0x03, 0x34
4081 : };
4082 400 : return expand_rtx (expand_encoding, operands);
4083 : }
4084 :
4085 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:24593 */
4086 : rtx
4087 35 : gen_avx2_sign_extendv16qiv16hi2_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4088 : {
4089 35 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4090 35 : static const uint8_t expand_encoding[] = {
4091 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x55, 0x6e, 0x55,
4092 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
4093 : };
4094 35 : return expand_rtx (expand_encoding, operands);
4095 : }
4096 :
4097 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:24872 */
4098 : rtx
4099 36 : gen_avx512f_sign_extendv16qiv16si2_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4100 : {
4101 36 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4102 36 : static const uint8_t expand_encoding[] = {
4103 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5b, 0x6e, 0x5b,
4104 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
4105 : };
4106 36 : return expand_rtx (expand_encoding, operands);
4107 : }
4108 :
4109 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:24980 */
4110 : rtx
4111 24 : gen_sse4_1_zero_extendv4qiv4si2_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4112 : {
4113 24 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4114 24 : static const uint8_t expand_encoding[] = {
4115 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x51, 0x6f, 0x51,
4116 : 0x81, 0x0a, 0x45, 0x01, 0x01, 0x17, 0x00, 0x04,
4117 : 0x27, 0x00, 0x27, 0x01, 0x27, 0x02, 0x27, 0x03,
4118 : 0x01, 0x02, 0x01, 0x03
4119 : };
4120 24 : return expand_rtx (expand_encoding, operands);
4121 : }
4122 :
4123 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:25186 */
4124 : rtx
4125 240 : gen_sse4_1_zero_extendv4hiv4si2 (const rtx operand0, const rtx operand1)
4126 : {
4127 240 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
4128 240 : static const uint8_t expand_encoding[] = {
4129 : 0x1f, 0x01, 0x00, 0x6f, 0x51, 0x81, 0x0a, 0x49,
4130 : 0x01, 0x01, 0x17, 0x00, 0x04, 0x27, 0x00, 0x27,
4131 : 0x01, 0x27, 0x02, 0x27, 0x03
4132 : };
4133 240 : return expand_rtx (expand_encoding, operands);
4134 : }
4135 :
4136 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:25431 */
4137 : rtx
4138 27 : gen_avx2_zero_extendv4qiv4di2_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4139 : {
4140 27 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4141 27 : static const uint8_t expand_encoding[] = {
4142 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x57, 0x6f, 0x57,
4143 : 0x81, 0x0a, 0x45, 0x01, 0x01, 0x17, 0x00, 0x04,
4144 : 0x27, 0x00, 0x27, 0x01, 0x27, 0x02, 0x27, 0x03,
4145 : 0x01, 0x02, 0x01, 0x03
4146 : };
4147 27 : return expand_rtx (expand_encoding, operands);
4148 : }
4149 :
4150 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:25608 */
4151 : rtx
4152 16 : gen_avx2_zero_extendv4hiv4di2 (const rtx operand0, const rtx operand1)
4153 : {
4154 16 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
4155 16 : static const uint8_t expand_encoding[] = {
4156 : 0x1f, 0x01, 0x00, 0x6f, 0x57, 0x81, 0x0a, 0x49,
4157 : 0x01, 0x01, 0x17, 0x00, 0x04, 0x27, 0x00, 0x27,
4158 : 0x01, 0x27, 0x02, 0x27, 0x03
4159 : };
4160 16 : return expand_rtx (expand_encoding, operands);
4161 : }
4162 :
4163 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:25786 */
4164 : rtx
4165 36 : gen_avx512f_zero_extendv8siv8di2_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4166 : {
4167 36 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4168 36 : static const uint8_t expand_encoding[] = {
4169 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5c, 0x6f, 0x5c,
4170 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
4171 : };
4172 36 : return expand_rtx (expand_encoding, operands);
4173 : }
4174 :
4175 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26041 */
4176 : rtx
4177 33 : gen_avx_vtestpd256 (const rtx operand0, const rtx operand1)
4178 : {
4179 33 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
4180 33 : static const uint8_t expand_encoding[] = {
4181 : 0x1f, 0x30, 0x02, 0x11, 0x1a, 0x02, 0x02, 0x01,
4182 : 0x00, 0x01, 0x01, 0x81, 0x15
4183 : };
4184 33 : return expand_rtx (expand_encoding, operands);
4185 : }
4186 :
4187 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26339 */
4188 : rtx
4189 38 : gen_sse4_1_roundsd (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4190 : {
4191 38 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4192 38 : static const uint8_t expand_encoding[] = {
4193 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6c, 0x1a, 0x6c,
4194 : 0x02, 0x01, 0x02, 0x01, 0x03, 0x5f, 0x01, 0x01,
4195 : 0x27, 0x01
4196 : };
4197 38 : return expand_rtx (expand_encoding, operands);
4198 : }
4199 :
4200 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26882 */
4201 : rtx
4202 16 : gen_xop_pmacssww (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4203 : {
4204 16 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4205 16 : static const uint8_t expand_encoding[] = {
4206 : 0x1f, 0x01, 0x00, 0x81, 0x0e, 0x50, 0x3e, 0x50,
4207 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
4208 : };
4209 16 : return expand_rtx (expand_encoding, operands);
4210 : }
4211 :
4212 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26955 */
4213 : rtx
4214 8 : gen_xop_pmadcswd (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4215 : {
4216 8 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4217 8 : static const uint8_t expand_encoding[] = {
4218 : 0x1f, 0x01, 0x00, 0x3b, 0x51, 0x3b, 0x51, 0x3e,
4219 : 0x51, 0x6e, 0x51, 0x81, 0x0a, 0x49, 0x01, 0x01,
4220 : 0x17, 0x00, 0x04, 0x27, 0x00, 0x27, 0x02, 0x27,
4221 : 0x04, 0x27, 0x06, 0x6e, 0x51, 0x81, 0x0a, 0x49,
4222 : 0x01, 0x02, 0x17, 0x00, 0x04, 0x27, 0x00, 0x27,
4223 : 0x02, 0x27, 0x04, 0x27, 0x06, 0x3e, 0x51, 0x6e,
4224 : 0x51, 0x81, 0x0a, 0x49, 0x01, 0x01, 0x17, 0x00,
4225 : 0x04, 0x27, 0x01, 0x27, 0x03, 0x27, 0x05, 0x27,
4226 : 0x07, 0x6e, 0x51, 0x81, 0x0a, 0x49, 0x01, 0x02,
4227 : 0x17, 0x00, 0x04, 0x27, 0x01, 0x27, 0x03, 0x27,
4228 : 0x05, 0x27, 0x07, 0x01, 0x03
4229 : };
4230 8 : return expand_rtx (expand_encoding, operands);
4231 : }
4232 :
4233 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26989 */
4234 : rtx
4235 0 : gen_xop_pcmov_v16hf256 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4236 : {
4237 0 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4238 0 : static const uint8_t expand_encoding[] = {
4239 : 0x1f, 0x01, 0x00, 0x39, 0x6e, 0x01, 0x03, 0x01,
4240 : 0x01, 0x01, 0x02
4241 : };
4242 0 : return expand_rtx (expand_encoding, operands);
4243 : }
4244 :
4245 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:27085 */
4246 : rtx
4247 9 : gen_xop_phaddubq (const rtx operand0, const rtx operand1)
4248 : {
4249 9 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
4250 9 : static const uint8_t expand_encoding[] = {
4251 : 0x1f, 0x01, 0x00, 0x3b, 0x52, 0x3b, 0x52, 0x3b,
4252 : 0x52, 0x6f, 0x52, 0x81, 0x0a, 0x44, 0x01, 0x01,
4253 : 0x17, 0x00, 0x02, 0x27, 0x00, 0x27, 0x08, 0x6f,
4254 : 0x52, 0x81, 0x0a, 0x44, 0x01, 0x01, 0x17, 0x00,
4255 : 0x02, 0x27, 0x01, 0x27, 0x09, 0x3b, 0x52, 0x6f,
4256 : 0x52, 0x81, 0x0a, 0x44, 0x01, 0x01, 0x17, 0x00,
4257 : 0x02, 0x27, 0x02, 0x27, 0x0a, 0x6f, 0x52, 0x81,
4258 : 0x0a, 0x44, 0x01, 0x01, 0x17, 0x00, 0x02, 0x27,
4259 : 0x03, 0x27, 0x0b, 0x3b, 0x52, 0x3b, 0x52, 0x6f,
4260 : 0x52, 0x81, 0x0a, 0x44, 0x01, 0x01, 0x17, 0x00,
4261 : 0x02, 0x27, 0x04, 0x27, 0x0c, 0x6f, 0x52, 0x81,
4262 : 0x0a, 0x44, 0x01, 0x01, 0x17, 0x00, 0x02, 0x27,
4263 : 0x05, 0x27, 0x0d, 0x3b, 0x52, 0x6f, 0x52, 0x81,
4264 : 0x0a, 0x44, 0x01, 0x01, 0x17, 0x00, 0x02, 0x27,
4265 : 0x06, 0x27, 0x0e, 0x6f, 0x52, 0x81, 0x0a, 0x44,
4266 : 0x01, 0x01, 0x17, 0x00, 0x02, 0x27, 0x07, 0x27,
4267 : 0x0f
4268 : };
4269 9 : return expand_rtx (expand_encoding, operands);
4270 : }
4271 :
4272 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:27399 */
4273 : rtx
4274 0 : gen_xop_rotrv16qi3 (const rtx operand0, const rtx operand1, const rtx operand2)
4275 : {
4276 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
4277 0 : static const uint8_t expand_encoding[] = {
4278 : 0x1f, 0x01, 0x00, 0x51, 0x4f, 0x01, 0x01, 0x01,
4279 : 0x02
4280 : };
4281 0 : return expand_rtx (expand_encoding, operands);
4282 : }
4283 :
4284 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:27675 */
4285 : rtx
4286 271 : gen_xop_shav4si3 (const rtx operand0, const rtx operand1, const rtx operand2)
4287 : {
4288 271 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
4289 271 : static const uint8_t expand_encoding[] = {
4290 : 0x1f, 0x01, 0x00, 0x39, 0x51, 0x5e, 0x51, 0x01,
4291 : 0x02, 0x27, 0x00, 0x4d, 0x51, 0x01, 0x01, 0x01,
4292 : 0x02, 0x4f, 0x51, 0x01, 0x01, 0x3d, 0x51, 0x01,
4293 : 0x02
4294 : };
4295 271 : return expand_rtx (expand_encoding, operands);
4296 : }
4297 :
4298 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:27852 */
4299 : rtx
4300 8 : gen_xop_frczv8sf2 (const rtx operand0, const rtx operand1)
4301 : {
4302 8 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
4303 8 : static const uint8_t expand_encoding[] = {
4304 : 0x1f, 0x01, 0x00, 0x1a, 0x6f, 0x01, 0x01, 0x01,
4305 : 0x81, 0x09
4306 : };
4307 8 : return expand_rtx (expand_encoding, operands);
4308 : }
4309 :
4310 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:27913 */
4311 : rtx
4312 16 : gen_xop_maskcmp_uns2v16qi3 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4313 : {
4314 16 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4315 16 : static const uint8_t expand_encoding[] = {
4316 : 0x1f, 0x01, 0x00, 0x1a, 0x4f, 0x01, 0x03, 0x4f,
4317 : 0x01, 0x01, 0x02, 0x01, 0x03, 0x81, 0x07
4318 : };
4319 16 : return expand_rtx (expand_encoding, operands);
4320 : }
4321 :
4322 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:27943 */
4323 : rtx
4324 18 : gen_xop_vpermil2v4df3 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
4325 : {
4326 18 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
4327 18 : static const uint8_t expand_encoding[] = {
4328 : 0x1f, 0x01, 0x00, 0x1a, 0x70, 0x04, 0x01, 0x01,
4329 : 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x81, 0x12
4330 : };
4331 18 : return expand_rtx (expand_encoding, operands);
4332 : }
4333 :
4334 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:28149 */
4335 : rtx
4336 0 : gen_avx2_pbroadcastv16si (const rtx operand0, const rtx operand1)
4337 : {
4338 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
4339 0 : static const uint8_t expand_encoding[] = {
4340 : 0x1f, 0x01, 0x00, 0x81, 0x0c, 0x5b, 0x81, 0x0a,
4341 : 0x11, 0x01, 0x01, 0x17, 0x00, 0x01, 0x27, 0x00
4342 : };
4343 0 : return expand_rtx (expand_encoding, operands);
4344 : }
4345 :
4346 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:28149 */
4347 : rtx
4348 15 : gen_avx2_pbroadcastv4di (const rtx operand0, const rtx operand1)
4349 : {
4350 15 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
4351 15 : static const uint8_t expand_encoding[] = {
4352 : 0x1f, 0x01, 0x00, 0x81, 0x0c, 0x57, 0x81, 0x0a,
4353 : 0x12, 0x01, 0x01, 0x17, 0x00, 0x01, 0x27, 0x00
4354 : };
4355 15 : return expand_rtx (expand_encoding, operands);
4356 : }
4357 :
4358 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:28163 */
4359 : rtx
4360 4 : gen_avx2_pbroadcastv8si_1 (const rtx operand0, const rtx operand1)
4361 : {
4362 4 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
4363 4 : static const uint8_t expand_encoding[] = {
4364 : 0x1f, 0x01, 0x00, 0x81, 0x0c, 0x56, 0x81, 0x0a,
4365 : 0x11, 0x01, 0x01, 0x17, 0x00, 0x01, 0x27, 0x00
4366 : };
4367 4 : return expand_rtx (expand_encoding, operands);
4368 : }
4369 :
4370 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:28181 */
4371 : rtx
4372 4 : gen_avx512f_permvarv16sf (const rtx operand0, const rtx operand1, const rtx operand2)
4373 : {
4374 4 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
4375 4 : static const uint8_t expand_encoding[] = {
4376 : 0x1f, 0x01, 0x00, 0x1a, 0x74, 0x02, 0x01, 0x01,
4377 : 0x01, 0x02, 0x81, 0x18
4378 : };
4379 4 : return expand_rtx (expand_encoding, operands);
4380 : }
4381 :
4382 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:28181 */
4383 : rtx
4384 39 : gen_avx2_permvarv4df_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
4385 : {
4386 39 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
4387 39 : static const uint8_t expand_encoding[] = {
4388 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x70, 0x1a, 0x70,
4389 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x81, 0x18, 0x01,
4390 : 0x03, 0x01, 0x04
4391 : };
4392 39 : return expand_rtx (expand_encoding, operands);
4393 : }
4394 :
4395 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:28214 */
4396 : rtx
4397 106 : gen_avx512bw_permvarv32hi (const rtx operand0, const rtx operand1, const rtx operand2)
4398 : {
4399 106 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
4400 106 : static const uint8_t expand_encoding[] = {
4401 : 0x1f, 0x01, 0x00, 0x1a, 0x5a, 0x02, 0x01, 0x01,
4402 : 0x01, 0x02, 0x81, 0x18
4403 : };
4404 106 : return expand_rtx (expand_encoding, operands);
4405 : }
4406 :
4407 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:28214 */
4408 : rtx
4409 0 : gen_avx512vl_permvarv8bf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
4410 : {
4411 0 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
4412 0 : static const uint8_t expand_encoding[] = {
4413 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x69, 0x1a, 0x69,
4414 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x81, 0x18, 0x01,
4415 : 0x03, 0x01, 0x04
4416 : };
4417 0 : return expand_rtx (expand_encoding, operands);
4418 : }
4419 :
4420 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:28487 */
4421 : rtx
4422 0 : gen_avx512f_permv8di_1 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5, const rtx operand6, const rtx operand7, const rtx operand8, const rtx operand9)
4423 : {
4424 0 : rtx operands[10] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5, operand6, operand7, operand8, operand9 };
4425 0 : static const uint8_t expand_encoding[] = {
4426 : 0x1f, 0x01, 0x00, 0x81, 0x0a, 0x5c, 0x01, 0x01,
4427 : 0x17, 0x00, 0x08, 0x01, 0x02, 0x01, 0x03, 0x01,
4428 : 0x04, 0x01, 0x05, 0x01, 0x06, 0x01, 0x07, 0x01,
4429 : 0x08, 0x01, 0x09
4430 : };
4431 0 : return expand_rtx (expand_encoding, operands);
4432 : }
4433 :
4434 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:28585 */
4435 : rtx
4436 0 : gen_avx512vl_vec_dupv8si (const rtx operand0, const rtx operand1)
4437 : {
4438 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
4439 0 : static const uint8_t expand_encoding[] = {
4440 : 0x1f, 0x01, 0x00, 0x81, 0x0c, 0x56, 0x81, 0x0a,
4441 : 0x11, 0x01, 0x01, 0x17, 0x00, 0x01, 0x27, 0x00
4442 : };
4443 0 : return expand_rtx (expand_encoding, operands);
4444 : }
4445 :
4446 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:28585 */
4447 : rtx
4448 24 : gen_avx512vl_vec_dupv2di_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4449 : {
4450 24 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4451 24 : static const uint8_t expand_encoding[] = {
4452 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x52, 0x81, 0x0c,
4453 : 0x52, 0x81, 0x0a, 0x12, 0x01, 0x01, 0x17, 0x00,
4454 : 0x01, 0x27, 0x00, 0x01, 0x02, 0x01, 0x03
4455 : };
4456 24 : return expand_rtx (expand_encoding, operands);
4457 : }
4458 :
4459 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:28585 */
4460 : rtx
4461 0 : gen_avx512vl_vec_dupv2df (const rtx operand0, const rtx operand1)
4462 : {
4463 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
4464 0 : static const uint8_t expand_encoding[] = {
4465 : 0x1f, 0x01, 0x00, 0x81, 0x0c, 0x6c, 0x81, 0x0a,
4466 : 0x2e, 0x01, 0x01, 0x17, 0x00, 0x01, 0x27, 0x00
4467 : };
4468 0 : return expand_rtx (expand_encoding, operands);
4469 : }
4470 :
4471 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:28604 */
4472 : rtx
4473 36 : gen_avx512bw_vec_dupv32hi_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4474 : {
4475 36 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4476 36 : static const uint8_t expand_encoding[] = {
4477 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5a, 0x81, 0x0c,
4478 : 0x5a, 0x81, 0x0a, 0x10, 0x01, 0x01, 0x17, 0x00,
4479 : 0x01, 0x27, 0x00, 0x01, 0x02, 0x01, 0x03
4480 : };
4481 36 : return expand_rtx (expand_encoding, operands);
4482 : }
4483 :
4484 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:28604 */
4485 : rtx
4486 0 : gen_avx512bw_vec_dupv32bf (const rtx operand0, const rtx operand1)
4487 : {
4488 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
4489 0 : static const uint8_t expand_encoding[] = {
4490 : 0x1f, 0x01, 0x00, 0x81, 0x0c, 0x72, 0x81, 0x0a,
4491 : 0x2c, 0x01, 0x01, 0x17, 0x00, 0x01, 0x27, 0x00
4492 : };
4493 0 : return expand_rtx (expand_encoding, operands);
4494 : }
4495 :
4496 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:28629 */
4497 : rtx
4498 36 : gen_avx512f_broadcastv8di_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4499 : {
4500 36 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4501 36 : static const uint8_t expand_encoding[] = {
4502 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5c, 0x81, 0x0c,
4503 : 0x5c, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
4504 : };
4505 36 : return expand_rtx (expand_encoding, operands);
4506 : }
4507 :
4508 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:28642 */
4509 : rtx
4510 0 : gen_avx512bw_vec_dup_gprv32bf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4511 : {
4512 0 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4513 0 : static const uint8_t expand_encoding[] = {
4514 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x72, 0x81, 0x0c,
4515 : 0x72, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
4516 : };
4517 0 : return expand_rtx (expand_encoding, operands);
4518 : }
4519 :
4520 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:28654 */
4521 : rtx
4522 0 : gen_avx512vl_vec_dup_gprv8sf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4523 : {
4524 0 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4525 0 : static const uint8_t expand_encoding[] = {
4526 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6f, 0x81, 0x0c,
4527 : 0x6f, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
4528 : };
4529 0 : return expand_rtx (expand_encoding, operands);
4530 : }
4531 :
4532 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:28780 */
4533 : rtx
4534 0 : gen_avx2_lddqu_inserti_to_bcasti (const rtx operand0, const rtx operand1)
4535 : {
4536 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
4537 0 : static const uint8_t expand_encoding[] = {
4538 : 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x57, 0x32, 0x52,
4539 : 0x1a, 0x4f, 0x01, 0x01, 0x01, 0x78, 0x00, 0x32,
4540 : 0x52, 0x1a, 0x4f, 0x01, 0x01, 0x01, 0x78, 0x00
4541 : };
4542 0 : return expand_rtx (expand_encoding, operands);
4543 : }
4544 :
4545 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:28928 */
4546 : rtx
4547 36 : gen_avx512dq_broadcastv16si_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4548 : {
4549 36 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4550 36 : static const uint8_t expand_encoding[] = {
4551 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5b, 0x81, 0x0c,
4552 : 0x5b, 0x81, 0x0a, 0x4a, 0x01, 0x01, 0x17, 0x00,
4553 : 0x02, 0x27, 0x00, 0x27, 0x01, 0x01, 0x02, 0x01,
4554 : 0x03
4555 : };
4556 36 : return expand_rtx (expand_encoding, operands);
4557 : }
4558 :
4559 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:28973 */
4560 : rtx
4561 39 : gen_avx512dq_broadcastv8df_mask_1 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4562 : {
4563 39 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4564 39 : static const uint8_t expand_encoding[] = {
4565 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x75, 0x81, 0x0c,
4566 : 0x75, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
4567 : };
4568 39 : return expand_rtx (expand_encoding, operands);
4569 : }
4570 :
4571 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29013 */
4572 : rtx
4573 36 : gen_avx512f_vpermilvarv16sf3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
4574 : {
4575 36 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
4576 36 : static const uint8_t expand_encoding[] = {
4577 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x74, 0x1a, 0x74,
4578 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x81, 0x11, 0x01,
4579 : 0x03, 0x01, 0x04
4580 : };
4581 36 : return expand_rtx (expand_encoding, operands);
4582 : }
4583 :
4584 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29115 */
4585 : rtx
4586 239 : gen_avx512f_vpermt2varv16sf3 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4587 : {
4588 239 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4589 239 : static const uint8_t expand_encoding[] = {
4590 : 0x1f, 0x01, 0x00, 0x1a, 0x74, 0x03, 0x01, 0x01,
4591 : 0x01, 0x02, 0x01, 0x03, 0x81, 0x1c
4592 : };
4593 239 : return expand_rtx (expand_encoding, operands);
4594 : }
4595 :
4596 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29115 */
4597 : rtx
4598 12 : gen_avx512vl_vpermt2varv8sf3_maskz_1 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
4599 : {
4600 12 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
4601 12 : static const uint8_t expand_encoding[] = {
4602 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6f, 0x1a, 0x6f,
4603 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
4604 : 0x1c, 0x01, 0x04, 0x01, 0x05
4605 : };
4606 12 : return expand_rtx (expand_encoding, operands);
4607 : }
4608 :
4609 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29115 */
4610 : rtx
4611 12 : gen_avx512vl_vpermt2varv2df3_maskz_1 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
4612 : {
4613 12 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
4614 12 : static const uint8_t expand_encoding[] = {
4615 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6c, 0x1a, 0x6c,
4616 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
4617 : 0x1c, 0x01, 0x04, 0x01, 0x05
4618 : };
4619 12 : return expand_rtx (expand_encoding, operands);
4620 : }
4621 :
4622 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29115 */
4623 : rtx
4624 3 : gen_avx512vl_vpermt2varv16qi3 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4625 : {
4626 3 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4627 3 : static const uint8_t expand_encoding[] = {
4628 : 0x1f, 0x01, 0x00, 0x1a, 0x4f, 0x03, 0x01, 0x01,
4629 : 0x01, 0x02, 0x01, 0x03, 0x81, 0x1c
4630 : };
4631 3 : return expand_rtx (expand_encoding, operands);
4632 : }
4633 :
4634 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29131 */
4635 : rtx
4636 0 : gen_avx512bw_vpermt2varv32bf3_maskz_1 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
4637 : {
4638 0 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
4639 0 : static const uint8_t expand_encoding[] = {
4640 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x72, 0x1a, 0x72,
4641 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
4642 : 0x1c, 0x01, 0x04, 0x01, 0x05
4643 : };
4644 0 : return expand_rtx (expand_encoding, operands);
4645 : }
4646 :
4647 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29146 */
4648 : rtx
4649 24 : gen_avx512vl_vpermt2varv4di3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
4650 : {
4651 24 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
4652 24 : static const uint8_t expand_encoding[] = {
4653 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x57, 0x1a, 0x57,
4654 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
4655 : 0x1c, 0x01, 0x02, 0x01, 0x04
4656 : };
4657 24 : return expand_rtx (expand_encoding, operands);
4658 : }
4659 :
4660 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29146 */
4661 : rtx
4662 24 : gen_avx512vl_vpermt2varv32qi3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
4663 : {
4664 24 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
4665 24 : static const uint8_t expand_encoding[] = {
4666 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x54, 0x1a, 0x54,
4667 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
4668 : 0x1c, 0x01, 0x02, 0x01, 0x04
4669 : };
4670 24 : return expand_rtx (expand_encoding, operands);
4671 : }
4672 :
4673 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29377 */
4674 : rtx
4675 34 : gen_vec_set_lo_v8si (const rtx operand0, const rtx operand1, const rtx operand2)
4676 : {
4677 34 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
4678 34 : static const uint8_t expand_encoding[] = {
4679 : 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x56, 0x01, 0x02,
4680 : 0x81, 0x0a, 0x51, 0x01, 0x01, 0x17, 0x00, 0x04,
4681 : 0x27, 0x04, 0x27, 0x05, 0x27, 0x06, 0x27, 0x07
4682 : };
4683 34 : return expand_rtx (expand_encoding, operands);
4684 : }
4685 :
4686 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29425 */
4687 : rtx
4688 2 : gen_vec_set_lo_v16hf (const rtx operand0, const rtx operand1, const rtx operand2)
4689 : {
4690 2 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
4691 2 : static const uint8_t expand_encoding[] = {
4692 : 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x6e, 0x01, 0x02,
4693 : 0x81, 0x0a, 0x6a, 0x01, 0x01, 0x17, 0x00, 0x08,
4694 : 0x27, 0x08, 0x27, 0x09, 0x27, 0x0a, 0x27, 0x0b,
4695 : 0x27, 0x0c, 0x27, 0x0d, 0x27, 0x0e, 0x27, 0x0f
4696 : };
4697 2 : return expand_rtx (expand_encoding, operands);
4698 : }
4699 :
4700 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29525 */
4701 : rtx
4702 12 : gen_avx2_maskloadq256 (const rtx operand0, const rtx operand1, const rtx operand2)
4703 : {
4704 12 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
4705 12 : static const uint8_t expand_encoding[] = {
4706 : 0x1f, 0x01, 0x00, 0x1a, 0x57, 0x02, 0x01, 0x02,
4707 : 0x01, 0x01, 0x30
4708 : };
4709 12 : return expand_rtx (expand_encoding, operands);
4710 : }
4711 :
4712 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29546 */
4713 : rtx
4714 11 : gen_avx_maskstoreps256 (const rtx operand0, const rtx operand1, const rtx operand2)
4715 : {
4716 11 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
4717 11 : static const uint8_t expand_encoding[] = {
4718 : 0x1f, 0x01, 0x00, 0x1a, 0x6f, 0x03, 0x01, 0x01,
4719 : 0x01, 0x02, 0x01, 0x00, 0x30
4720 : };
4721 11 : return expand_rtx (expand_encoding, operands);
4722 : }
4723 :
4724 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29638 */
4725 : rtx
4726 24 : gen_avx512f_storev16sf_mask (const rtx operand0, const rtx operand1, const rtx operand2)
4727 : {
4728 24 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
4729 24 : static const uint8_t expand_encoding[] = {
4730 : 0x1f, 0x01, 0x00, 0x1a, 0x74, 0x03, 0x01, 0x01,
4731 : 0x01, 0x00, 0x01, 0x02, 0x30
4732 : };
4733 24 : return expand_rtx (expand_encoding, operands);
4734 : }
4735 :
4736 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29667 */
4737 : rtx
4738 12 : gen_avx512vl_storev16hi_mask (const rtx operand0, const rtx operand1, const rtx operand2)
4739 : {
4740 12 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
4741 12 : static const uint8_t expand_encoding[] = {
4742 : 0x1f, 0x01, 0x00, 0x1a, 0x55, 0x03, 0x01, 0x01,
4743 : 0x01, 0x00, 0x01, 0x02, 0x30
4744 : };
4745 12 : return expand_rtx (expand_encoding, operands);
4746 : }
4747 :
4748 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29718 */
4749 : rtx
4750 46 : gen_avx_pd256_pd (const rtx operand0, const rtx operand1)
4751 : {
4752 46 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
4753 46 : static const uint8_t expand_encoding[] = {
4754 : 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x70, 0x01, 0x01,
4755 : 0x1a, 0x6c, 0x01, 0x27, 0x00, 0x81, 0x14
4756 : };
4757 46 : return expand_rtx (expand_encoding, operands);
4758 : }
4759 :
4760 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29807 */
4761 : rtx
4762 36 : gen_avx2_ashrvv4di_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
4763 : {
4764 36 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
4765 36 : static const uint8_t expand_encoding[] = {
4766 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x57, 0x4f, 0x57,
4767 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04
4768 : };
4769 36 : return expand_rtx (expand_encoding, operands);
4770 : }
4771 :
4772 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29829 */
4773 : rtx
4774 0 : gen_avx512f_lshrvv16si (const rtx operand0, const rtx operand1, const rtx operand2)
4775 : {
4776 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
4777 0 : static const uint8_t expand_encoding[] = {
4778 : 0x1f, 0x01, 0x00, 0x50, 0x5b, 0x01, 0x01, 0x01,
4779 : 0x02
4780 : };
4781 0 : return expand_rtx (expand_encoding, operands);
4782 : }
4783 :
4784 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29829 */
4785 : rtx
4786 12 : gen_avx2_lshrvv4si (const rtx operand0, const rtx operand1, const rtx operand2)
4787 : {
4788 12 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
4789 12 : static const uint8_t expand_encoding[] = {
4790 : 0x1f, 0x01, 0x00, 0x50, 0x51, 0x01, 0x01, 0x01,
4791 : 0x02
4792 : };
4793 12 : return expand_rtx (expand_encoding, operands);
4794 : }
4795 :
4796 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29829 */
4797 : rtx
4798 25 : gen_avx2_lshrvv4di_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
4799 : {
4800 25 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
4801 25 : static const uint8_t expand_encoding[] = {
4802 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x57, 0x50, 0x57,
4803 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04
4804 : };
4805 25 : return expand_rtx (expand_encoding, operands);
4806 : }
4807 :
4808 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29840 */
4809 : rtx
4810 0 : gen_avx512vl_lshrvv16hi (const rtx operand0, const rtx operand1, const rtx operand2)
4811 : {
4812 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
4813 0 : static const uint8_t expand_encoding[] = {
4814 : 0x1f, 0x01, 0x00, 0x50, 0x55, 0x01, 0x01, 0x01,
4815 : 0x02
4816 : };
4817 0 : return expand_rtx (expand_encoding, operands);
4818 : }
4819 :
4820 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29851 */
4821 : rtx
4822 0 : gen_avx_vec_concatv16bf (const rtx operand0, const rtx operand1, const rtx operand2)
4823 : {
4824 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
4825 0 : static const uint8_t expand_encoding[] = {
4826 : 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x6d, 0x01, 0x01,
4827 : 0x01, 0x02
4828 : };
4829 0 : return expand_rtx (expand_encoding, operands);
4830 : }
4831 :
4832 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29851 */
4833 : rtx
4834 0 : gen_avx_vec_concatv8di (const rtx operand0, const rtx operand1, const rtx operand2)
4835 : {
4836 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
4837 0 : static const uint8_t expand_encoding[] = {
4838 : 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x5c, 0x01, 0x01,
4839 : 0x01, 0x02
4840 : };
4841 0 : return expand_rtx (expand_encoding, operands);
4842 : }
4843 :
4844 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30073 */
4845 : rtx
4846 17 : gen_vcvtps2ph256_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
4847 : {
4848 17 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
4849 17 : static const uint8_t expand_encoding[] = {
4850 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x50, 0x1a, 0x50,
4851 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x81, 0x17, 0x01,
4852 : 0x03, 0x01, 0x04
4853 : };
4854 17 : return expand_rtx (expand_encoding, operands);
4855 : }
4856 :
4857 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30558 */
4858 : rtx
4859 24 : gen_avx512vl_compressv4df_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4860 : {
4861 24 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4862 24 : static const uint8_t expand_encoding[] = {
4863 : 0x1f, 0x01, 0x00, 0x1a, 0x70, 0x03, 0x01, 0x01,
4864 : 0x01, 0x02, 0x01, 0x03, 0x81, 0x2a
4865 : };
4866 24 : return expand_rtx (expand_encoding, operands);
4867 : }
4868 :
4869 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30572 */
4870 : rtx
4871 24 : gen_compressv8hi_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4872 : {
4873 24 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4874 24 : static const uint8_t expand_encoding[] = {
4875 : 0x1f, 0x01, 0x00, 0x1a, 0x50, 0x03, 0x01, 0x01,
4876 : 0x01, 0x02, 0x01, 0x03, 0x81, 0x2a
4877 : };
4878 24 : return expand_rtx (expand_encoding, operands);
4879 : }
4880 :
4881 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30586 */
4882 : rtx
4883 12 : gen_avx512vl_compressstorev4sf_mask (const rtx operand0, const rtx operand1, const rtx operand2)
4884 : {
4885 12 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
4886 12 : static const uint8_t expand_encoding[] = {
4887 : 0x1f, 0x01, 0x00, 0x1a, 0x6b, 0x03, 0x01, 0x01,
4888 : 0x01, 0x00, 0x01, 0x02, 0x81, 0x2b
4889 : };
4890 12 : return expand_rtx (expand_encoding, operands);
4891 : }
4892 :
4893 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30626 */
4894 : rtx
4895 44 : gen_expandv16sf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4896 : {
4897 44 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4898 44 : static const uint8_t expand_encoding[] = {
4899 : 0x1f, 0x01, 0x00, 0x1a, 0x74, 0x03, 0x01, 0x01,
4900 : 0x01, 0x02, 0x01, 0x03, 0x81, 0x2c
4901 : };
4902 44 : return expand_rtx (expand_encoding, operands);
4903 : }
4904 :
4905 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30626 */
4906 : rtx
4907 40 : gen_expandv2df_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4908 : {
4909 40 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4910 40 : static const uint8_t expand_encoding[] = {
4911 : 0x1f, 0x01, 0x00, 0x1a, 0x6c, 0x03, 0x01, 0x01,
4912 : 0x01, 0x02, 0x01, 0x03, 0x81, 0x2c
4913 : };
4914 40 : return expand_rtx (expand_encoding, operands);
4915 : }
4916 :
4917 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30722 */
4918 : rtx
4919 51 : gen_avx512dq_rangepv16sf_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5, const rtx operand6)
4920 : {
4921 51 : rtx operands[7] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5, operand6 };
4922 51 : static const uint8_t expand_encoding[] = {
4923 : 0x1f, 0x01, 0x00, 0x1a, 0x74, 0x02, 0x81, 0x09,
4924 : 0x74, 0x1a, 0x74, 0x03, 0x01, 0x01, 0x01, 0x02,
4925 : 0x01, 0x03, 0x81, 0x43, 0x01, 0x04, 0x01, 0x05,
4926 : 0x01, 0x06, 0x81, 0x33
4927 : };
4928 51 : return expand_rtx (expand_encoding, operands);
4929 : }
4930 :
4931 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30722 */
4932 : rtx
4933 27 : gen_avx512dq_rangepv2df_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
4934 : {
4935 27 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
4936 27 : static const uint8_t expand_encoding[] = {
4937 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6c, 0x1a, 0x6c,
4938 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
4939 : 0x43, 0x01, 0x04, 0x01, 0x05
4940 : };
4941 27 : return expand_rtx (expand_encoding, operands);
4942 : }
4943 :
4944 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30765 */
4945 : rtx
4946 0 : gen_avx512dq_fpclassv16hf (const rtx operand0, const rtx operand1, const rtx operand2)
4947 : {
4948 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
4949 0 : static const uint8_t expand_encoding[] = {
4950 : 0x1f, 0x01, 0x00, 0x1a, 0x10, 0x02, 0x01, 0x01,
4951 : 0x01, 0x02, 0x81, 0x42
4952 : };
4953 0 : return expand_rtx (expand_encoding, operands);
4954 : }
4955 :
4956 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30765 */
4957 : rtx
4958 0 : gen_avx512dq_fpclassv4sf (const rtx operand0, const rtx operand1, const rtx operand2)
4959 : {
4960 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
4961 0 : static const uint8_t expand_encoding[] = {
4962 : 0x1f, 0x01, 0x00, 0x1a, 0x0f, 0x02, 0x01, 0x01,
4963 : 0x01, 0x02, 0x81, 0x42
4964 : };
4965 0 : return expand_rtx (expand_encoding, operands);
4966 : }
4967 :
4968 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30778 */
4969 : rtx
4970 16 : gen_avx512dq_vmfpclassv8hf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4971 : {
4972 16 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4973 16 : static const uint8_t expand_encoding[] = {
4974 : 0x1f, 0x01, 0x00, 0x49, 0x0f, 0x49, 0x0f, 0x1a,
4975 : 0x0f, 0x02, 0x01, 0x01, 0x01, 0x02, 0x81, 0x42,
4976 : 0x27, 0x01, 0x01, 0x03
4977 : };
4978 16 : return expand_rtx (expand_encoding, operands);
4979 : }
4980 :
4981 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30793 */
4982 : rtx
4983 24 : gen_avx512vl_getmantv16hf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
4984 : {
4985 24 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
4986 24 : static const uint8_t expand_encoding[] = {
4987 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6e, 0x1a, 0x6e,
4988 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x81, 0x27, 0x01,
4989 : 0x03, 0x01, 0x04
4990 : };
4991 24 : return expand_rtx (expand_encoding, operands);
4992 : }
4993 :
4994 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30793 */
4995 : rtx
4996 0 : gen_avx512vl_getmantv8sf_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
4997 : {
4998 0 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
4999 0 : static const uint8_t expand_encoding[] = {
5000 : 0x1f, 0x01, 0x00, 0x1a, 0x6f, 0x02, 0x1a, 0x6f,
5001 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x81, 0x27, 0x01,
5002 : 0x03, 0x81, 0x33
5003 : };
5004 0 : return expand_rtx (expand_encoding, operands);
5005 : }
5006 :
5007 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30793 */
5008 : rtx
5009 0 : gen_avx512f_getmantv8df_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5010 : {
5011 0 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5012 0 : static const uint8_t expand_encoding[] = {
5013 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x75, 0x1a, 0x75,
5014 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x81, 0x27, 0x01,
5015 : 0x03, 0x01, 0x04
5016 : };
5017 0 : return expand_rtx (expand_encoding, operands);
5018 : }
5019 :
5020 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30810 */
5021 : rtx
5022 0 : gen_avx512f_vgetmantv8hf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
5023 : {
5024 0 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
5025 0 : static const uint8_t expand_encoding[] = {
5026 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6a, 0x81, 0x09,
5027 : 0x6a, 0x1a, 0x6a, 0x03, 0x01, 0x01, 0x01, 0x02,
5028 : 0x01, 0x03, 0x81, 0x27, 0x01, 0x04, 0x01, 0x05,
5029 : 0x01, 0x01, 0x27, 0x01
5030 : };
5031 0 : return expand_rtx (expand_encoding, operands);
5032 : }
5033 :
5034 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30810 */
5035 : rtx
5036 42 : gen_avx512f_vgetmantv2df_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5, const rtx operand6)
5037 : {
5038 42 : rtx operands[7] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5, operand6 };
5039 42 : static const uint8_t expand_encoding[] = {
5040 : 0x1f, 0x01, 0x00, 0x1a, 0x6c, 0x02, 0x81, 0x09,
5041 : 0x6c, 0x81, 0x09, 0x6c, 0x1a, 0x6c, 0x03, 0x01,
5042 : 0x01, 0x01, 0x02, 0x01, 0x03, 0x81, 0x27, 0x01,
5043 : 0x04, 0x01, 0x05, 0x01, 0x01, 0x27, 0x01, 0x01,
5044 : 0x06, 0x81, 0x33
5045 : };
5046 42 : return expand_rtx (expand_encoding, operands);
5047 : }
5048 :
5049 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30849 */
5050 : rtx
5051 0 : gen_clzv2di2 (const rtx operand0, const rtx operand1)
5052 : {
5053 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
5054 0 : static const uint8_t expand_encoding[] = {
5055 : 0x1f, 0x01, 0x00, 0x81, 0x00, 0x52, 0x01, 0x01
5056 : };
5057 0 : return expand_rtx (expand_encoding, operands);
5058 : }
5059 :
5060 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30872 */
5061 : rtx
5062 15 : gen_sha1msg1 (const rtx operand0, const rtx operand1, const rtx operand2)
5063 : {
5064 15 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
5065 15 : static const uint8_t expand_encoding[] = {
5066 : 0x1f, 0x01, 0x00, 0x1a, 0x51, 0x02, 0x01, 0x01,
5067 : 0x01, 0x02, 0x81, 0x34
5068 : };
5069 15 : return expand_rtx (expand_encoding, operands);
5070 : }
5071 :
5072 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30977 */
5073 : rtx
5074 11 : gen_vsm3rnds2 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5075 : {
5076 11 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5077 11 : static const uint8_t expand_encoding[] = {
5078 : 0x1f, 0x01, 0x00, 0x1a, 0x51, 0x04, 0x01, 0x01,
5079 : 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x81, 0x63
5080 : };
5081 11 : return expand_rtx (expand_encoding, operands);
5082 : }
5083 :
5084 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31051 */
5085 : rtx
5086 11 : gen_avx512f_pd512_pd (const rtx operand0, const rtx operand1)
5087 : {
5088 11 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
5089 11 : static const uint8_t expand_encoding[] = {
5090 : 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x75, 0x81, 0x0b,
5091 : 0x70, 0x01, 0x01, 0x1a, 0x6c, 0x01, 0x27, 0x00,
5092 : 0x81, 0x14, 0x1a, 0x70, 0x01, 0x27, 0x00, 0x81,
5093 : 0x14
5094 : };
5095 11 : return expand_rtx (expand_encoding, operands);
5096 : }
5097 :
5098 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31154 */
5099 : rtx
5100 13 : gen_vpmadd52huqv8di_maskz_1 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
5101 : {
5102 13 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
5103 13 : static const uint8_t expand_encoding[] = {
5104 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5c, 0x1a, 0x5c,
5105 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
5106 : 0x45, 0x01, 0x04, 0x01, 0x05
5107 : };
5108 13 : return expand_rtx (expand_encoding, operands);
5109 : }
5110 :
5111 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31171 */
5112 : rtx
5113 13 : gen_vpmadd52huqv2di_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5114 : {
5115 13 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5116 13 : static const uint8_t expand_encoding[] = {
5117 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x52, 0x1a, 0x52,
5118 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
5119 : 0x45, 0x01, 0x01, 0x01, 0x04
5120 : };
5121 13 : return expand_rtx (expand_encoding, operands);
5122 : }
5123 :
5124 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31206 */
5125 : rtx
5126 12 : gen_vpopcountv4si (const rtx operand0, const rtx operand1)
5127 : {
5128 12 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
5129 12 : static const uint8_t expand_encoding[] = {
5130 : 0x1f, 0x01, 0x00, 0x81, 0x02, 0x51, 0x01, 0x01
5131 : };
5132 12 : return expand_rtx (expand_encoding, operands);
5133 : }
5134 :
5135 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31256 */
5136 : rtx
5137 26 : gen_vpopcountv64qi_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
5138 : {
5139 26 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
5140 26 : static const uint8_t expand_encoding[] = {
5141 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x59, 0x81, 0x02,
5142 : 0x59, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
5143 : };
5144 26 : return expand_rtx (expand_encoding, operands);
5145 : }
5146 :
5147 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31263 */
5148 : rtx
5149 11 : gen_vgf2p8affineinvqb_v64qi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
5150 : {
5151 11 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
5152 11 : static const uint8_t expand_encoding[] = {
5153 : 0x1f, 0x01, 0x00, 0x1a, 0x59, 0x03, 0x01, 0x01,
5154 : 0x01, 0x02, 0x01, 0x03, 0x81, 0x47
5155 : };
5156 11 : return expand_rtx (expand_encoding, operands);
5157 : }
5158 :
5159 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31280 */
5160 : rtx
5161 137 : gen_vgf2p8affineqb_v16qi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
5162 : {
5163 137 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
5164 137 : static const uint8_t expand_encoding[] = {
5165 : 0x1f, 0x01, 0x00, 0x1a, 0x4f, 0x03, 0x01, 0x01,
5166 : 0x01, 0x02, 0x01, 0x03, 0x81, 0x48
5167 : };
5168 137 : return expand_rtx (expand_encoding, operands);
5169 : }
5170 :
5171 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31313 */
5172 : rtx
5173 22 : gen_vpshrd_v32hi_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
5174 : {
5175 22 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
5176 22 : static const uint8_t expand_encoding[] = {
5177 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5a, 0x1a, 0x5a,
5178 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
5179 : 0x4b, 0x01, 0x04, 0x01, 0x05
5180 : };
5181 22 : return expand_rtx (expand_encoding, operands);
5182 : }
5183 :
5184 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31313 */
5185 : rtx
5186 11 : gen_vpshrd_v8hi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
5187 : {
5188 11 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
5189 11 : static const uint8_t expand_encoding[] = {
5190 : 0x1f, 0x01, 0x00, 0x1a, 0x50, 0x03, 0x01, 0x01,
5191 : 0x01, 0x02, 0x01, 0x03, 0x81, 0x4b
5192 : };
5193 11 : return expand_rtx (expand_encoding, operands);
5194 : }
5195 :
5196 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31324 */
5197 : rtx
5198 24 : gen_vpshld_v16si_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
5199 : {
5200 24 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
5201 24 : static const uint8_t expand_encoding[] = {
5202 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5b, 0x1a, 0x5b,
5203 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
5204 : 0x4a, 0x01, 0x04, 0x01, 0x05
5205 : };
5206 24 : return expand_rtx (expand_encoding, operands);
5207 : }
5208 :
5209 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31324 */
5210 : rtx
5211 11 : gen_vpshld_v4si (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
5212 : {
5213 11 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
5214 11 : static const uint8_t expand_encoding[] = {
5215 : 0x1f, 0x01, 0x00, 0x1a, 0x51, 0x03, 0x01, 0x01,
5216 : 0x01, 0x02, 0x01, 0x03, 0x81, 0x4a
5217 : };
5218 11 : return expand_rtx (expand_encoding, operands);
5219 : }
5220 :
5221 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31335 */
5222 : rtx
5223 12 : gen_vpshrdv_v4di (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
5224 : {
5225 12 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
5226 12 : static const uint8_t expand_encoding[] = {
5227 : 0x1f, 0x01, 0x00, 0x1a, 0x57, 0x03, 0x01, 0x01,
5228 : 0x01, 0x02, 0x01, 0x03, 0x81, 0x4c
5229 : };
5230 12 : return expand_rtx (expand_encoding, operands);
5231 : }
5232 :
5233 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31347 */
5234 : rtx
5235 12 : gen_vpshrdv_v8hi_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5236 : {
5237 12 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5238 12 : static const uint8_t expand_encoding[] = {
5239 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x50, 0x1a, 0x50,
5240 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
5241 : 0x4c, 0x01, 0x01, 0x01, 0x04
5242 : };
5243 12 : return expand_rtx (expand_encoding, operands);
5244 : }
5245 :
5246 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31377 */
5247 : rtx
5248 12 : gen_vpshrdv_v4si_maskz_1 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
5249 : {
5250 12 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
5251 12 : static const uint8_t expand_encoding[] = {
5252 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x51, 0x1a, 0x51,
5253 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
5254 : 0x4c, 0x01, 0x04, 0x01, 0x05
5255 : };
5256 12 : return expand_rtx (expand_encoding, operands);
5257 : }
5258 :
5259 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31404 */
5260 : rtx
5261 12 : gen_vpshldv_v32hi_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5262 : {
5263 12 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5264 12 : static const uint8_t expand_encoding[] = {
5265 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5a, 0x1a, 0x5a,
5266 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
5267 : 0x4d, 0x01, 0x01, 0x01, 0x04
5268 : };
5269 12 : return expand_rtx (expand_encoding, operands);
5270 : }
5271 :
5272 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31434 */
5273 : rtx
5274 12 : gen_vpshldv_v16si_maskz_1 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
5275 : {
5276 12 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
5277 12 : static const uint8_t expand_encoding[] = {
5278 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5b, 0x1a, 0x5b,
5279 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
5280 : 0x4d, 0x01, 0x04, 0x01, 0x05
5281 : };
5282 12 : return expand_rtx (expand_encoding, operands);
5283 : }
5284 :
5285 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31508 */
5286 : rtx
5287 34 : gen_vpdpbusd_v4si (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
5288 : {
5289 34 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
5290 34 : static const uint8_t expand_encoding[] = {
5291 : 0x1f, 0x01, 0x00, 0x1a, 0x51, 0x03, 0x01, 0x01,
5292 : 0x01, 0x02, 0x01, 0x03, 0x81, 0x4e
5293 : };
5294 34 : return expand_rtx (expand_encoding, operands);
5295 : }
5296 :
5297 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31592 */
5298 : rtx
5299 12 : gen_vpdpbusds_v16si_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5300 : {
5301 12 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5302 12 : static const uint8_t expand_encoding[] = {
5303 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5b, 0x1a, 0x5b,
5304 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
5305 : 0x4f, 0x01, 0x01, 0x01, 0x04
5306 : };
5307 12 : return expand_rtx (expand_encoding, operands);
5308 : }
5309 :
5310 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31661 */
5311 : rtx
5312 13 : gen_vpdpwssd_v8si_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5313 : {
5314 13 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5315 13 : static const uint8_t expand_encoding[] = {
5316 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x56, 0x1a, 0x56,
5317 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
5318 : 0x50, 0x01, 0x01, 0x01, 0x04
5319 : };
5320 13 : return expand_rtx (expand_encoding, operands);
5321 : }
5322 :
5323 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31730 */
5324 : rtx
5325 13 : gen_vpdpwssds_v4si_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5326 : {
5327 13 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5328 13 : static const uint8_t expand_encoding[] = {
5329 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x51, 0x1a, 0x51,
5330 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
5331 : 0x51, 0x01, 0x01, 0x01, 0x04
5332 : };
5333 13 : return expand_rtx (expand_encoding, operands);
5334 : }
5335 :
5336 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31811 */
5337 : rtx
5338 12 : gen_vaesenc_v32qi (const rtx operand0, const rtx operand1, const rtx operand2)
5339 : {
5340 12 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
5341 12 : static const uint8_t expand_encoding[] = {
5342 : 0x1f, 0x01, 0x00, 0x1a, 0x54, 0x02, 0x01, 0x01,
5343 : 0x01, 0x02, 0x81, 0x54
5344 : };
5345 12 : return expand_rtx (expand_encoding, operands);
5346 : }
5347 :
5348 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31859 */
5349 : rtx
5350 24 : gen_avx512vl_vpshufbitqmbv64qi_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
5351 : {
5352 24 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
5353 24 : static const uint8_t expand_encoding[] = {
5354 : 0x1f, 0x01, 0x00, 0x49, 0x12, 0x1a, 0x12, 0x02,
5355 : 0x01, 0x01, 0x01, 0x02, 0x81, 0x57, 0x01, 0x03
5356 : };
5357 24 : return expand_rtx (expand_encoding, operands);
5358 : }
5359 :
5360 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31908 */
5361 : rtx
5362 14 : gen_avx512vp2intersect_2intersectv16si (const rtx operand0, const rtx operand1, const rtx operand2)
5363 : {
5364 14 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
5365 14 : static const uint8_t expand_encoding[] = {
5366 : 0x1f, 0x01, 0x00, 0x1a, 0x17, 0x02, 0x01, 0x01,
5367 : 0x01, 0x02, 0x81, 0x58
5368 : };
5369 14 : return expand_rtx (expand_encoding, operands);
5370 : }
5371 :
5372 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32106 */
5373 : rtx
5374 22 : gen_avx512f_cvtneps2bf16_v16sf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
5375 : {
5376 22 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
5377 22 : static const uint8_t expand_encoding[] = {
5378 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6d, 0x72, 0x6d,
5379 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
5380 : };
5381 22 : return expand_rtx (expand_encoding, operands);
5382 : }
5383 :
5384 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32136 */
5385 : rtx
5386 11 : gen_avx512f_dpbf16ps_v4sf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5387 : {
5388 11 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5389 11 : static const uint8_t expand_encoding[] = {
5390 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6b, 0x1a, 0x6b,
5391 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
5392 : 0x59, 0x01, 0x01, 0x01, 0x04
5393 : };
5394 11 : return expand_rtx (expand_encoding, operands);
5395 : }
5396 :
5397 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32499 */
5398 : rtx
5399 22 : gen_vpdpbuud_v8si (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
5400 : {
5401 22 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
5402 22 : static const uint8_t expand_encoding[] = {
5403 : 0x1f, 0x01, 0x00, 0x1a, 0x56, 0x03, 0x01, 0x01,
5404 : 0x01, 0x02, 0x01, 0x03, 0x81, 0x68
5405 : };
5406 22 : return expand_rtx (expand_encoding, operands);
5407 : }
5408 :
5409 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32510 */
5410 : rtx
5411 12 : gen_vpdpbsud_v16si (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
5412 : {
5413 12 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
5414 12 : static const uint8_t expand_encoding[] = {
5415 : 0x1f, 0x01, 0x00, 0x1a, 0x5b, 0x03, 0x01, 0x01,
5416 : 0x01, 0x02, 0x01, 0x03, 0x81, 0x66
5417 : };
5418 12 : return expand_rtx (expand_encoding, operands);
5419 : }
5420 :
5421 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32521 */
5422 : rtx
5423 12 : gen_vpdpbssd_v8si_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5424 : {
5425 12 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5426 12 : static const uint8_t expand_encoding[] = {
5427 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x56, 0x1a, 0x56,
5428 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
5429 : 0x64, 0x01, 0x01, 0x01, 0x04
5430 : };
5431 12 : return expand_rtx (expand_encoding, operands);
5432 : }
5433 :
5434 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32521 */
5435 : rtx
5436 12 : gen_vpdpbuud_v4si_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5437 : {
5438 12 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5439 12 : static const uint8_t expand_encoding[] = {
5440 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x51, 0x1a, 0x51,
5441 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
5442 : 0x68, 0x01, 0x01, 0x01, 0x04
5443 : };
5444 12 : return expand_rtx (expand_encoding, operands);
5445 : }
5446 :
5447 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32629 */
5448 : rtx
5449 12 : gen_vcvtneoph2ps_v16hf (const rtx operand0, const rtx operand1)
5450 : {
5451 12 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
5452 12 : static const uint8_t expand_encoding[] = {
5453 : 0x1f, 0x01, 0x00, 0x71, 0x6f, 0x81, 0x0a, 0x6a,
5454 : 0x01, 0x01, 0x17, 0x00, 0x08, 0x27, 0x01, 0x27,
5455 : 0x03, 0x27, 0x05, 0x27, 0x07, 0x27, 0x09, 0x27,
5456 : 0x0b, 0x27, 0x0d, 0x27, 0x0f
5457 : };
5458 12 : return expand_rtx (expand_encoding, operands);
5459 : }
5460 :
5461 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32667 */
5462 : rtx
5463 0 : gen_vcvt2ph2bf8v32hf (const rtx operand0, const rtx operand1, const rtx operand2)
5464 : {
5465 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
5466 0 : static const uint8_t expand_encoding[] = {
5467 : 0x1f, 0x01, 0x00, 0x1a, 0x59, 0x02, 0x01, 0x01,
5468 : 0x01, 0x02, 0x81, 0x7a
5469 : };
5470 0 : return expand_rtx (expand_encoding, operands);
5471 : }
5472 :
5473 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32667 */
5474 : rtx
5475 37 : gen_vcvt2ph2hf8sv32hf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5476 : {
5477 37 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5478 37 : static const uint8_t expand_encoding[] = {
5479 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x59, 0x1a, 0x59,
5480 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x81, 0x7d, 0x01,
5481 : 0x03, 0x01, 0x04
5482 : };
5483 37 : return expand_rtx (expand_encoding, operands);
5484 : }
5485 :
5486 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32667 */
5487 : rtx
5488 37 : gen_vcvt2ph2bf8sv8hf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5489 : {
5490 37 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5491 37 : static const uint8_t expand_encoding[] = {
5492 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x4f, 0x1a, 0x4f,
5493 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x81, 0x7b, 0x01,
5494 : 0x03, 0x01, 0x04
5495 : };
5496 37 : return expand_rtx (expand_encoding, operands);
5497 : }
5498 :
5499 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32759 */
5500 : rtx
5501 36 : gen_vcvtbiasph2hf8sv32hf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5502 : {
5503 36 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5504 36 : static const uint8_t expand_encoding[] = {
5505 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x54, 0x1a, 0x54,
5506 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x81, 0x79, 0x01,
5507 : 0x03, 0x01, 0x04
5508 : };
5509 36 : return expand_rtx (expand_encoding, operands);
5510 : }
5511 :
5512 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32844 */
5513 : rtx
5514 0 : gen_vcvtph2bf8sv16hf (const rtx operand0, const rtx operand1)
5515 : {
5516 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
5517 0 : static const uint8_t expand_encoding[] = {
5518 : 0x1f, 0x01, 0x00, 0x1a, 0x4f, 0x01, 0x01, 0x01,
5519 : 0x81, 0x7f
5520 : };
5521 0 : return expand_rtx (expand_encoding, operands);
5522 : }
5523 :
5524 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32844 */
5525 : rtx
5526 0 : gen_vcvtph2bf8sv32hf (const rtx operand0, const rtx operand1)
5527 : {
5528 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
5529 0 : static const uint8_t expand_encoding[] = {
5530 : 0x1f, 0x01, 0x00, 0x1a, 0x54, 0x01, 0x01, 0x01,
5531 : 0x81, 0x7f
5532 : };
5533 0 : return expand_rtx (expand_encoding, operands);
5534 : }
5535 :
5536 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32853 */
5537 : rtx
5538 38 : gen_vcvthf82phv16hf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
5539 : {
5540 38 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
5541 38 : static const uint8_t expand_encoding[] = {
5542 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6e, 0x1a, 0x6e,
5543 : 0x01, 0x01, 0x01, 0x82, 0x02, 0x01, 0x02, 0x01,
5544 : 0x03
5545 : };
5546 38 : return expand_rtx (expand_encoding, operands);
5547 : }
5548 :
5549 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32911 */
5550 : rtx
5551 15 : gen_vpdpwsud_v4si (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
5552 : {
5553 15 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
5554 15 : static const uint8_t expand_encoding[] = {
5555 : 0x1f, 0x01, 0x00, 0x1a, 0x51, 0x03, 0x01, 0x01,
5556 : 0x01, 0x02, 0x01, 0x03, 0x81, 0x6c
5557 : };
5558 15 : return expand_rtx (expand_encoding, operands);
5559 : }
5560 :
5561 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32933 */
5562 : rtx
5563 12 : gen_vpdpwusd_v16si_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5564 : {
5565 12 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5566 12 : static const uint8_t expand_encoding[] = {
5567 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5b, 0x1a, 0x5b,
5568 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
5569 : 0x6a, 0x01, 0x01, 0x01, 0x04
5570 : };
5571 12 : return expand_rtx (expand_encoding, operands);
5572 : }
5573 :
5574 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32933 */
5575 : rtx
5576 12 : gen_vpdpwuud_v8si_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5577 : {
5578 12 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5579 12 : static const uint8_t expand_encoding[] = {
5580 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x56, 0x1a, 0x56,
5581 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
5582 : 0x6e, 0x01, 0x01, 0x01, 0x04
5583 : };
5584 12 : return expand_rtx (expand_encoding, operands);
5585 : }
5586 :
5587 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32974 */
5588 : rtx
5589 0 : gen_vdpphps_v4sf (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
5590 : {
5591 0 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
5592 0 : static const uint8_t expand_encoding[] = {
5593 : 0x1f, 0x01, 0x00, 0x1a, 0x6b, 0x03, 0x01, 0x01,
5594 : 0x01, 0x02, 0x01, 0x03, 0x81, 0x75
5595 : };
5596 0 : return expand_rtx (expand_encoding, operands);
5597 : }
5598 :
5599 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33026 */
5600 : rtx
5601 24 : gen_avx10_2_scalefbf16_v16bf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5602 : {
5603 24 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5604 24 : static const uint8_t expand_encoding[] = {
5605 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6d, 0x1a, 0x6d,
5606 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x82, 0x03, 0x01,
5607 : 0x03, 0x01, 0x04
5608 : };
5609 24 : return expand_rtx (expand_encoding, operands);
5610 : }
5611 :
5612 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33043 */
5613 : rtx
5614 24 : gen_avx10_2_sminbf16_v16bf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5615 : {
5616 24 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5617 24 : static const uint8_t expand_encoding[] = {
5618 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6d, 0x52, 0x6d,
5619 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04
5620 : };
5621 24 : return expand_rtx (expand_encoding, operands);
5622 : }
5623 :
5624 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33053 */
5625 : rtx
5626 12 : gen_avx10_2_divbf16_v32bf (const rtx operand0, const rtx operand1, const rtx operand2)
5627 : {
5628 12 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
5629 12 : static const uint8_t expand_encoding[] = {
5630 : 0x1f, 0x01, 0x00, 0x43, 0x72, 0x01, 0x01, 0x01,
5631 : 0x02
5632 : };
5633 12 : return expand_rtx (expand_encoding, operands);
5634 : }
5635 :
5636 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33053 */
5637 : rtx
5638 24 : gen_avx10_2_divbf16_v16bf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5639 : {
5640 24 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5641 24 : static const uint8_t expand_encoding[] = {
5642 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6d, 0x43, 0x6d,
5643 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04
5644 : };
5645 24 : return expand_rtx (expand_encoding, operands);
5646 : }
5647 :
5648 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33077 */
5649 : rtx
5650 0 : gen_avx10_2_fmaddbf16_v16bf (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
5651 : {
5652 0 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
5653 0 : static const uint8_t expand_encoding[] = {
5654 : 0x1f, 0x01, 0x00, 0x81, 0x19, 0x6d, 0x01, 0x01,
5655 : 0x01, 0x02, 0x01, 0x03
5656 : };
5657 0 : return expand_rtx (expand_encoding, operands);
5658 : }
5659 :
5660 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33109 */
5661 : rtx
5662 12 : gen_avx10_2_fmaddbf16_v8bf_mask3 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5663 : {
5664 12 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5665 12 : static const uint8_t expand_encoding[] = {
5666 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x69, 0x81, 0x19,
5667 : 0x69, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01,
5668 : 0x03, 0x01, 0x04
5669 : };
5670 12 : return expand_rtx (expand_encoding, operands);
5671 : }
5672 :
5673 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33173 */
5674 : rtx
5675 12 : gen_avx10_2_fnmaddbf16_v16bf_mask3 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5676 : {
5677 12 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5678 12 : static const uint8_t expand_encoding[] = {
5679 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6d, 0x81, 0x19,
5680 : 0x6d, 0x3d, 0x6d, 0x01, 0x01, 0x01, 0x02, 0x01,
5681 : 0x03, 0x01, 0x03, 0x01, 0x04
5682 : };
5683 12 : return expand_rtx (expand_encoding, operands);
5684 : }
5685 :
5686 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33220 */
5687 : rtx
5688 23 : gen_avx10_2_fmsubbf16_v8bf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5689 : {
5690 23 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5691 23 : static const uint8_t expand_encoding[] = {
5692 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x69, 0x81, 0x19,
5693 : 0x69, 0x01, 0x01, 0x01, 0x02, 0x3d, 0x69, 0x01,
5694 : 0x03, 0x01, 0x01, 0x01, 0x04
5695 : };
5696 23 : return expand_rtx (expand_encoding, operands);
5697 : }
5698 :
5699 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33269 */
5700 : rtx
5701 11 : gen_avx10_2_fnmsubbf16_v8bf_maskz_1 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
5702 : {
5703 11 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
5704 11 : static const uint8_t expand_encoding[] = {
5705 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x69, 0x81, 0x19,
5706 : 0x69, 0x3d, 0x69, 0x01, 0x01, 0x01, 0x02, 0x3d,
5707 : 0x69, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05
5708 : };
5709 11 : return expand_rtx (expand_encoding, operands);
5710 : }
5711 :
5712 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33322 */
5713 : rtx
5714 0 : gen_avx10_2_rsqrtbf16_v8bf (const rtx operand0, const rtx operand1)
5715 : {
5716 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
5717 0 : static const uint8_t expand_encoding[] = {
5718 : 0x1f, 0x01, 0x00, 0x1a, 0x69, 0x01, 0x01, 0x01,
5719 : 0x38
5720 : };
5721 0 : return expand_rtx (expand_encoding, operands);
5722 : }
5723 :
5724 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33339 */
5725 : rtx
5726 36 : gen_avx10_2_rcpbf16_v32bf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
5727 : {
5728 36 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
5729 36 : static const uint8_t expand_encoding[] = {
5730 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x72, 0x1a, 0x72,
5731 : 0x01, 0x01, 0x01, 0x37, 0x01, 0x02, 0x01, 0x03
5732 : };
5733 36 : return expand_rtx (expand_encoding, operands);
5734 : }
5735 :
5736 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33367 */
5737 : rtx
5738 0 : gen_avx10_2_rndscalebf16_v32bf (const rtx operand0, const rtx operand1, const rtx operand2)
5739 : {
5740 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
5741 0 : static const uint8_t expand_encoding[] = {
5742 : 0x1f, 0x01, 0x00, 0x1a, 0x72, 0x02, 0x01, 0x01,
5743 : 0x01, 0x02, 0x82, 0x04
5744 : };
5745 0 : return expand_rtx (expand_encoding, operands);
5746 : }
5747 :
5748 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33367 */
5749 : rtx
5750 33 : gen_avx10_2_reducebf16_v16bf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5751 : {
5752 33 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5753 33 : static const uint8_t expand_encoding[] = {
5754 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6d, 0x1a, 0x6d,
5755 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x82, 0x05, 0x01,
5756 : 0x03, 0x01, 0x04
5757 : };
5758 33 : return expand_rtx (expand_encoding, operands);
5759 : }
5760 :
5761 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33377 */
5762 : rtx
5763 0 : gen_avx10_2_fpclassbf16_v16bf (const rtx operand0, const rtx operand1, const rtx operand2)
5764 : {
5765 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
5766 0 : static const uint8_t expand_encoding[] = {
5767 : 0x1f, 0x01, 0x00, 0x1a, 0x10, 0x02, 0x01, 0x01,
5768 : 0x01, 0x02, 0x82, 0x07
5769 : };
5770 0 : return expand_rtx (expand_encoding, operands);
5771 : }
5772 :
5773 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33426 */
5774 : rtx
5775 0 : gen_avx10_2_cvtbf162ibsv32bf (const rtx operand0, const rtx operand1)
5776 : {
5777 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
5778 0 : static const uint8_t expand_encoding[] = {
5779 : 0x1f, 0x01, 0x00, 0x1a, 0x5a, 0x01, 0x01, 0x01,
5780 : 0x82, 0x08
5781 : };
5782 0 : return expand_rtx (expand_encoding, operands);
5783 : }
5784 :
5785 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33426 */
5786 : rtx
5787 36 : gen_avx10_2_cvtbf162ibsv16bf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
5788 : {
5789 36 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
5790 36 : static const uint8_t expand_encoding[] = {
5791 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x55, 0x1a, 0x55,
5792 : 0x01, 0x01, 0x01, 0x82, 0x08, 0x01, 0x02, 0x01,
5793 : 0x03
5794 : };
5795 36 : return expand_rtx (expand_encoding, operands);
5796 : }
5797 :
5798 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33426 */
5799 : rtx
5800 0 : gen_avx10_2_cvttbf162ibsv8bf (const rtx operand0, const rtx operand1)
5801 : {
5802 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
5803 0 : static const uint8_t expand_encoding[] = {
5804 : 0x1f, 0x01, 0x00, 0x1a, 0x50, 0x01, 0x01, 0x01,
5805 : 0x82, 0x0e
5806 : };
5807 0 : return expand_rtx (expand_encoding, operands);
5808 : }
5809 :
5810 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33441 */
5811 : rtx
5812 0 : gen_avx10_2_cvtph2iubsv32hf (const rtx operand0, const rtx operand1)
5813 : {
5814 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
5815 0 : static const uint8_t expand_encoding[] = {
5816 : 0x1f, 0x01, 0x00, 0x1a, 0x5a, 0x01, 0x01, 0x01,
5817 : 0x82, 0x0b
5818 : };
5819 0 : return expand_rtx (expand_encoding, operands);
5820 : }
5821 :
5822 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33441 */
5823 : rtx
5824 0 : gen_avx10_2_cvtph2ibsv8hf (const rtx operand0, const rtx operand1)
5825 : {
5826 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
5827 0 : static const uint8_t expand_encoding[] = {
5828 : 0x1f, 0x01, 0x00, 0x1a, 0x50, 0x01, 0x01, 0x01,
5829 : 0x82, 0x0a
5830 : };
5831 0 : return expand_rtx (expand_encoding, operands);
5832 : }
5833 :
5834 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33456 */
5835 : rtx
5836 0 : gen_avx10_2_cvttph2iubsv32hf_round (const rtx operand0, const rtx operand1, const rtx operand2)
5837 : {
5838 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
5839 0 : static const uint8_t expand_encoding[] = {
5840 : 0x1f, 0x01, 0x00, 0x1a, 0x5a, 0x02, 0x1a, 0x5a,
5841 : 0x01, 0x01, 0x01, 0x82, 0x11, 0x01, 0x02, 0x81,
5842 : 0x33
5843 : };
5844 0 : return expand_rtx (expand_encoding, operands);
5845 : }
5846 :
5847 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33456 */
5848 : rtx
5849 0 : gen_avx10_2_cvttph2iubsv8hf (const rtx operand0, const rtx operand1)
5850 : {
5851 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
5852 0 : static const uint8_t expand_encoding[] = {
5853 : 0x1f, 0x01, 0x00, 0x1a, 0x50, 0x01, 0x01, 0x01,
5854 : 0x82, 0x11
5855 : };
5856 0 : return expand_rtx (expand_encoding, operands);
5857 : }
5858 :
5859 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33471 */
5860 : rtx
5861 33 : gen_avx10_2_cvtps2iubsv16sf_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5862 : {
5863 33 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5864 33 : static const uint8_t expand_encoding[] = {
5865 : 0x1f, 0x01, 0x00, 0x1a, 0x5b, 0x02, 0x81, 0x09,
5866 : 0x5b, 0x1a, 0x5b, 0x01, 0x01, 0x01, 0x82, 0x0d,
5867 : 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x81, 0x33
5868 : };
5869 33 : return expand_rtx (expand_encoding, operands);
5870 : }
5871 :
5872 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33486 */
5873 : rtx
5874 0 : gen_avx10_2_cvttps2iubsv16sf (const rtx operand0, const rtx operand1)
5875 : {
5876 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
5877 0 : static const uint8_t expand_encoding[] = {
5878 : 0x1f, 0x01, 0x00, 0x1a, 0x5b, 0x01, 0x01, 0x01,
5879 : 0x82, 0x13
5880 : };
5881 0 : return expand_rtx (expand_encoding, operands);
5882 : }
5883 :
5884 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33486 */
5885 : rtx
5886 0 : gen_avx10_2_cvttps2ibsv4sf (const rtx operand0, const rtx operand1)
5887 : {
5888 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
5889 0 : static const uint8_t expand_encoding[] = {
5890 : 0x1f, 0x01, 0x00, 0x1a, 0x51, 0x01, 0x01, 0x01,
5891 : 0x82, 0x12
5892 : };
5893 0 : return expand_rtx (expand_encoding, operands);
5894 : }
5895 :
5896 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33510 */
5897 : rtx
5898 0 : gen_avx10_2_vcvttps2udqsv16sf_round (const rtx operand0, const rtx operand1, const rtx operand2)
5899 : {
5900 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
5901 0 : static const uint8_t expand_encoding[] = {
5902 : 0x1f, 0x01, 0x00, 0x1a, 0x5b, 0x02, 0x1a, 0x5b,
5903 : 0x01, 0x01, 0x01, 0x82, 0x15, 0x01, 0x02, 0x81,
5904 : 0x33
5905 : };
5906 0 : return expand_rtx (expand_encoding, operands);
5907 : }
5908 :
5909 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33510 */
5910 : rtx
5911 0 : gen_avx10_2_vcvttps2udqsv4sf (const rtx operand0, const rtx operand1)
5912 : {
5913 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
5914 0 : static const uint8_t expand_encoding[] = {
5915 : 0x1f, 0x01, 0x00, 0x1a, 0x51, 0x01, 0x01, 0x01,
5916 : 0x82, 0x15
5917 : };
5918 0 : return expand_rtx (expand_encoding, operands);
5919 : }
5920 :
5921 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33510 */
5922 : rtx
5923 33 : gen_avx10_2_vcvttpd2udqsv8df_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
5924 : {
5925 33 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
5926 33 : static const uint8_t expand_encoding[] = {
5927 : 0x1f, 0x01, 0x00, 0x1a, 0x56, 0x02, 0x81, 0x09,
5928 : 0x56, 0x1a, 0x56, 0x01, 0x01, 0x01, 0x82, 0x15,
5929 : 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x81, 0x33
5930 : };
5931 33 : return expand_rtx (expand_encoding, operands);
5932 : }
5933 :
5934 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33521 */
5935 : rtx
5936 0 : gen_avx10_2_vcvttpd2uqqsv8df (const rtx operand0, const rtx operand1)
5937 : {
5938 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
5939 0 : static const uint8_t expand_encoding[] = {
5940 : 0x1f, 0x01, 0x00, 0x1a, 0x5c, 0x01, 0x01, 0x01,
5941 : 0x82, 0x15
5942 : };
5943 0 : return expand_rtx (expand_encoding, operands);
5944 : }
5945 :
5946 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33521 */
5947 : rtx
5948 0 : gen_avx10_2_vcvttpd2qqsv2df (const rtx operand0, const rtx operand1)
5949 : {
5950 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
5951 0 : static const uint8_t expand_encoding[] = {
5952 : 0x1f, 0x01, 0x00, 0x1a, 0x52, 0x01, 0x01, 0x01,
5953 : 0x82, 0x14
5954 : };
5955 0 : return expand_rtx (expand_encoding, operands);
5956 : }
5957 :
5958 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33532 */
5959 : rtx
5960 0 : gen_avx10_2_vcvttps2uqqsv8di_round (const rtx operand0, const rtx operand1, const rtx operand2)
5961 : {
5962 0 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
5963 0 : static const uint8_t expand_encoding[] = {
5964 : 0x1f, 0x01, 0x00, 0x1a, 0x5c, 0x02, 0x1a, 0x5c,
5965 : 0x01, 0x01, 0x01, 0x82, 0x15, 0x01, 0x02, 0x81,
5966 : 0x33
5967 : };
5968 0 : return expand_rtx (expand_encoding, operands);
5969 : }
5970 :
5971 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33532 */
5972 : rtx
5973 0 : gen_avx10_2_vcvttps2uqqsv2di (const rtx operand0, const rtx operand1)
5974 : {
5975 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
5976 0 : static const uint8_t expand_encoding[] = {
5977 : 0x1f, 0x01, 0x00, 0x1a, 0x52, 0x01, 0x01, 0x01,
5978 : 0x82, 0x15
5979 : };
5980 0 : return expand_rtx (expand_encoding, operands);
5981 : }
5982 :
5983 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33543 */
5984 : rtx
5985 24 : gen_avx10_2_vcvttsd2usisdi_round (const rtx operand0, const rtx operand1, const rtx operand2)
5986 : {
5987 24 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
5988 24 : static const uint8_t expand_encoding[] = {
5989 : 0x1f, 0x01, 0x00, 0x1a, 0x12, 0x02, 0x1a, 0x12,
5990 : 0x01, 0x81, 0x0a, 0x2e, 0x01, 0x01, 0x17, 0x00,
5991 : 0x01, 0x27, 0x00, 0x82, 0x15, 0x01, 0x02, 0x81,
5992 : 0x33
5993 : };
5994 24 : return expand_rtx (expand_encoding, operands);
5995 : }
5996 :
5997 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33569 */
5998 : rtx
5999 0 : gen_avx10_2_minmaxbf16_v16bf (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
6000 : {
6001 0 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
6002 0 : static const uint8_t expand_encoding[] = {
6003 : 0x1f, 0x01, 0x00, 0x1a, 0x6d, 0x03, 0x01, 0x01,
6004 : 0x01, 0x02, 0x01, 0x03, 0x82, 0x16
6005 : };
6006 0 : return expand_rtx (expand_encoding, operands);
6007 : }
6008 :
6009 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33581 */
6010 : rtx
6011 0 : gen_avx10_2_minmaxpv16hf_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
6012 : {
6013 0 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
6014 0 : static const uint8_t expand_encoding[] = {
6015 : 0x1f, 0x01, 0x00, 0x1a, 0x6e, 0x02, 0x1a, 0x6e,
6016 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x82,
6017 : 0x17, 0x01, 0x04, 0x81, 0x33
6018 : };
6019 0 : return expand_rtx (expand_encoding, operands);
6020 : }
6021 :
6022 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33581 */
6023 : rtx
6024 78 : gen_avx10_2_minmaxpv16sf_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5, const rtx operand6)
6025 : {
6026 78 : rtx operands[7] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5, operand6 };
6027 78 : static const uint8_t expand_encoding[] = {
6028 : 0x1f, 0x01, 0x00, 0x1a, 0x74, 0x02, 0x81, 0x09,
6029 : 0x74, 0x1a, 0x74, 0x03, 0x01, 0x01, 0x01, 0x02,
6030 : 0x01, 0x03, 0x82, 0x17, 0x01, 0x04, 0x01, 0x05,
6031 : 0x01, 0x06, 0x81, 0x33
6032 : };
6033 78 : return expand_rtx (expand_encoding, operands);
6034 : }
6035 :
6036 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33581 */
6037 : rtx
6038 0 : gen_avx10_2_minmaxpv8df_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
6039 : {
6040 0 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
6041 0 : static const uint8_t expand_encoding[] = {
6042 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x75, 0x1a, 0x75,
6043 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x82,
6044 : 0x17, 0x01, 0x04, 0x01, 0x05
6045 : };
6046 0 : return expand_rtx (expand_encoding, operands);
6047 : }
6048 :
6049 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33593 */
6050 : rtx
6051 0 : gen_avx10_2_minmaxsv8hf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
6052 : {
6053 0 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
6054 0 : static const uint8_t expand_encoding[] = {
6055 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6a, 0x81, 0x09,
6056 : 0x6a, 0x1a, 0x6a, 0x03, 0x01, 0x01, 0x01, 0x02,
6057 : 0x01, 0x03, 0x82, 0x17, 0x01, 0x04, 0x01, 0x05,
6058 : 0x01, 0x01, 0x27, 0x01
6059 : };
6060 0 : return expand_rtx (expand_encoding, operands);
6061 : }
6062 :
6063 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33593 */
6064 : rtx
6065 69 : gen_avx10_2_minmaxsv2df_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5, const rtx operand6)
6066 : {
6067 69 : rtx operands[7] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5, operand6 };
6068 69 : static const uint8_t expand_encoding[] = {
6069 : 0x1f, 0x01, 0x00, 0x1a, 0x6c, 0x02, 0x81, 0x09,
6070 : 0x6c, 0x81, 0x09, 0x6c, 0x1a, 0x6c, 0x03, 0x01,
6071 : 0x01, 0x01, 0x02, 0x01, 0x03, 0x82, 0x17, 0x01,
6072 : 0x04, 0x01, 0x05, 0x01, 0x01, 0x27, 0x01, 0x01,
6073 : 0x06, 0x81, 0x33
6074 : };
6075 69 : return expand_rtx (expand_encoding, operands);
6076 : }
6077 :
6078 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33608 */
6079 : rtx
6080 0 : gen_avx10_2_vmovrsdv8si (const rtx operand0, const rtx operand1)
6081 : {
6082 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
6083 0 : static const uint8_t expand_encoding[] = {
6084 : 0x1f, 0x01, 0x00, 0x1a, 0x56, 0x01, 0x01, 0x01,
6085 : 0x82, 0x1b
6086 : };
6087 0 : return expand_rtx (expand_encoding, operands);
6088 : }
6089 :
6090 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33608 */
6091 : rtx
6092 33 : gen_avx10_2_vmovrsqv2di_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
6093 : {
6094 33 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
6095 33 : static const uint8_t expand_encoding[] = {
6096 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x52, 0x1a, 0x52,
6097 : 0x01, 0x01, 0x01, 0x82, 0x1b, 0x01, 0x02, 0x01,
6098 : 0x03
6099 : };
6100 33 : return expand_rtx (expand_encoding, operands);
6101 : }
6102 :
6103 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33661 */
6104 : rtx
6105 0 : gen_avx512bmm_vbitrevb_v32qi (const rtx operand0, const rtx operand1)
6106 : {
6107 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
6108 0 : static const uint8_t expand_encoding[] = {
6109 : 0x1f, 0x01, 0x00, 0x1a, 0x54, 0x01, 0x01, 0x01,
6110 : 0x82, 0x1a
6111 : };
6112 0 : return expand_rtx (expand_encoding, operands);
6113 : }
6114 :
6115 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md:352 */
6116 : rtx
6117 0 : gen_storedi_via_fpu (const rtx operand0, const rtx operand1)
6118 : {
6119 0 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
6120 0 : static const uint8_t expand_encoding[] = {
6121 : 0x1f, 0x01, 0x00, 0x1a, 0x12, 0x01, 0x01, 0x01,
6122 : 0x82, 0x20
6123 : };
6124 0 : return expand_rtx (expand_encoding, operands);
6125 : }
6126 :
6127 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md:693 */
6128 : rtx
6129 1476 : gen_atomic_fetch_addqi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
6130 : {
6131 1476 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
6132 1476 : static const uint8_t expand_encoding[] = {
6133 : 0x17, 0x00, 0x03, 0x1f, 0x01, 0x00, 0x1b, 0x0f,
6134 : 0x02, 0x01, 0x01, 0x01, 0x03, 0x6e, 0x1f, 0x01,
6135 : 0x01, 0x3b, 0x0f, 0x01, 0x01, 0x01, 0x02, 0x05,
6136 : 0x02, 0x11
6137 : };
6138 1476 : return expand_rtx (expand_encoding, operands);
6139 : }
6140 :
6141 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md:800 */
6142 : rtx
6143 6379 : gen_atomic_exchangeqi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
6144 : {
6145 6379 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
6146 6379 : static const uint8_t expand_encoding[] = {
6147 : 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x1b, 0x0f,
6148 : 0x02, 0x01, 0x01, 0x01, 0x03, 0x6e, 0x1f, 0x01,
6149 : 0x01, 0x01, 0x02
6150 : };
6151 6379 : return expand_rtx (expand_encoding, operands);
6152 : }
6153 :
6154 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md:824 */
6155 : rtx
6156 2018 : gen_atomic_adddi (const rtx operand0, const rtx operand1, const rtx operand2)
6157 : {
6158 2018 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
6159 2018 : static const uint8_t expand_encoding[] = {
6160 : 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x1b, 0x12,
6161 : 0x02, 0x3b, 0x12, 0x01, 0x00, 0x01, 0x01, 0x01,
6162 : 0x02, 0x6f, 0x05, 0x02, 0x11
6163 : };
6164 2018 : return expand_rtx (expand_encoding, operands);
6165 : }
6166 :
6167 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md:878 */
6168 : rtx
6169 108 : gen_atomic_xorhi (const rtx operand0, const rtx operand1, const rtx operand2)
6170 : {
6171 108 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
6172 108 : static const uint8_t expand_encoding[] = {
6173 : 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x1b, 0x10,
6174 : 0x02, 0x4b, 0x10, 0x01, 0x00, 0x01, 0x01, 0x01,
6175 : 0x02, 0x6f, 0x05, 0x02, 0x11
6176 : };
6177 108 : return expand_rtx (expand_encoding, operands);
6178 : }
6179 :
6180 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md:947 */
6181 : rtx
6182 22 : gen_atomic_bit_test_and_complementhi_1 (const rtx operand0, const rtx operand1, const rtx operand2)
6183 : {
6184 22 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
6185 22 : static const uint8_t expand_encoding[] = {
6186 : 0x17, 0x00, 0x02, 0x1f, 0x30, 0x08, 0x11, 0x3a,
6187 : 0x08, 0x1b, 0x10, 0x02, 0x01, 0x00, 0x01, 0x02,
6188 : 0x6e, 0x27, 0x00, 0x1f, 0x81, 0x06, 0x10, 0x01,
6189 : 0x00, 0x27, 0x01, 0x01, 0x01, 0x4c, 0x10, 0x81,
6190 : 0x06, 0x10, 0x01, 0x00, 0x27, 0x01, 0x01, 0x01
6191 : };
6192 22 : return expand_rtx (expand_encoding, operands);
6193 : }
6194 :
6195 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md:1046 */
6196 : rtx
6197 312 : gen_atomic_sub_fetch_cmp_0si_1 (const rtx operand0, const rtx operand1, const rtx operand2)
6198 : {
6199 312 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
6200 312 : static const uint8_t expand_encoding[] = {
6201 : 0x17, 0x00, 0x02, 0x1f, 0x30, 0x04, 0x11, 0x3a,
6202 : 0x04, 0x3c, 0x11, 0x1b, 0x11, 0x02, 0x01, 0x00,
6203 : 0x01, 0x02, 0x6e, 0x01, 0x01, 0x27, 0x00, 0x1f,
6204 : 0x01, 0x00, 0x3c, 0x11, 0x01, 0x00, 0x01, 0x01
6205 : };
6206 312 : return expand_rtx (expand_encoding, operands);
6207 : }
6208 :
6209 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md:1089 */
6210 : rtx
6211 44 : gen_atomic_xor_fetch_cmp_0si_1 (const rtx operand0, const rtx operand1, const rtx operand2)
6212 : {
6213 44 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
6214 44 : static const uint8_t expand_encoding[] = {
6215 : 0x17, 0x00, 0x02, 0x1f, 0x30, 0x05, 0x11, 0x3a,
6216 : 0x05, 0x4b, 0x11, 0x1b, 0x11, 0x02, 0x01, 0x00,
6217 : 0x01, 0x02, 0x6e, 0x01, 0x01, 0x27, 0x00, 0x1f,
6218 : 0x01, 0x00, 0x4b, 0x11, 0x01, 0x00, 0x01, 0x01
6219 : };
6220 44 : return expand_rtx (expand_encoding, operands);
6221 : }
6222 :
6223 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:1460 */
6224 : rtx
6225 59866 : gen_cbranchti4 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
6226 : {
6227 59866 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
6228 59866 : start_sequence ();
6229 59866 : {
6230 : #define FAIL return (end_sequence (), nullptr)
6231 : #define DONE return end_sequence ()
6232 : #line 1470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6233 : {
6234 : ix86_expand_branch (GET_CODE (operands[0]),
6235 : operands[1], operands[2], operands[3]);
6236 : DONE;
6237 : }
6238 : #undef DONE
6239 : #undef FAIL
6240 : }
6241 : static const uint8_t expand_encoding[] = {
6242 : 0x02, 0x1f, 0x30, 0x02, 0x11, 0x3a, 0x02, 0x01,
6243 : 0x01, 0x01, 0x02, 0x1f, 0x2f, 0x39, 0x00, 0x03,
6244 : 0x00, 0x00, 0x30, 0x02, 0x11, 0x27, 0x00, 0x37,
6245 : 0x00, 0x01, 0x03, 0x2f
6246 : };
6247 : return complete_seq (expand_encoding, operands);
6248 : }
6249 :
6250 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:1508 */
6251 : rtx
6252 : gen_cstoredi4 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
6253 : {
6254 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
6255 : start_sequence ();
6256 : {
6257 : #define FAIL return (end_sequence (), nullptr)
6258 : #define DONE return end_sequence ()
6259 : #line 1516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6260 : {
6261 : if (DImode == (TARGET_64BIT ? TImode : DImode))
6262 : {
6263 : if (GET_CODE (operands[1]) != EQ
6264 : && GET_CODE (operands[1]) != NE)
6265 : FAIL;
6266 : }
6267 : else if (MEM_P (operands[2]) && MEM_P (operands[3]))
6268 : operands[2] = force_reg (DImode, operands[2]);
6269 : ix86_expand_setcc (operands[0], GET_CODE (operands[1]),
6270 : operands[2], operands[3]);
6271 : DONE;
6272 : }
6273 : #undef DONE
6274 : #undef FAIL
6275 : }
6276 : static const uint8_t expand_encoding[] = {
6277 : 0x02, 0x1f, 0x30, 0x02, 0x11, 0x3a, 0x02, 0x01,
6278 : 0x02, 0x01, 0x03, 0x1f, 0x01, 0x00, 0x03, 0x00,
6279 : 0x01, 0x30, 0x02, 0x11, 0x27, 0x00
6280 : };
6281 : return complete_seq (expand_encoding, operands);
6282 : }
6283 :
6284 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:1845 */
6285 : rtx
6286 : gen_cstorehf4 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
6287 : {
6288 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
6289 : start_sequence ();
6290 : {
6291 : #define FAIL return (end_sequence (), nullptr)
6292 : #define DONE return end_sequence ()
6293 : #line 1854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6294 : {
6295 : ix86_expand_setcc (operands[0], GET_CODE (operands[1]),
6296 : operands[2], operands[3]);
6297 : DONE;
6298 : }
6299 : #undef DONE
6300 : #undef FAIL
6301 : }
6302 : static const uint8_t expand_encoding[] = {
6303 : 0x02, 0x1f, 0x30, 0x02, 0x11, 0x3a, 0x02, 0x01,
6304 : 0x02, 0x01, 0x03, 0x1f, 0x01, 0x00, 0x03, 0x00,
6305 : 0x01, 0x30, 0x02, 0x11, 0x27, 0x00
6306 : };
6307 : return complete_seq (expand_encoding, operands);
6308 : }
6309 :
6310 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:1918 */
6311 : rtx
6312 : gen_cstoreccno4 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
6313 : {
6314 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
6315 : start_sequence ();
6316 : {
6317 : #define FAIL return (end_sequence (), nullptr)
6318 : #define DONE return end_sequence ()
6319 : #line 1924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6320 : {
6321 : ix86_expand_setcc (operands[0], GET_CODE (operands[1]),
6322 : operands[2], operands[3]);
6323 : DONE;
6324 : }
6325 : #undef DONE
6326 : #undef FAIL
6327 : }
6328 : static const uint8_t expand_encoding[] = {
6329 : 0x01, 0x1f, 0x01, 0x00, 0x03, 0x00, 0x01, 0x01,
6330 : 0x02, 0x01, 0x03
6331 : };
6332 : return complete_seq (expand_encoding, operands);
6333 : }
6334 :
6335 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:1918 */
6336 : rtx
6337 : gen_cstorecc4 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
6338 : {
6339 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
6340 : start_sequence ();
6341 : {
6342 : #define FAIL return (end_sequence (), nullptr)
6343 : #define DONE return end_sequence ()
6344 : #line 1924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6345 : {
6346 : ix86_expand_setcc (operands[0], GET_CODE (operands[1]),
6347 : operands[2], operands[3]);
6348 : DONE;
6349 : }
6350 : #undef DONE
6351 : #undef FAIL
6352 : }
6353 : static const uint8_t expand_encoding[] = {
6354 : 0x01, 0x1f, 0x01, 0x00, 0x03, 0x00, 0x01, 0x01,
6355 : 0x02, 0x01, 0x03
6356 : };
6357 : return complete_seq (expand_encoding, operands);
6358 : }
6359 :
6360 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:2275 */
6361 : extern rtx_insn *gen_split_9 (rtx_insn *, rtx *);
6362 : rtx_insn *
6363 : gen_split_9 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
6364 : {
6365 : if (dump_file)
6366 : fprintf (dump_file, "Splitting with gen_split_9 (i386.md:2275)\n");
6367 : start_sequence ();
6368 : #define FAIL return (end_sequence (), nullptr)
6369 : #define DONE return end_sequence ()
6370 : #line 2281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6371 : {
6372 : operands[2] = GEN_INT (-PUSH_ROUNDING (GET_MODE_SIZE (DImode)));
6373 : /* Preserve memory attributes. */
6374 : operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
6375 : }
6376 : #undef DONE
6377 : #undef FAIL
6378 : static const uint8_t expand_encoding[] = {
6379 : 0x02, 0x1f, 0x30, 0x11, 0x07, 0x3b, 0x11, 0x30,
6380 : 0x11, 0x07, 0x01, 0x02, 0x1f, 0x01, 0x00, 0x01,
6381 : 0x01
6382 : };
6383 : return complete_seq (expand_encoding, operands);
6384 : }
6385 :
6386 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:2411 */
6387 : rtx
6388 : gen_movcdi (const rtx operand0, const rtx operand1)
6389 : {
6390 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
6391 : start_sequence ();
6392 : {
6393 : #define FAIL return (end_sequence (), nullptr)
6394 : #define DONE return end_sequence ()
6395 : #line 2415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6396 : {
6397 : if (push_operand (operands[0], CDImode))
6398 : emit_move_complex_push (CDImode, operands[0], operands[1]);
6399 : else
6400 : emit_move_complex_parts (operands[0], operands[1]);
6401 : DONE;
6402 : }
6403 : #undef DONE
6404 : #undef FAIL
6405 : }
6406 : static const uint8_t expand_encoding[] = {
6407 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
6408 : };
6409 : return complete_seq (expand_encoding, operands);
6410 : }
6411 :
6412 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:2781 */
6413 : extern rtx_insn *gen_split_22 (rtx_insn *, rtx *);
6414 : rtx_insn *
6415 : gen_split_22 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
6416 : {
6417 : if (dump_file)
6418 : fprintf (dump_file, "Splitting with gen_split_22 (i386.md:2781)\n");
6419 : start_sequence ();
6420 : #define FAIL return (end_sequence (), nullptr)
6421 : #define DONE return end_sequence ()
6422 : #line 2790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6423 : {
6424 : operands[2] = gen_highpart (DImode, operands[0]);
6425 : operands[3] = lowpart_subreg (V2DImode, operands[1], TImode);
6426 :
6427 : emit_move_insn (gen_lowpart (DImode, operands[0]),
6428 : gen_lowpart (DImode, operands[1]));
6429 : }
6430 : #undef DONE
6431 : #undef FAIL
6432 : static const uint8_t expand_encoding[] = {
6433 : 0x01, 0x1f, 0x01, 0x02, 0x81, 0x0a, 0x12, 0x01,
6434 : 0x03, 0x17, 0x00, 0x01, 0x27, 0x01
6435 : };
6436 : return complete_seq (expand_encoding, operands);
6437 : }
6438 :
6439 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:3317 */
6440 : extern rtx_insn *gen_peephole2_12 (rtx_insn *, rtx *);
6441 : rtx_insn *
6442 : gen_peephole2_12 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
6443 : {
6444 : if (dump_file)
6445 : fprintf (dump_file, "Splitting with gen_peephole2_12 (i386.md:3317)\n");
6446 : start_sequence ();
6447 : static const uint8_t expand_encoding[] = {
6448 : 0x01, 0x1f, 0x01, 0x02, 0x01, 0x01
6449 : };
6450 : return complete_seq (expand_encoding, operands);
6451 : }
6452 :
6453 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:3432 */
6454 : extern rtx_insn *gen_peephole2_20 (rtx_insn *, rtx *);
6455 : rtx_insn *
6456 : gen_peephole2_20 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
6457 : {
6458 : if (dump_file)
6459 : fprintf (dump_file, "Splitting with gen_peephole2_20 (i386.md:3432)\n");
6460 : start_sequence ();
6461 : static const uint8_t expand_encoding[] = {
6462 : 0x01, 0x1f, 0x01, 0x01, 0x01, 0x00
6463 : };
6464 : return complete_seq (expand_encoding, operands);
6465 : }
6466 :
6467 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:3467 */
6468 : rtx
6469 : gen_movstricthi (const rtx operand0, const rtx operand1)
6470 : {
6471 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
6472 : start_sequence ();
6473 : {
6474 : #define FAIL return (end_sequence (), nullptr)
6475 : #define DONE return end_sequence ()
6476 : #line 3471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6477 : {
6478 : gcc_assert (SUBREG_P (operands[0]));
6479 : if ((TARGET_PARTIAL_REG_STALL && optimize_function_for_speed_p (cfun))
6480 : || !VALID_INT_MODE_P (GET_MODE (SUBREG_REG (operands[0]))))
6481 : FAIL;
6482 : }
6483 : #undef DONE
6484 : #undef FAIL
6485 : }
6486 : static const uint8_t expand_encoding[] = {
6487 : 0x01, 0x1f, 0x33, 0x00, 0x01, 0x00, 0x01, 0x01
6488 : };
6489 : return complete_seq (expand_encoding, operands);
6490 : }
6491 :
6492 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:3609 */
6493 : rtx
6494 : gen_insvdi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
6495 : {
6496 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
6497 : start_sequence ();
6498 : {
6499 : #define FAIL return (end_sequence (), nullptr)
6500 : #define DONE return end_sequence ()
6501 : #line 3615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6502 : {
6503 : rtx dst;
6504 :
6505 : if (ix86_expand_pinsr (operands))
6506 : DONE;
6507 :
6508 : /* Handle insertions to %ah et al. */
6509 : if (INTVAL (operands[1]) != 8 || INTVAL (operands[2]) != 8)
6510 : FAIL;
6511 :
6512 : unsigned int regno = reg_or_subregno (operands[0]);
6513 :
6514 : /* Be careful to expand only with registers having upper parts. */
6515 : if (regno <= LAST_VIRTUAL_REGISTER && !QI_REGNO_P (regno))
6516 : dst = copy_to_reg (operands[0]);
6517 : else
6518 : dst = operands[0];
6519 :
6520 : emit_insn (gen_insv_1 (DImode, dst, operands[3]));
6521 :
6522 : /* Fix up the destination if needed. */
6523 : if (dst != operands[0])
6524 : emit_move_insn (operands[0], dst);
6525 :
6526 : DONE;
6527 : }
6528 : #undef DONE
6529 : #undef FAIL
6530 : }
6531 : static const uint8_t expand_encoding[] = {
6532 : 0x01, 0x1f, 0x81, 0x06, 0x12, 0x01, 0x00, 0x01,
6533 : 0x01, 0x01, 0x02, 0x01, 0x03
6534 : };
6535 : return complete_seq (expand_encoding, operands);
6536 : }
6537 :
6538 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:3753 */
6539 : extern rtx_insn *gen_split_31 (rtx_insn *, rtx *);
6540 : rtx_insn *
6541 : gen_split_31 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
6542 : {
6543 : if (dump_file)
6544 : fprintf (dump_file, "Splitting with gen_split_31 (i386.md:3753)\n");
6545 : start_sequence ();
6546 : #define FAIL return (end_sequence (), nullptr)
6547 : #define DONE return end_sequence ()
6548 : #line 3769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6549 : {
6550 : operands[4] = gen_highpart (DImode, operands[1]);
6551 : split_double_concat (TImode, operands[0], operands[2], operands[4]);
6552 : DONE;
6553 : }
6554 : #undef DONE
6555 : #undef FAIL
6556 : static const uint8_t expand_encoding[] = {
6557 : 0x01, 0x27, 0x00
6558 : };
6559 : return complete_seq (expand_encoding, operands);
6560 : }
6561 :
6562 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:3880 */
6563 : extern rtx_insn *gen_split_41 (rtx_insn *, rtx *);
6564 : rtx_insn *
6565 : gen_split_41 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
6566 : {
6567 : if (dump_file)
6568 : fprintf (dump_file, "Splitting with gen_split_41 (i386.md:3880)\n");
6569 : start_sequence ();
6570 : #define FAIL return (end_sequence (), nullptr)
6571 : #define DONE return end_sequence ()
6572 : #line 3886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6573 : {
6574 : /* Preserve memory attributes. */
6575 : operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
6576 : }
6577 : #undef DONE
6578 : #undef FAIL
6579 : static const uint8_t expand_encoding[] = {
6580 : 0x02, 0x1f, 0x30, 0x11, 0x07, 0x3b, 0x11, 0x30,
6581 : 0x11, 0x07, 0x27, 0x81, 0xff, 0xff, 0xff, 0xff,
6582 : 0xff, 0xff, 0xff, 0xff, 0x78, 0x1f, 0x01, 0x00,
6583 : 0x01, 0x01
6584 : };
6585 : return complete_seq (expand_encoding, operands);
6586 : }
6587 :
6588 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:4054 */
6589 : rtx
6590 : gen_movtf (const rtx operand0, const rtx operand1)
6591 : {
6592 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
6593 : start_sequence ();
6594 : {
6595 : #define FAIL return (end_sequence (), nullptr)
6596 : #define DONE return end_sequence ()
6597 : #line 4058 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6598 : ix86_expand_move (TFmode, operands); DONE;
6599 : #undef DONE
6600 : #undef FAIL
6601 : }
6602 : static const uint8_t expand_encoding[] = {
6603 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
6604 : };
6605 : return complete_seq (expand_encoding, operands);
6606 : }
6607 :
6608 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:4116 */
6609 : extern rtx_insn *gen_split_51 (rtx_insn *, rtx *);
6610 : rtx_insn *
6611 : gen_split_51 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
6612 : {
6613 : if (dump_file)
6614 : fprintf (dump_file, "Splitting with gen_split_51 (i386.md:4116)\n");
6615 : start_sequence ();
6616 : #define FAIL return (end_sequence (), nullptr)
6617 : #define DONE return end_sequence ()
6618 : #line 4121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6619 : ix86_split_long_move (operands); DONE;
6620 : #undef DONE
6621 : #undef FAIL
6622 : static const uint8_t expand_encoding[] = {
6623 : 0x01, 0x27, 0x00
6624 : };
6625 : return complete_seq (expand_encoding, operands);
6626 : }
6627 :
6628 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:4829 */
6629 : extern rtx_insn *gen_split_60 (rtx_insn *, rtx *);
6630 : rtx_insn *
6631 : gen_split_60 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
6632 : {
6633 : if (dump_file)
6634 : fprintf (dump_file, "Splitting with gen_split_60 (i386.md:4829)\n");
6635 : start_sequence ();
6636 : #define FAIL return (end_sequence (), nullptr)
6637 : #define DONE return end_sequence ()
6638 : #line 4834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6639 : split_double_mode (DImode, &operands[0], 1, &operands[3], &operands[4]);
6640 : #undef DONE
6641 : #undef FAIL
6642 : static const uint8_t expand_encoding[] = {
6643 : 0x01, 0x1f, 0x01, 0x04, 0x27, 0x00
6644 : };
6645 : return complete_seq (expand_encoding, operands);
6646 : }
6647 :
6648 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:4979 */
6649 : extern rtx_insn *gen_peephole2_42 (rtx_insn *, rtx *);
6650 : rtx_insn *
6651 : gen_peephole2_42 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
6652 : {
6653 : if (dump_file)
6654 : fprintf (dump_file, "Splitting with gen_peephole2_42 (i386.md:4979)\n");
6655 : start_sequence ();
6656 : static const uint8_t expand_encoding[] = {
6657 : 0x01, 0x1f, 0x01, 0x00, 0x6f, 0x12, 0x01, 0x02
6658 : };
6659 : return complete_seq (expand_encoding, operands);
6660 : }
6661 :
6662 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:4992 */
6663 : extern rtx_insn *gen_peephole2_48 (rtx_insn *, rtx *);
6664 : rtx_insn *
6665 : gen_peephole2_48 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
6666 : {
6667 : if (dump_file)
6668 : fprintf (dump_file, "Splitting with gen_peephole2_48 (i386.md:4992)\n");
6669 : start_sequence ();
6670 : static const uint8_t expand_encoding[] = {
6671 : 0x01, 0x1f, 0x01, 0x00, 0x6f, 0x12, 0x01, 0x02
6672 : };
6673 : return complete_seq (expand_encoding, operands);
6674 : }
6675 :
6676 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:5120 */
6677 : extern rtx_insn *gen_split_69 (rtx_insn *, rtx *);
6678 : rtx_insn *
6679 : gen_split_69 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
6680 : {
6681 : if (dump_file)
6682 : fprintf (dump_file, "Splitting with gen_split_69 (i386.md:5120)\n");
6683 : start_sequence ();
6684 : #define FAIL return (end_sequence (), nullptr)
6685 : #define DONE return end_sequence ()
6686 : #line 5127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6687 : {
6688 : rtx bits = GEN_INT (8 * BITS_PER_UNIT - 1);
6689 :
6690 : split_double_mode (TImode, &operands[0], 1, &operands[3], &operands[4]);
6691 :
6692 : if (REGNO (operands[3]) != REGNO (operands[1]))
6693 : emit_move_insn (operands[3], operands[1]);
6694 :
6695 : rtx src = operands[1];
6696 : if (REGNO (operands[3]) == AX_REG)
6697 : src = operands[3];
6698 :
6699 : /* Generate a cltd if possible and doing so it profitable. */
6700 : if ((optimize_function_for_size_p (cfun) || TARGET_USE_CLTD)
6701 : && REGNO (src) == AX_REG
6702 : && REGNO (operands[4]) == DX_REG)
6703 : {
6704 : emit_insn (gen_ashrdi3_cvt (operands[4], src, bits));
6705 : DONE;
6706 : }
6707 :
6708 : if (REGNO (operands[4]) != REGNO (operands[1]))
6709 : emit_move_insn (operands[4], operands[1]);
6710 :
6711 : emit_insn (gen_ashrdi3_cvt (operands[4], operands[4], bits));
6712 : DONE;
6713 : }
6714 : #undef DONE
6715 : #undef FAIL
6716 : static const uint8_t expand_encoding[] = {
6717 : 0x01, 0x27, 0x00
6718 : };
6719 : return complete_seq (expand_encoding, operands);
6720 : }
6721 :
6722 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:5624 */
6723 : extern rtx_insn *gen_split_78 (rtx_insn *, rtx *);
6724 : rtx_insn *
6725 : gen_split_78 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
6726 : {
6727 : if (dump_file)
6728 : fprintf (dump_file, "Splitting with gen_split_78 (i386.md:5624)\n");
6729 : start_sequence ();
6730 : #define FAIL return (end_sequence (), nullptr)
6731 : #define DONE return end_sequence ()
6732 : #line 5638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6733 : {
6734 : operands[2] = lowpart_subreg (V4SFmode, operands[0], SFmode);
6735 : operands[3] = CONST0_RTX (V2SFmode);
6736 : operands[4] = lowpart_subreg (V2DFmode, operands[0], SFmode);
6737 : /* Use movsd for loading from memory, unpcklpd for registers.
6738 : Try to avoid move when unpacking can be done in source, or SSE3
6739 : movddup is available. */
6740 : if (REG_P (operands[1]))
6741 : {
6742 : if ((!TARGET_SSE3 && REGNO (operands[0]) != REGNO (operands[1]))
6743 : || (EXT_REX_SSE_REG_P (operands[1]) && !TARGET_AVX512VL))
6744 : {
6745 : rtx tmp = lowpart_subreg (DFmode, operands[0], SFmode);
6746 : emit_move_insn (tmp, operands[1]);
6747 : operands[1] = tmp;
6748 : }
6749 : else if (!TARGET_SSE3)
6750 : operands[4] = lowpart_subreg (V2DFmode, operands[1], DFmode);
6751 : emit_insn (gen_vec_dupv2df (operands[4], operands[1]));
6752 : }
6753 : else
6754 : emit_insn (gen_vec_concatv2df (operands[4], operands[1],
6755 : CONST0_RTX (DFmode)));
6756 : }
6757 : #undef DONE
6758 : #undef FAIL
6759 : static const uint8_t expand_encoding[] = {
6760 : 0x01, 0x1f, 0x01, 0x02, 0x81, 0x0b, 0x6b, 0x72,
6761 : 0x67, 0x01, 0x04, 0x01, 0x03
6762 : };
6763 : return complete_seq (expand_encoding, operands);
6764 : }
6765 :
6766 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:5892 */
6767 : rtx
6768 : gen_fixuns_truncdfsi2 (const rtx operand0, const rtx operand1)
6769 : {
6770 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1 };
6771 : start_sequence ();
6772 : {
6773 : #define FAIL return (end_sequence (), nullptr)
6774 : #define DONE return end_sequence ()
6775 : #line 5901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6776 : {
6777 : machine_mode mode = DFmode;
6778 : machine_mode vecmode = V2DFmode;
6779 : REAL_VALUE_TYPE TWO31r;
6780 : rtx two31;
6781 :
6782 : if (TARGET_AVX512F)
6783 : {
6784 : emit_insn (gen_fixuns_truncdfsi2_avx512f (operands[0], operands[1]));
6785 : DONE;
6786 : }
6787 :
6788 : if (optimize_insn_for_size_p ())
6789 : FAIL;
6790 :
6791 : real_ldexp (&TWO31r, &dconst1, 31);
6792 : two31 = const_double_from_real_value (TWO31r, mode);
6793 : two31 = ix86_build_const_vector (vecmode, true, two31);
6794 : operands[2] = force_reg (vecmode, two31);
6795 : }
6796 : #undef DONE
6797 : #undef FAIL
6798 : }
6799 : static const uint8_t expand_encoding[] = {
6800 : 0x01, 0x17, 0x00, 0x04, 0x1f, 0x01, 0x00, 0x76,
6801 : 0x11, 0x01, 0x01, 0x20, 0x00, 0x01, 0x02, 0x21,
6802 : 0x00, 0x31, 0x6c, 0x21, 0x00, 0x31, 0x6c
6803 : };
6804 : return complete_seq (expand_encoding, operands);
6805 : }
6806 :
6807 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:6133 */
6808 : rtx
6809 : gen_floatdidf2 (const rtx operand0, const rtx operand1)
6810 : {
6811 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
6812 : static const uint8_t expand_encoding[] = {
6813 : 0x1f, 0x01, 0x00, 0x73, 0x2e, 0x01, 0x01
6814 : };
6815 : return expand_rtx (expand_encoding, operands);
6816 : }
6817 :
6818 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:6253 */
6819 : extern rtx_insn *gen_split_91 (rtx_insn *, rtx *);
6820 : rtx_insn *
6821 : gen_split_91 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
6822 : {
6823 : if (dump_file)
6824 : fprintf (dump_file, "Splitting with gen_split_91 (i386.md:6253)\n");
6825 : start_sequence ();
6826 : #define FAIL return (end_sequence (), nullptr)
6827 : #define DONE return end_sequence ()
6828 : #line 6267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6829 : {
6830 : /* The DImode arrived in a pair of integral registers (e.g. %edx:%eax).
6831 : Assemble the 64-bit DImode value in an xmm register. */
6832 : emit_insn (gen_sse2_loadld (operands[3], CONST0_RTX (V4SImode),
6833 : gen_lowpart (SImode, operands[1])));
6834 : if (TARGET_SSE4_1)
6835 : emit_insn (gen_sse4_1_pinsrd (operands[3], operands[3],
6836 : gen_highpart (SImode, operands[1]),
6837 : GEN_INT (2)));
6838 : else
6839 : {
6840 : emit_insn (gen_sse2_loadld (operands[4], CONST0_RTX (V4SImode),
6841 : gen_highpart (SImode, operands[1])));
6842 : emit_insn (gen_vec_interleave_lowv4si (operands[3], operands[3],
6843 : operands[4]));
6844 : }
6845 : operands[3] = gen_lowpart (DImode, operands[3]);
6846 : }
6847 : #undef DONE
6848 : #undef FAIL
6849 : static const uint8_t expand_encoding[] = {
6850 : 0x02, 0x1f, 0x01, 0x02, 0x01, 0x03, 0x1f, 0x01,
6851 : 0x00, 0x73, 0x2e, 0x01, 0x02
6852 : };
6853 : return complete_seq (expand_encoding, operands);
6854 : }
6855 :
6856 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:6345 */
6857 : extern rtx_insn *gen_split_99 (rtx_insn *, rtx *);
6858 : rtx_insn *
6859 : gen_split_99 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
6860 : {
6861 : if (dump_file)
6862 : fprintf (dump_file, "Splitting with gen_split_99 (i386.md:6345)\n");
6863 : start_sequence ();
6864 : #define FAIL return (end_sequence (), nullptr)
6865 : #define DONE return end_sequence ()
6866 : #line 6360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6867 :
6868 : #undef DONE
6869 : #undef FAIL
6870 : static const uint8_t expand_encoding[] = {
6871 : 0x03, 0x1f, 0x01, 0x03, 0x6f, 0x12, 0x01, 0x01,
6872 : 0x1f, 0x01, 0x02, 0x01, 0x03, 0x1f, 0x01, 0x00,
6873 : 0x73, 0x2f, 0x01, 0x02
6874 : };
6875 : return complete_seq (expand_encoding, operands);
6876 : }
6877 :
6878 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:6479 */
6879 : extern rtx_insn *gen_split_102 (rtx_insn *, rtx *);
6880 : rtx_insn *
6881 : gen_split_102 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
6882 : {
6883 : if (dump_file)
6884 : fprintf (dump_file, "Splitting with gen_split_102 (i386.md:6479)\n");
6885 : start_sequence ();
6886 : #define FAIL return (end_sequence (), nullptr)
6887 : #define DONE return end_sequence ()
6888 : #line 6484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6889 : operands[1] = GEN_INT (exact_log2 (INTVAL (operands[1])));
6890 : #undef DONE
6891 : #undef FAIL
6892 : static const uint8_t expand_encoding[] = {
6893 : 0x01, 0x1f, 0x01, 0x00, 0x4d, 0x11, 0x01, 0x00,
6894 : 0x01, 0x01
6895 : };
6896 : return complete_seq (expand_encoding, operands);
6897 : }
6898 :
6899 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:6545 */
6900 : rtx
6901 : gen_addqi3 (const rtx operand0, const rtx operand1, const rtx operand2)
6902 : {
6903 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
6904 : start_sequence ();
6905 : {
6906 : #define FAIL return (end_sequence (), nullptr)
6907 : #define DONE return end_sequence ()
6908 : #line 6550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6909 : {
6910 : ix86_expand_binary_operator (PLUS, QImode, operands, TARGET_APX_NDD);
6911 : DONE;
6912 : }
6913 : #undef DONE
6914 : #undef FAIL
6915 : }
6916 : static const uint8_t expand_encoding[] = {
6917 : 0x01, 0x1f, 0x01, 0x00, 0x3b, 0x0f, 0x01, 0x01,
6918 : 0x01, 0x02
6919 : };
6920 : return complete_seq (expand_encoding, operands);
6921 : }
6922 :
6923 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:6626 */
6924 : extern rtx_insn *gen_split_109 (rtx_insn *, rtx *);
6925 : rtx_insn *
6926 : gen_split_109 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
6927 : {
6928 : if (dump_file)
6929 : fprintf (dump_file, "Splitting with gen_split_109 (i386.md:6626)\n");
6930 : start_sequence ();
6931 : #define FAIL return (end_sequence (), nullptr)
6932 : #define DONE return end_sequence ()
6933 : #line 6654 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6934 : split_double_mode (DImode, &operands[0], 2, &operands[0], &operands[5]);
6935 : #undef DONE
6936 : #undef FAIL
6937 : static const uint8_t expand_encoding[] = {
6938 : 0x02, 0x17, 0x00, 0x02, 0x1f, 0x30, 0x08, 0x11,
6939 : 0x3a, 0x08, 0x3b, 0x11, 0x01, 0x01, 0x01, 0x04,
6940 : 0x01, 0x01, 0x1f, 0x01, 0x00, 0x3b, 0x11, 0x01,
6941 : 0x01, 0x01, 0x04, 0x17, 0x00, 0x02, 0x1f, 0x01,
6942 : 0x05, 0x3b, 0x11, 0x3b, 0x11, 0x66, 0x11, 0x30,
6943 : 0x02, 0x11, 0x27, 0x00, 0x01, 0x06, 0x01, 0x02,
6944 : 0x05, 0x02, 0x11
6945 : };
6946 : return complete_seq (expand_encoding, operands);
6947 : }
6948 :
6949 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:6656 */
6950 : extern rtx_insn *gen_split_117 (rtx_insn *, rtx *);
6951 : rtx_insn *
6952 : gen_split_117 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
6953 : {
6954 : if (dump_file)
6955 : fprintf (dump_file, "Splitting with gen_split_117 (i386.md:6656)\n");
6956 : start_sequence ();
6957 : #define FAIL return (end_sequence (), nullptr)
6958 : #define DONE return end_sequence ()
6959 : #line 6687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6960 : split_double_mode (TImode, &operands[0], 1, &operands[0], &operands[5]);
6961 : #undef DONE
6962 : #undef FAIL
6963 : static const uint8_t expand_encoding[] = {
6964 : 0x04, 0x1f, 0x01, 0x00, 0x01, 0x04, 0x17, 0x00,
6965 : 0x02, 0x1f, 0x30, 0x08, 0x11, 0x3a, 0x08, 0x3b,
6966 : 0x12, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x1f,
6967 : 0x01, 0x00, 0x3b, 0x12, 0x01, 0x00, 0x01, 0x01,
6968 : 0x1f, 0x01, 0x05, 0x01, 0x02, 0x17, 0x00, 0x02,
6969 : 0x1f, 0x01, 0x05, 0x3b, 0x12, 0x3b, 0x12, 0x66,
6970 : 0x12, 0x30, 0x02, 0x11, 0x27, 0x00, 0x01, 0x05,
6971 : 0x27, 0x00, 0x05, 0x02, 0x11
6972 : };
6973 : return complete_seq (expand_encoding, operands);
6974 : }
6975 :
6976 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:7149 */
6977 : extern rtx_insn *gen_split_130 (rtx_insn *, rtx *);
6978 : rtx_insn *
6979 : gen_split_130 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
6980 : {
6981 : if (dump_file)
6982 : fprintf (dump_file, "Splitting with gen_split_130 (i386.md:7149)\n");
6983 : start_sequence ();
6984 : #define FAIL return (end_sequence (), nullptr)
6985 : #define DONE return end_sequence ()
6986 : #line 7161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6987 : operands[3] = gen_lowpart (SImode, operands[0]);
6988 : #undef DONE
6989 : #undef FAIL
6990 : static const uint8_t expand_encoding[] = {
6991 : 0x02, 0x1f, 0x01, 0x03, 0x01, 0x01, 0x17, 0x00,
6992 : 0x02, 0x1f, 0x01, 0x00, 0x6f, 0x12, 0x3b, 0x11,
6993 : 0x01, 0x03, 0x01, 0x02, 0x05, 0x02, 0x11
6994 : };
6995 : return complete_seq (expand_encoding, operands);
6996 : }
6997 :
6998 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:7555 */
6999 : extern rtx_insn *gen_split_140 (rtx_insn *, rtx *);
7000 : rtx_insn *
7001 : gen_split_140 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7002 : {
7003 : if (dump_file)
7004 : fprintf (dump_file, "Splitting with gen_split_140 (i386.md:7555)\n");
7005 : start_sequence ();
7006 : #define FAIL return (end_sequence (), nullptr)
7007 : #define DONE return end_sequence ()
7008 : #line 7580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7009 :
7010 : #undef DONE
7011 : #undef FAIL
7012 : static const uint8_t expand_encoding[] = {
7013 : 0x02, 0x1f, 0x01, 0x00, 0x32, 0x0f, 0x81, 0x06,
7014 : 0x10, 0x01, 0x02, 0x27, 0x08, 0x27, 0x08, 0x00,
7015 : 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x3b, 0x0f,
7016 : 0x32, 0x0f, 0x81, 0x06, 0x10, 0x01, 0x01, 0x27,
7017 : 0x08, 0x27, 0x08, 0x00, 0x01, 0x00, 0x05, 0x02,
7018 : 0x11
7019 : };
7020 : return complete_seq (expand_encoding, operands);
7021 : }
7022 :
7023 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:7656 */
7024 : extern rtx_insn *gen_split_150 (rtx_insn *, rtx *);
7025 : rtx_insn *
7026 : gen_split_150 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7027 : {
7028 : if (dump_file)
7029 : fprintf (dump_file, "Splitting with gen_split_150 (i386.md:7656)\n");
7030 : start_sequence ();
7031 : #define FAIL return (end_sequence (), nullptr)
7032 : #define DONE return end_sequence ()
7033 : #line 7693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7034 :
7035 : #undef DONE
7036 : #undef FAIL
7037 : static const uint8_t expand_encoding[] = {
7038 : 0x02, 0x1f, 0x81, 0x06, 0x12, 0x01, 0x00, 0x27,
7039 : 0x08, 0x27, 0x08, 0x81, 0x06, 0x12, 0x01, 0x01,
7040 : 0x27, 0x08, 0x27, 0x08, 0x17, 0x00, 0x02, 0x1f,
7041 : 0x81, 0x06, 0x12, 0x01, 0x00, 0x27, 0x08, 0x27,
7042 : 0x08, 0x32, 0x12, 0x3b, 0x0f, 0x32, 0x0f, 0x81,
7043 : 0x06, 0x12, 0x01, 0x00, 0x27, 0x08, 0x27, 0x08,
7044 : 0x00, 0x32, 0x0f, 0x81, 0x06, 0x12, 0x01, 0x02,
7045 : 0x27, 0x08, 0x27, 0x08, 0x00, 0x00, 0x05, 0x02,
7046 : 0x11
7047 : };
7048 : return complete_seq (expand_encoding, operands);
7049 : }
7050 :
7051 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:7824 */
7052 : extern rtx_insn *gen_split_155 (rtx_insn *, rtx *);
7053 : rtx_insn *
7054 : gen_split_155 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7055 : {
7056 : if (dump_file)
7057 : fprintf (dump_file, "Splitting with gen_split_155 (i386.md:7824)\n");
7058 : start_sequence ();
7059 : #define FAIL return (end_sequence (), nullptr)
7060 : #define DONE return end_sequence ()
7061 : #line 7867 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7062 : {
7063 : split_double_mode (TImode, &operands[0], 3, &operands[0], &operands[3]);
7064 : if (operands[2] == const0_rtx)
7065 : {
7066 : if (!rtx_equal_p (operands[0], operands[1]))
7067 : emit_move_insn (operands[0], operands[1]);
7068 : emit_insn (gen_addvdi4_1 (operands[3], operands[4], operands[5],
7069 : operands[5]));
7070 : DONE;
7071 : }
7072 : }
7073 : #undef DONE
7074 : #undef FAIL
7075 : static const uint8_t expand_encoding[] = {
7076 : 0x02, 0x17, 0x00, 0x02, 0x1f, 0x30, 0x08, 0x11,
7077 : 0x3a, 0x08, 0x3b, 0x12, 0x01, 0x01, 0x01, 0x02,
7078 : 0x01, 0x01, 0x1f, 0x01, 0x00, 0x3b, 0x12, 0x01,
7079 : 0x01, 0x01, 0x02, 0x17, 0x00, 0x02, 0x1f, 0x30,
7080 : 0x09, 0x11, 0x5d, 0x09, 0x3b, 0x13, 0x3b, 0x13,
7081 : 0x66, 0x13, 0x30, 0x02, 0x11, 0x27, 0x00, 0x6e,
7082 : 0x13, 0x01, 0x04, 0x01, 0x05, 0x6e, 0x13, 0x3b,
7083 : 0x12, 0x3b, 0x12, 0x66, 0x12, 0x30, 0x02, 0x11,
7084 : 0x27, 0x00, 0x01, 0x04, 0x01, 0x05, 0x1f, 0x01,
7085 : 0x03, 0x3b, 0x12, 0x3b, 0x12, 0x66, 0x12, 0x30,
7086 : 0x02, 0x11, 0x27, 0x00, 0x01, 0x04, 0x01, 0x05
7087 : };
7088 : return complete_seq (expand_encoding, operands);
7089 : }
7090 :
7091 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:8034 */
7092 : extern rtx_insn *gen_split_163 (rtx_insn *, rtx *);
7093 : rtx_insn *
7094 : gen_split_163 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7095 : {
7096 : if (dump_file)
7097 : fprintf (dump_file, "Splitting with gen_split_163 (i386.md:8034)\n");
7098 : start_sequence ();
7099 : #define FAIL return (end_sequence (), nullptr)
7100 : #define DONE return end_sequence ()
7101 : #line 8051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7102 : {
7103 : operands[0] = gen_lowpart (SImode, operands[0]);
7104 : operands[1] = gen_lowpart (SImode, operands[1]);
7105 : operands[3] = gen_lowpart (SImode, operands[3]);
7106 : operands[4] = gen_lowpart (SImode, operands[4]);
7107 : }
7108 : #undef DONE
7109 : #undef FAIL
7110 : static const uint8_t expand_encoding[] = {
7111 : 0x01, 0x1f, 0x01, 0x00, 0x3b, 0x11, 0x3b, 0x11,
7112 : 0x3e, 0x11, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03,
7113 : 0x01, 0x04
7114 : };
7115 : return complete_seq (expand_encoding, operands);
7116 : }
7117 :
7118 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:8110 */
7119 : extern rtx_insn *gen_split_173 (rtx_insn *, rtx *);
7120 : rtx_insn *
7121 : gen_split_173 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7122 : {
7123 : if (dump_file)
7124 : fprintf (dump_file, "Splitting with gen_split_173 (i386.md:8110)\n");
7125 : start_sequence ();
7126 : #define FAIL return (end_sequence (), nullptr)
7127 : #define DONE return end_sequence ()
7128 : #line 8125 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7129 : operands[2] = GEN_INT (1 << INTVAL (operands[2]));
7130 : #undef DONE
7131 : #undef FAIL
7132 : static const uint8_t expand_encoding[] = {
7133 : 0x01, 0x1f, 0x01, 0x00, 0x3b, 0x12, 0x3e, 0x12,
7134 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
7135 : };
7136 : return complete_seq (expand_encoding, operands);
7137 : }
7138 :
7139 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:8262 */
7140 : extern rtx_insn *gen_split_179 (rtx_insn *, rtx *);
7141 : rtx_insn *
7142 : gen_split_179 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7143 : {
7144 : if (dump_file)
7145 : fprintf (dump_file, "Splitting with gen_split_179 (i386.md:8262)\n");
7146 : start_sequence ();
7147 : #define FAIL return (end_sequence (), nullptr)
7148 : #define DONE return end_sequence ()
7149 : #line 8278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7150 :
7151 : #undef DONE
7152 : #undef FAIL
7153 : static const uint8_t expand_encoding[] = {
7154 : 0x02, 0x1f, 0x33, 0x00, 0x01, 0x00, 0x01, 0x01,
7155 : 0x17, 0x00, 0x02, 0x1f, 0x33, 0x00, 0x01, 0x00,
7156 : 0x3c, 0x10, 0x01, 0x00, 0x01, 0x02, 0x05, 0x02,
7157 : 0x11
7158 : };
7159 : return complete_seq (expand_encoding, operands);
7160 : }
7161 :
7162 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:8310 */
7163 : extern rtx_insn *gen_split_185 (rtx_insn *, rtx *);
7164 : rtx_insn *
7165 : gen_split_185 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7166 : {
7167 : if (dump_file)
7168 : fprintf (dump_file, "Splitting with gen_split_185 (i386.md:8310)\n");
7169 : start_sequence ();
7170 : #define FAIL return (end_sequence (), nullptr)
7171 : #define DONE return end_sequence ()
7172 : #line 8335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7173 :
7174 : #undef DONE
7175 : #undef FAIL
7176 : static const uint8_t expand_encoding[] = {
7177 : 0x02, 0x1f, 0x33, 0x00, 0x01, 0x00, 0x32, 0x0f,
7178 : 0x81, 0x06, 0x12, 0x01, 0x01, 0x27, 0x08, 0x27,
7179 : 0x08, 0x00, 0x17, 0x00, 0x02, 0x1f, 0x33, 0x00,
7180 : 0x01, 0x00, 0x3c, 0x0f, 0x01, 0x00, 0x32, 0x0f,
7181 : 0x81, 0x06, 0x12, 0x01, 0x02, 0x27, 0x08, 0x27,
7182 : 0x08, 0x00, 0x05, 0x02, 0x11
7183 : };
7184 : return complete_seq (expand_encoding, operands);
7185 : }
7186 :
7187 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:8461 */
7188 : rtx
7189 : gen_subvti4 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
7190 : {
7191 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
7192 : start_sequence ();
7193 : {
7194 : #define FAIL return (end_sequence (), nullptr)
7195 : #define DONE return end_sequence ()
7196 : #line 8479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7197 : {
7198 : ix86_fixup_binary_operands_no_copy (MINUS, TImode, operands,
7199 : TARGET_APX_NDD);
7200 : if (CONST_SCALAR_INT_P (operands[2]))
7201 : operands[4] = operands[2];
7202 : else
7203 : operands[4] = gen_rtx_SIGN_EXTEND (POImode, operands[2]);
7204 : }
7205 : #undef DONE
7206 : #undef FAIL
7207 : }
7208 : static const uint8_t expand_encoding[] = {
7209 : 0x02, 0x17, 0x00, 0x02, 0x1f, 0x30, 0x09, 0x11,
7210 : 0x5d, 0x09, 0x3c, 0x18, 0x6e, 0x18, 0x01, 0x01,
7211 : 0x01, 0x04, 0x6e, 0x18, 0x3c, 0x13, 0x01, 0x01,
7212 : 0x01, 0x02, 0x1f, 0x01, 0x00, 0x3c, 0x13, 0x01,
7213 : 0x01, 0x01, 0x02, 0x1f, 0x2f, 0x39, 0x00, 0x5d,
7214 : 0x00, 0x30, 0x09, 0x11, 0x27, 0x00, 0x37, 0x00,
7215 : 0x01, 0x03, 0x2f
7216 : };
7217 : return complete_seq (expand_encoding, operands);
7218 : }
7219 :
7220 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:8720 */
7221 : rtx
7222 : gen_subhi_3 (const rtx operand0, const rtx operand1, const rtx operand2)
7223 : {
7224 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
7225 : static const uint8_t expand_encoding[] = {
7226 : 0x17, 0x00, 0x02, 0x1f, 0x30, 0x02, 0x11, 0x3a,
7227 : 0x02, 0x01, 0x01, 0x01, 0x02, 0x1f, 0x01, 0x00,
7228 : 0x3c, 0x10, 0x01, 0x01, 0x01, 0x02
7229 : };
7230 : return expand_rtx (expand_encoding, operands);
7231 : }
7232 :
7233 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:8756 */
7234 : extern rtx_insn *gen_peephole2_74 (rtx_insn *, rtx *);
7235 : rtx_insn *
7236 : gen_peephole2_74 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7237 : {
7238 : if (dump_file)
7239 : fprintf (dump_file, "Splitting with gen_peephole2_74 (i386.md:8756)\n");
7240 : start_sequence ();
7241 : static const uint8_t expand_encoding[] = {
7242 : 0x02, 0x1f, 0x01, 0x00, 0x01, 0x02, 0x17, 0x00,
7243 : 0x02, 0x1f, 0x30, 0x02, 0x11, 0x3a, 0x02, 0x01,
7244 : 0x01, 0x01, 0x00, 0x1f, 0x01, 0x01, 0x3c, 0x0f,
7245 : 0x01, 0x01, 0x01, 0x00
7246 : };
7247 : return complete_seq (expand_encoding, operands);
7248 : }
7249 :
7250 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:8805 */
7251 : extern rtx_insn *gen_peephole2_84 (rtx_insn *, rtx *);
7252 : rtx_insn *
7253 : gen_peephole2_84 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7254 : {
7255 : if (dump_file)
7256 : fprintf (dump_file, "Splitting with gen_peephole2_84 (i386.md:8805)\n");
7257 : start_sequence ();
7258 : #define FAIL return (end_sequence (), nullptr)
7259 : #define DONE return end_sequence ()
7260 : #line 8827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7261 : {
7262 : rtx cc = gen_rtx_REG (CCmode, FLAGS_REG);
7263 : operands[3] = gen_rtx_fmt_ee (GET_CODE (operands[1]) == NE
7264 : ? GEU : LTU, VOIDmode, cc, const0_rtx);
7265 : }
7266 : #undef DONE
7267 : #undef FAIL
7268 : static const uint8_t expand_encoding[] = {
7269 : 0x02, 0x17, 0x00, 0x02, 0x1f, 0x30, 0x02, 0x11,
7270 : 0x3a, 0x02, 0x01, 0x00, 0x27, 0x01, 0x1f, 0x01,
7271 : 0x00, 0x3c, 0x11, 0x01, 0x00, 0x27, 0x01, 0x1f,
7272 : 0x2f, 0x39, 0x00, 0x01, 0x03, 0x01, 0x02, 0x2f
7273 : };
7274 : return complete_seq (expand_encoding, operands);
7275 : }
7276 :
7277 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:8922 */
7278 : extern rtx_insn *gen_peephole2_92 (rtx_insn *, rtx *);
7279 : rtx_insn *
7280 : gen_peephole2_92 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7281 : {
7282 : if (dump_file)
7283 : fprintf (dump_file, "Splitting with gen_peephole2_92 (i386.md:8922)\n");
7284 : start_sequence ();
7285 : static const uint8_t expand_encoding[] = {
7286 : 0x02, 0x1f, 0x01, 0x00, 0x01, 0x02, 0x17, 0x00,
7287 : 0x02, 0x1f, 0x01, 0x01, 0x3b, 0x11, 0x3b, 0x11,
7288 : 0x02, 0x04, 0x01, 0x03, 0x27, 0x00, 0x01, 0x01,
7289 : 0x01, 0x00, 0x05, 0x02, 0x11
7290 : };
7291 : return complete_seq (expand_encoding, operands);
7292 : }
7293 :
7294 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:9431 */
7295 : extern rtx_insn *gen_peephole2_102 (rtx_insn *, rtx *);
7296 : rtx_insn *
7297 : gen_peephole2_102 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7298 : {
7299 : if (dump_file)
7300 : fprintf (dump_file, "Splitting with gen_peephole2_102 (i386.md:9431)\n");
7301 : start_sequence ();
7302 : static const uint8_t expand_encoding[] = {
7303 : 0x03, 0x17, 0x00, 0x02, 0x1f, 0x30, 0x08, 0x11,
7304 : 0x3a, 0x08, 0x6f, 0x12, 0x3b, 0x11, 0x3b, 0x11,
7305 : 0x02, 0x04, 0x01, 0x02, 0x27, 0x00, 0x01, 0x01,
7306 : 0x01, 0x00, 0x3b, 0x12, 0x02, 0x03, 0x01, 0x02,
7307 : 0x27, 0x00, 0x6f, 0x12, 0x01, 0x00, 0x1f, 0x01,
7308 : 0x01, 0x3b, 0x11, 0x3b, 0x11, 0x02, 0x04, 0x01,
7309 : 0x02, 0x27, 0x00, 0x01, 0x01, 0x01, 0x00, 0x1f,
7310 : 0x01, 0x05, 0x66, 0x0f, 0x30, 0x08, 0x11, 0x27,
7311 : 0x00, 0x1f, 0x01, 0x06, 0x6f, 0x11, 0x01, 0x05
7312 : };
7313 : return complete_seq (expand_encoding, operands);
7314 : }
7315 :
7316 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:9944 */
7317 : extern rtx_insn *gen_peephole2_112 (rtx_insn *, rtx *);
7318 : rtx_insn *
7319 : gen_peephole2_112 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7320 : {
7321 : if (dump_file)
7322 : fprintf (dump_file, "Splitting with gen_peephole2_112 (i386.md:9944)\n");
7323 : start_sequence ();
7324 : static const uint8_t expand_encoding[] = {
7325 : 0x02, 0x1f, 0x01, 0x00, 0x01, 0x02, 0x17, 0x00,
7326 : 0x02, 0x1f, 0x30, 0x08, 0x11, 0x3a, 0x08, 0x6f,
7327 : 0x12, 0x01, 0x01, 0x3b, 0x12, 0x02, 0x04, 0x01,
7328 : 0x03, 0x27, 0x00, 0x6f, 0x12, 0x01, 0x00, 0x1f,
7329 : 0x01, 0x01, 0x3c, 0x11, 0x3c, 0x11, 0x01, 0x01,
7330 : 0x02, 0x05, 0x01, 0x03, 0x27, 0x00, 0x01, 0x00
7331 : };
7332 : return complete_seq (expand_encoding, operands);
7333 : }
7334 :
7335 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:10195 */
7336 : rtx
7337 : gen_uaddcsi5 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
7338 : {
7339 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
7340 : start_sequence ();
7341 : {
7342 : #define FAIL return (end_sequence (), nullptr)
7343 : #define DONE return end_sequence ()
7344 : #line 10202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7345 : {
7346 : rtx cf = gen_rtx_REG (CCCmode, FLAGS_REG), pat, pat2;
7347 : if (operands[4] == const0_rtx)
7348 : emit_insn (gen_addcarrysi_0 (operands[0], operands[2], operands[3]));
7349 : else
7350 : {
7351 : ix86_expand_carry (operands[4]);
7352 : pat = gen_rtx_LTU (DImode, cf, const0_rtx);
7353 : pat2 = gen_rtx_LTU (SImode, cf, const0_rtx);
7354 : emit_insn (gen_addcarrysi (operands[0], operands[2], operands[3],
7355 : cf, pat, pat2));
7356 : }
7357 : rtx cc = gen_reg_rtx (QImode);
7358 : pat = gen_rtx_LTU (QImode, cf, const0_rtx);
7359 : emit_insn (gen_rtx_SET (cc, pat));
7360 : emit_insn (gen_zero_extendqisi2 (operands[1], cc));
7361 : DONE;
7362 : }
7363 : #undef DONE
7364 : #undef FAIL
7365 : }
7366 : static const uint8_t expand_encoding[] = {
7367 : 0x05, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
7368 : 0x03, 0x01, 0x04
7369 : };
7370 : return complete_seq (expand_encoding, operands);
7371 : }
7372 :
7373 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:10348 */
7374 : extern rtx_insn *gen_peephole2_121 (rtx_insn *, rtx *);
7375 : rtx_insn *
7376 : gen_peephole2_121 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7377 : {
7378 : if (dump_file)
7379 : fprintf (dump_file, "Splitting with gen_peephole2_121 (i386.md:10348)\n");
7380 : start_sequence ();
7381 : static const uint8_t expand_encoding[] = {
7382 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x30, 0x08, 0x11,
7383 : 0x3a, 0x08, 0x3b, 0x10, 0x01, 0x01, 0x01, 0x00,
7384 : 0x01, 0x01, 0x1f, 0x01, 0x01, 0x3b, 0x10, 0x01,
7385 : 0x01, 0x01, 0x00
7386 : };
7387 : return complete_seq (expand_encoding, operands);
7388 : }
7389 :
7390 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:10516 */
7391 : extern rtx_insn *gen_split_209 (rtx_insn *, rtx *);
7392 : rtx_insn *
7393 : gen_split_209 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7394 : {
7395 : if (dump_file)
7396 : fprintf (dump_file, "Splitting with gen_split_209 (i386.md:10516)\n");
7397 : start_sequence ();
7398 : static const uint8_t expand_encoding[] = {
7399 : 0x02, 0x1f, 0x30, 0x02, 0x11, 0x3a, 0x02, 0x01,
7400 : 0x03, 0x27, 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01,
7401 : 0x00, 0x3b, 0x10, 0x3b, 0x10, 0x66, 0x10, 0x30,
7402 : 0x02, 0x11, 0x27, 0x00, 0x01, 0x01, 0x01, 0x02,
7403 : 0x05, 0x02, 0x11
7404 : };
7405 : return complete_seq (expand_encoding, operands);
7406 : }
7407 :
7408 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:10565 */
7409 : extern rtx_insn *gen_split_217 (rtx_insn *, rtx *);
7410 : rtx_insn *
7411 : gen_split_217 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7412 : {
7413 : if (dump_file)
7414 : fprintf (dump_file, "Splitting with gen_split_217 (i386.md:10565)\n");
7415 : start_sequence ();
7416 : #define FAIL return (end_sequence (), nullptr)
7417 : #define DONE return end_sequence ()
7418 : #line 10581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7419 : {
7420 : if (!nonimmediate_operand (operands[1], HImode))
7421 : operands[1] = force_reg (HImode, operands[1]);
7422 : }
7423 : #undef DONE
7424 : #undef FAIL
7425 : static const uint8_t expand_encoding[] = {
7426 : 0x02, 0x1f, 0x30, 0x02, 0x11, 0x3a, 0x02, 0x01,
7427 : 0x02, 0x27, 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01,
7428 : 0x00, 0x3b, 0x10, 0x66, 0x10, 0x30, 0x02, 0x11,
7429 : 0x27, 0x00, 0x01, 0x01, 0x05, 0x02, 0x11
7430 : };
7431 : return complete_seq (expand_encoding, operands);
7432 : }
7433 :
7434 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:10609 */
7435 : extern rtx_insn *gen_split_227 (rtx_insn *, rtx *);
7436 : rtx_insn *
7437 : gen_split_227 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7438 : {
7439 : if (dump_file)
7440 : fprintf (dump_file, "Splitting with gen_split_227 (i386.md:10609)\n");
7441 : start_sequence ();
7442 : static const uint8_t expand_encoding[] = {
7443 : 0x02, 0x1f, 0x30, 0x02, 0x11, 0x3a, 0x02, 0x01,
7444 : 0x03, 0x27, 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01,
7445 : 0x00, 0x3c, 0x12, 0x3c, 0x12, 0x01, 0x01, 0x66,
7446 : 0x12, 0x30, 0x02, 0x11, 0x27, 0x00, 0x01, 0x02,
7447 : 0x05, 0x02, 0x11
7448 : };
7449 : return complete_seq (expand_encoding, operands);
7450 : }
7451 :
7452 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:10689 */
7453 : extern rtx_insn *gen_split_237 (rtx_insn *, rtx *);
7454 : rtx_insn *
7455 : gen_split_237 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7456 : {
7457 : if (dump_file)
7458 : fprintf (dump_file, "Splitting with gen_split_237 (i386.md:10689)\n");
7459 : start_sequence ();
7460 : #define FAIL return (end_sequence (), nullptr)
7461 : #define DONE return end_sequence ()
7462 : #line 10705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7463 : {
7464 : if (!nonimmediate_operand (operands[1], HImode))
7465 : operands[1] = force_reg (HImode, operands[1]);
7466 : }
7467 : #undef DONE
7468 : #undef FAIL
7469 : static const uint8_t expand_encoding[] = {
7470 : 0x02, 0x1f, 0x30, 0x02, 0x11, 0x3a, 0x02, 0x01,
7471 : 0x02, 0x27, 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01,
7472 : 0x00, 0x3c, 0x10, 0x01, 0x01, 0x66, 0x10, 0x30,
7473 : 0x02, 0x11, 0x27, 0x00, 0x05, 0x02, 0x11
7474 : };
7475 : return complete_seq (expand_encoding, operands);
7476 : }
7477 :
7478 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:10733 */
7479 : rtx
7480 : gen_usadddi3 (const rtx operand0, const rtx operand1, const rtx operand2)
7481 : {
7482 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
7483 : start_sequence ();
7484 : {
7485 : #define FAIL return (end_sequence (), nullptr)
7486 : #define DONE return end_sequence ()
7487 : #line 10738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7488 : {
7489 : rtx res = gen_reg_rtx (DImode);
7490 : rtx dst;
7491 :
7492 : emit_insn (gen_adddi3_cc_overflow_1 (res, operands[1], operands[2]));
7493 :
7494 : if (TARGET_CMOVE)
7495 : {
7496 : rtx cmp = gen_rtx_GEU (VOIDmode, gen_rtx_REG (CCCmode, FLAGS_REG),
7497 : const0_rtx);
7498 :
7499 : if (8 < GET_MODE_SIZE (SImode))
7500 : {
7501 : dst = force_reg (DImode, operands[0]);
7502 : emit_insn (gen_movsicc (gen_lowpart (SImode, dst), cmp,
7503 : gen_lowpart (SImode, res), constm1_rtx));
7504 : }
7505 : else
7506 : {
7507 : dst = operands[0];
7508 : emit_insn (gen_movdicc (dst, cmp, res, constm1_rtx));
7509 : }
7510 : }
7511 : else
7512 : {
7513 : rtx msk = gen_reg_rtx (DImode);
7514 :
7515 : emit_insn (gen_x86_movdicc_0_m1_neg (msk));
7516 : dst = expand_simple_binop (DImode, IOR, res, msk,
7517 : operands[0], 1, OPTAB_WIDEN);
7518 : }
7519 :
7520 : if (!rtx_equal_p (dst, operands[0]))
7521 : emit_move_insn (operands[0], dst);
7522 : DONE;
7523 : }
7524 : #undef DONE
7525 : #undef FAIL
7526 : }
7527 : static const uint8_t expand_encoding[] = {
7528 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x0f, 0x12, 0x01,
7529 : 0x01, 0x01, 0x02
7530 : };
7531 : return complete_seq (expand_encoding, operands);
7532 : }
7533 :
7534 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:10890 */
7535 : rtx
7536 : gen_ustrunchiqi2 (const rtx operand0, const rtx operand1)
7537 : {
7538 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
7539 : start_sequence ();
7540 : {
7541 : #define FAIL return (end_sequence (), nullptr)
7542 : #define DONE return end_sequence ()
7543 : #line 10894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7544 : {
7545 : rtx op1 = force_reg (HImode, operands[1]);
7546 : rtx sat = force_reg (HImode, GEN_INT (GET_MODE_MASK (QImode)));
7547 : rtx dst;
7548 :
7549 : emit_insn (gen_cmphi_1 (sat, op1));
7550 :
7551 : if (TARGET_CMOVE)
7552 : {
7553 : rtx cmp = gen_rtx_GEU (VOIDmode, gen_rtx_REG (CCCmode, FLAGS_REG),
7554 : const0_rtx);
7555 :
7556 : dst = force_reg (QImode, operands[0]);
7557 : emit_insn (gen_movsicc (gen_lowpart (SImode, dst), cmp,
7558 : gen_lowpart (SImode, op1),
7559 : gen_lowpart (SImode, sat)));
7560 : }
7561 : else
7562 : {
7563 : rtx msk = gen_reg_rtx (QImode);
7564 :
7565 : emit_insn (gen_x86_movqicc_0_m1_neg (msk));
7566 : dst = expand_simple_binop (QImode, IOR,
7567 : gen_lowpart (QImode, op1), msk,
7568 : operands[0], 1, OPTAB_WIDEN);
7569 : }
7570 :
7571 : if (!rtx_equal_p (dst, operands[0]))
7572 : emit_move_insn (operands[0], dst);
7573 : DONE;
7574 : }
7575 : #undef DONE
7576 : #undef FAIL
7577 : }
7578 : static const uint8_t expand_encoding[] = {
7579 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x18, 0x10, 0x01,
7580 : 0x01
7581 : };
7582 : return complete_seq (expand_encoding, operands);
7583 : }
7584 :
7585 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:11224 */
7586 : rtx
7587 : gen_umulvdi4 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
7588 : {
7589 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
7590 : start_sequence ();
7591 : {
7592 : #define FAIL return (end_sequence (), nullptr)
7593 : #define DONE return end_sequence ()
7594 : #line 11243 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7595 : {
7596 : if (MEM_P (operands[1]) && MEM_P (operands[2]))
7597 : operands[1] = force_reg (DImode, operands[1]);
7598 : }
7599 : #undef DONE
7600 : #undef FAIL
7601 : }
7602 : static const uint8_t expand_encoding[] = {
7603 : 0x02, 0x17, 0x00, 0x03, 0x1f, 0x30, 0x09, 0x11,
7604 : 0x5d, 0x09, 0x3e, 0x13, 0x6f, 0x13, 0x01, 0x01,
7605 : 0x6f, 0x13, 0x01, 0x02, 0x6f, 0x13, 0x3e, 0x12,
7606 : 0x01, 0x01, 0x01, 0x02, 0x1f, 0x01, 0x00, 0x3e,
7607 : 0x12, 0x01, 0x01, 0x01, 0x02, 0x21, 0x00, 0x31,
7608 : 0x12, 0x1f, 0x2f, 0x39, 0x00, 0x5d, 0x00, 0x30,
7609 : 0x09, 0x11, 0x27, 0x00, 0x37, 0x00, 0x01, 0x03,
7610 : 0x2f
7611 : };
7612 : return complete_seq (expand_encoding, operands);
7613 : }
7614 :
7615 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:11401 */
7616 : extern rtx_insn *gen_split_245 (rtx_insn *, rtx *);
7617 : rtx_insn *
7618 : gen_split_245 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7619 : {
7620 : if (dump_file)
7621 : fprintf (dump_file, "Splitting with gen_split_245 (i386.md:11401)\n");
7622 : start_sequence ();
7623 : #define FAIL return (end_sequence (), nullptr)
7624 : #define DONE return end_sequence ()
7625 : #line 11415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7626 : {
7627 : split_double_mode (TImode, &operands[0], 1, &operands[3], &operands[4]);
7628 :
7629 : operands[5] = GEN_INT (8 * BITS_PER_UNIT);
7630 : }
7631 : #undef DONE
7632 : #undef FAIL
7633 : static const uint8_t expand_encoding[] = {
7634 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x03, 0x3e,
7635 : 0x12, 0x01, 0x01, 0x01, 0x02, 0x1f, 0x01, 0x04,
7636 : 0x42, 0x12, 0x01, 0x01, 0x01, 0x02
7637 : };
7638 : return complete_seq (expand_encoding, operands);
7639 : }
7640 :
7641 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:11694 */
7642 : rtx
7643 : gen_divxf3 (const rtx operand0, const rtx operand1, const rtx operand2)
7644 : {
7645 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
7646 : static const uint8_t expand_encoding[] = {
7647 : 0x1f, 0x01, 0x00, 0x43, 0x2f, 0x01, 0x01, 0x01,
7648 : 0x02
7649 : };
7650 : return expand_rtx (expand_encoding, operands);
7651 : }
7652 :
7653 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:11747 */
7654 : rtx
7655 : gen_divmodsi4 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
7656 : {
7657 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
7658 : static const uint8_t expand_encoding[] = {
7659 : 0x17, 0x00, 0x03, 0x1f, 0x01, 0x00, 0x43, 0x11,
7660 : 0x01, 0x01, 0x01, 0x02, 0x1f, 0x01, 0x03, 0x46,
7661 : 0x11, 0x01, 0x01, 0x01, 0x02, 0x05, 0x02, 0x11
7662 : };
7663 : return expand_rtx (expand_encoding, operands);
7664 : }
7665 :
7666 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:11761 */
7667 : extern rtx_insn *gen_split_249 (rtx_insn *, rtx *);
7668 : rtx_insn *
7669 : gen_split_249 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
7670 : {
7671 : if (dump_file)
7672 : fprintf (dump_file, "Splitting with gen_split_249 (i386.md:11761)\n");
7673 : start_sequence ();
7674 : #define FAIL return (end_sequence (), nullptr)
7675 : #define DONE return end_sequence ()
7676 : #line 11773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7677 : ix86_split_idivmod (DImode, operands, true); DONE;
7678 : #undef DONE
7679 : #undef FAIL
7680 : static const uint8_t expand_encoding[] = {
7681 : 0x01, 0x27, 0x00
7682 : };
7683 : return complete_seq (expand_encoding, operands);
7684 : }
7685 :
7686 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:11900 */
7687 : extern rtx_insn *gen_split_259 (rtx_insn *, rtx *);
7688 : rtx_insn *
7689 : gen_split_259 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7690 : {
7691 : if (dump_file)
7692 : fprintf (dump_file, "Splitting with gen_split_259 (i386.md:11900)\n");
7693 : start_sequence ();
7694 : #define FAIL return (end_sequence (), nullptr)
7695 : #define DONE return end_sequence ()
7696 : #line 11919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7697 :
7698 : #undef DONE
7699 : #undef FAIL
7700 : static const uint8_t expand_encoding[] = {
7701 : 0x02, 0x1f, 0x01, 0x01, 0x27, 0x00, 0x17, 0x00,
7702 : 0x04, 0x1f, 0x01, 0x00, 0x6f, 0x12, 0x47, 0x11,
7703 : 0x01, 0x02, 0x01, 0x03, 0x1f, 0x01, 0x01, 0x48,
7704 : 0x11, 0x01, 0x02, 0x01, 0x03, 0x20, 0x00, 0x01,
7705 : 0x01, 0x05, 0x02, 0x11
7706 : };
7707 : return complete_seq (expand_encoding, operands);
7708 : }
7709 :
7710 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:12041 */
7711 : extern rtx_insn *gen_split_268 (rtx_insn *, rtx *);
7712 : rtx_insn *
7713 : gen_split_268 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7714 : {
7715 : if (dump_file)
7716 : fprintf (dump_file, "Splitting with gen_split_268 (i386.md:12041)\n");
7717 : start_sequence ();
7718 : #define FAIL return (end_sequence (), nullptr)
7719 : #define DONE return end_sequence ()
7720 : #line 12056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7721 : {
7722 : int v = exact_log2 (UINTVAL (operands[3]));
7723 : operands[4] = GEN_INT (v);
7724 : operands[5] = GEN_INT ((HOST_WIDE_INT_1U << v) - 1);
7725 : }
7726 : #undef DONE
7727 : #undef FAIL
7728 : static const uint8_t expand_encoding[] = {
7729 : 0x03, 0x1f, 0x01, 0x01, 0x01, 0x02, 0x17, 0x00,
7730 : 0x02, 0x1f, 0x01, 0x00, 0x50, 0x11, 0x01, 0x02,
7731 : 0x01, 0x04, 0x05, 0x02, 0x11, 0x17, 0x00, 0x02,
7732 : 0x1f, 0x01, 0x01, 0x49, 0x11, 0x01, 0x01, 0x01,
7733 : 0x05, 0x05, 0x02, 0x11
7734 : };
7735 : return complete_seq (expand_encoding, operands);
7736 : }
7737 :
7738 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:12349 */
7739 : rtx
7740 : gen_udivmodqi4 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
7741 : {
7742 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
7743 : start_sequence ();
7744 : {
7745 : #define FAIL return (end_sequence (), nullptr)
7746 : #define DONE return end_sequence ()
7747 : #line 12358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7748 : {
7749 : rtx div, mod;
7750 : rtx tmp0, tmp1;
7751 :
7752 : tmp0 = gen_reg_rtx (HImode);
7753 : tmp1 = gen_reg_rtx (HImode);
7754 :
7755 : /* Extend operands[1] to HImode. Generate 8bit divide. Result is in AX. */
7756 : emit_insn (gen_zero_extendqihi2 (tmp1, operands[1]));
7757 : emit_insn (gen_udivmodhiqi3 (tmp0, tmp1, operands[2]));
7758 :
7759 : /* Extract remainder from AH. */
7760 : tmp1 = gen_rtx_ZERO_EXTRACT (HImode, tmp0, GEN_INT (8), GEN_INT (8));
7761 : tmp1 = lowpart_subreg (QImode, tmp1, HImode);
7762 : rtx_insn *insn = emit_move_insn (operands[3], tmp1);
7763 :
7764 : mod = gen_rtx_UMOD (QImode, operands[1], operands[2]);
7765 : set_unique_reg_note (insn, REG_EQUAL, mod);
7766 :
7767 : /* Extract quotient from AL. */
7768 : insn = emit_move_insn (operands[0], gen_lowpart (QImode, tmp0));
7769 :
7770 : div = gen_rtx_UDIV (QImode, operands[1], operands[2]);
7771 : set_unique_reg_note (insn, REG_EQUAL, div);
7772 :
7773 : DONE;
7774 : }
7775 : #undef DONE
7776 : #undef FAIL
7777 : }
7778 : static const uint8_t expand_encoding[] = {
7779 : 0x01, 0x17, 0x00, 0x03, 0x1f, 0x01, 0x00, 0x47,
7780 : 0x0f, 0x01, 0x01, 0x01, 0x02, 0x1f, 0x01, 0x03,
7781 : 0x48, 0x0f, 0x01, 0x01, 0x01, 0x02, 0x05, 0x02,
7782 : 0x11
7783 : };
7784 : return complete_seq (expand_encoding, operands);
7785 : }
7786 :
7787 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:12740 */
7788 : extern rtx_insn *gen_split_287 (rtx_insn *, rtx *);
7789 : rtx_insn *
7790 : gen_split_287 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7791 : {
7792 : if (dump_file)
7793 : fprintf (dump_file, "Splitting with gen_split_287 (i386.md:12740)\n");
7794 : start_sequence ();
7795 : #define FAIL return (end_sequence (), nullptr)
7796 : #define DONE return end_sequence ()
7797 : #line 12761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7798 : {
7799 : operands[2] = gen_lowpart (HImode, operands[2]);
7800 : operands[3] = gen_int_mode (INTVAL (operands[3]) >> 8, QImode);
7801 : }
7802 : #undef DONE
7803 : #undef FAIL
7804 : static const uint8_t expand_encoding[] = {
7805 : 0x01, 0x1f, 0x01, 0x00, 0x02, 0x01, 0x49, 0x0f,
7806 : 0x32, 0x0f, 0x81, 0x06, 0x10, 0x01, 0x02, 0x27,
7807 : 0x08, 0x27, 0x08, 0x00, 0x01, 0x03, 0x27, 0x00
7808 : };
7809 : return complete_seq (expand_encoding, operands);
7810 : }
7811 :
7812 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:12845 */
7813 : rtx
7814 : gen_anddi3 (const rtx operand0, const rtx operand1, const rtx operand2)
7815 : {
7816 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
7817 : start_sequence ();
7818 : {
7819 : #define FAIL return (end_sequence (), nullptr)
7820 : #define DONE return end_sequence ()
7821 : #line 12850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7822 : {
7823 : machine_mode mode = DImode;
7824 :
7825 : if (GET_MODE_SIZE (DImode) > UNITS_PER_WORD
7826 : && !x86_64_hilo_general_operand (operands[2], DImode))
7827 : operands[2] = force_reg (DImode, operands[2]);
7828 :
7829 : if (GET_MODE_SIZE (DImode) <= UNITS_PER_WORD
7830 : && const_int_operand (operands[2], DImode)
7831 : && register_operand (operands[0], DImode)
7832 : && !(TARGET_ZERO_EXTEND_WITH_AND
7833 : && optimize_function_for_speed_p (cfun)))
7834 : {
7835 : unsigned HOST_WIDE_INT ival = UINTVAL (operands[2]);
7836 :
7837 : if (ival == GET_MODE_MASK (SImode))
7838 : mode = SImode;
7839 : else if (ival == GET_MODE_MASK (HImode))
7840 : mode = HImode;
7841 : else if (ival == GET_MODE_MASK (QImode))
7842 : mode = QImode;
7843 : }
7844 :
7845 : if (mode != DImode)
7846 : emit_insn (gen_extend_insn
7847 : (operands[0], gen_lowpart (mode, operands[1]),
7848 : DImode, mode, 1));
7849 : else
7850 : ix86_expand_binary_operator (AND, DImode, operands, TARGET_APX_NDD);
7851 :
7852 : DONE;
7853 : }
7854 : #undef DONE
7855 : #undef FAIL
7856 : }
7857 : static const uint8_t expand_encoding[] = {
7858 : 0x01, 0x1f, 0x01, 0x00, 0x49, 0x12, 0x01, 0x01,
7859 : 0x01, 0x02
7860 : };
7861 : return complete_seq (expand_encoding, operands);
7862 : }
7863 :
7864 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:13125 */
7865 : extern rtx_insn *gen_split_297 (rtx_insn *, rtx *);
7866 : rtx_insn *
7867 : gen_split_297 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7868 : {
7869 : if (dump_file)
7870 : fprintf (dump_file, "Splitting with gen_split_297 (i386.md:13125)\n");
7871 : start_sequence ();
7872 : #define FAIL return (end_sequence (), nullptr)
7873 : #define DONE return end_sequence ()
7874 : #line 13142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7875 :
7876 : #undef DONE
7877 : #undef FAIL
7878 : static const uint8_t expand_encoding[] = {
7879 : 0x02, 0x1f, 0x33, 0x00, 0x01, 0x00, 0x01, 0x01,
7880 : 0x17, 0x00, 0x02, 0x1f, 0x33, 0x00, 0x01, 0x00,
7881 : 0x4a, 0x10, 0x01, 0x00, 0x01, 0x02, 0x05, 0x02,
7882 : 0x11
7883 : };
7884 : return complete_seq (expand_encoding, operands);
7885 : }
7886 :
7887 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:13147 */
7888 : extern rtx_insn *gen_split_307 (rtx_insn *, rtx *);
7889 : rtx_insn *
7890 : gen_split_307 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7891 : {
7892 : if (dump_file)
7893 : fprintf (dump_file, "Splitting with gen_split_307 (i386.md:13147)\n");
7894 : start_sequence ();
7895 : #define FAIL return (end_sequence (), nullptr)
7896 : #define DONE return end_sequence ()
7897 : #line 13170 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7898 :
7899 : #undef DONE
7900 : #undef FAIL
7901 : static const uint8_t expand_encoding[] = {
7902 : 0x02, 0x1f, 0x33, 0x00, 0x01, 0x00, 0x01, 0x01,
7903 : 0x17, 0x00, 0x02, 0x1f, 0x33, 0x00, 0x01, 0x00,
7904 : 0x4b, 0x0f, 0x32, 0x0f, 0x81, 0x06, 0x12, 0x01,
7905 : 0x02, 0x27, 0x08, 0x27, 0x08, 0x00, 0x01, 0x00,
7906 : 0x05, 0x02, 0x11
7907 : };
7908 : return complete_seq (expand_encoding, operands);
7909 : }
7910 :
7911 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:13203 */
7912 : extern rtx_insn *gen_split_317 (rtx_insn *, rtx *);
7913 : rtx_insn *
7914 : gen_split_317 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
7915 : {
7916 : if (dump_file)
7917 : fprintf (dump_file, "Splitting with gen_split_317 (i386.md:13203)\n");
7918 : start_sequence ();
7919 : #define FAIL return (end_sequence (), nullptr)
7920 : #define DONE return end_sequence ()
7921 : #line 13215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7922 : {
7923 : unsigned HOST_WIDE_INT ival = UINTVAL (operands[2]);
7924 : machine_mode mode;
7925 :
7926 : if (ival == GET_MODE_MASK (SImode))
7927 : mode = SImode;
7928 : else if (ival == GET_MODE_MASK (HImode))
7929 : mode = HImode;
7930 : else if (ival == GET_MODE_MASK (QImode))
7931 : mode = QImode;
7932 : else
7933 : gcc_unreachable ();
7934 :
7935 : /* Zero extend to SImode to avoid partial register stalls. */
7936 : if (2 < GET_MODE_SIZE (SImode))
7937 : operands[0] = gen_lowpart (SImode, operands[0]);
7938 :
7939 : emit_insn (gen_extend_insn
7940 : (operands[0], gen_lowpart (mode, operands[1]),
7941 : GET_MODE (operands[0]), mode, 1));
7942 : DONE;
7943 : }
7944 : #undef DONE
7945 : #undef FAIL
7946 : static const uint8_t expand_encoding[] = {
7947 : 0x01, 0x27, 0x00
7948 : };
7949 : return complete_seq (expand_encoding, operands);
7950 : }
7951 :
7952 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:13258 */
7953 : extern rtx_insn *gen_split_327 (rtx_insn *, rtx *);
7954 : rtx_insn *
7955 : gen_split_327 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7956 : {
7957 : if (dump_file)
7958 : fprintf (dump_file, "Splitting with gen_split_327 (i386.md:13258)\n");
7959 : start_sequence ();
7960 : #define FAIL return (end_sequence (), nullptr)
7961 : #define DONE return end_sequence ()
7962 : #line 13280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7963 : operands[0] = gen_lowpart (HImode, operands[0]);
7964 : #undef DONE
7965 : #undef FAIL
7966 : static const uint8_t expand_encoding[] = {
7967 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x81, 0x06, 0x10,
7968 : 0x01, 0x00, 0x27, 0x08, 0x27, 0x08, 0x32, 0x10,
7969 : 0x4b, 0x0f, 0x32, 0x0f, 0x81, 0x06, 0x10, 0x01,
7970 : 0x00, 0x27, 0x08, 0x27, 0x08, 0x00, 0x32, 0x0f,
7971 : 0x81, 0x06, 0x10, 0x01, 0x00, 0x27, 0x08, 0x27,
7972 : 0x08, 0x00, 0x00, 0x05, 0x02, 0x11
7973 : };
7974 : return complete_seq (expand_encoding, operands);
7975 : }
7976 :
7977 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:13453 */
7978 : extern rtx_insn *gen_split_338 (rtx_insn *, rtx *);
7979 : rtx_insn *
7980 : gen_split_338 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
7981 : {
7982 : if (dump_file)
7983 : fprintf (dump_file, "Splitting with gen_split_338 (i386.md:13453)\n");
7984 : start_sequence ();
7985 : #define FAIL return (end_sequence (), nullptr)
7986 : #define DONE return end_sequence ()
7987 : #line 13485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7988 :
7989 : #undef DONE
7990 : #undef FAIL
7991 : static const uint8_t expand_encoding[] = {
7992 : 0x02, 0x1f, 0x81, 0x06, 0x10, 0x01, 0x00, 0x27,
7993 : 0x08, 0x27, 0x08, 0x81, 0x06, 0x10, 0x01, 0x01,
7994 : 0x27, 0x08, 0x27, 0x08, 0x17, 0x00, 0x02, 0x1f,
7995 : 0x81, 0x06, 0x10, 0x01, 0x00, 0x27, 0x08, 0x27,
7996 : 0x08, 0x32, 0x10, 0x4a, 0x0f, 0x32, 0x0f, 0x81,
7997 : 0x06, 0x10, 0x01, 0x00, 0x27, 0x08, 0x27, 0x08,
7998 : 0x00, 0x01, 0x02, 0x00, 0x05, 0x02, 0x11
7999 : };
8000 : return complete_seq (expand_encoding, operands);
8001 : }
8002 :
8003 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:13491 */
8004 : extern rtx_insn *gen_split_348 (rtx_insn *, rtx *);
8005 : rtx_insn *
8006 : gen_split_348 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
8007 : {
8008 : if (dump_file)
8009 : fprintf (dump_file, "Splitting with gen_split_348 (i386.md:13491)\n");
8010 : start_sequence ();
8011 : #define FAIL return (end_sequence (), nullptr)
8012 : #define DONE return end_sequence ()
8013 : #line 13537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8014 :
8015 : #undef DONE
8016 : #undef FAIL
8017 : static const uint8_t expand_encoding[] = {
8018 : 0x02, 0x1f, 0x81, 0x06, 0x10, 0x01, 0x00, 0x27,
8019 : 0x08, 0x27, 0x08, 0x81, 0x06, 0x10, 0x01, 0x01,
8020 : 0x27, 0x08, 0x27, 0x08, 0x17, 0x00, 0x02, 0x1f,
8021 : 0x01, 0x04, 0x02, 0x05, 0x4b, 0x0f, 0x32, 0x0f,
8022 : 0x81, 0x06, 0x10, 0x01, 0x00, 0x27, 0x08, 0x27,
8023 : 0x08, 0x00, 0x01, 0x02, 0x27, 0x00, 0x1f, 0x81,
8024 : 0x06, 0x10, 0x01, 0x00, 0x27, 0x08, 0x27, 0x08,
8025 : 0x32, 0x10, 0x4b, 0x0f, 0x32, 0x0f, 0x81, 0x06,
8026 : 0x10, 0x01, 0x01, 0x27, 0x08, 0x27, 0x08, 0x00,
8027 : 0x01, 0x02, 0x00
8028 : };
8029 : return complete_seq (expand_encoding, operands);
8030 : }
8031 :
8032 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:13543 */
8033 : extern rtx_insn *gen_split_358 (rtx_insn *, rtx *);
8034 : rtx_insn *
8035 : gen_split_358 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
8036 : {
8037 : if (dump_file)
8038 : fprintf (dump_file, "Splitting with gen_split_358 (i386.md:13543)\n");
8039 : start_sequence ();
8040 : #define FAIL return (end_sequence (), nullptr)
8041 : #define DONE return end_sequence ()
8042 : #line 13580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8043 :
8044 : #undef DONE
8045 : #undef FAIL
8046 : static const uint8_t expand_encoding[] = {
8047 : 0x02, 0x1f, 0x81, 0x06, 0x11, 0x01, 0x00, 0x27,
8048 : 0x08, 0x27, 0x08, 0x81, 0x06, 0x11, 0x01, 0x01,
8049 : 0x27, 0x08, 0x27, 0x08, 0x17, 0x00, 0x02, 0x1f,
8050 : 0x81, 0x06, 0x11, 0x01, 0x00, 0x27, 0x08, 0x27,
8051 : 0x08, 0x32, 0x11, 0x49, 0x0f, 0x32, 0x0f, 0x81,
8052 : 0x06, 0x11, 0x01, 0x00, 0x27, 0x08, 0x27, 0x08,
8053 : 0x00, 0x32, 0x0f, 0x81, 0x06, 0x11, 0x01, 0x02,
8054 : 0x27, 0x08, 0x27, 0x08, 0x00, 0x00, 0x05, 0x02,
8055 : 0x11
8056 : };
8057 : return complete_seq (expand_encoding, operands);
8058 : }
8059 :
8060 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:13585 */
8061 : extern rtx_insn *gen_split_368 (rtx_insn *, rtx *);
8062 : rtx_insn *
8063 : gen_split_368 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
8064 : {
8065 : if (dump_file)
8066 : fprintf (dump_file, "Splitting with gen_split_368 (i386.md:13585)\n");
8067 : start_sequence ();
8068 : #define FAIL return (end_sequence (), nullptr)
8069 : #define DONE return end_sequence ()
8070 : #line 13613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8071 : operands[4] = gen_lowpart (GET_MODE (operands[1]), operands[0]);
8072 : #undef DONE
8073 : #undef FAIL
8074 : static const uint8_t expand_encoding[] = {
8075 : 0x02, 0x1f, 0x81, 0x06, 0x11, 0x01, 0x00, 0x27,
8076 : 0x08, 0x27, 0x08, 0x81, 0x06, 0x11, 0x01, 0x01,
8077 : 0x27, 0x08, 0x27, 0x08, 0x17, 0x00, 0x02, 0x1f,
8078 : 0x81, 0x06, 0x11, 0x01, 0x00, 0x27, 0x08, 0x27,
8079 : 0x08, 0x81, 0x06, 0x11, 0x4a, 0x00, 0x01, 0x04,
8080 : 0x01, 0x02, 0x27, 0x08, 0x27, 0x08, 0x05, 0x02,
8081 : 0x11
8082 : };
8083 : return complete_seq (expand_encoding, operands);
8084 : }
8085 :
8086 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:13652 */
8087 : extern rtx_insn *gen_split_378 (rtx_insn *, rtx *);
8088 : rtx_insn *
8089 : gen_split_378 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
8090 : {
8091 : if (dump_file)
8092 : fprintf (dump_file, "Splitting with gen_split_378 (i386.md:13652)\n");
8093 : start_sequence ();
8094 : #define FAIL return (end_sequence (), nullptr)
8095 : #define DONE return end_sequence ()
8096 : #line 13667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8097 : {
8098 : operands[0] = gen_lowpart (QImode, operands[0]);
8099 : operands[1] = gen_lowpart (QImode, operands[1]);
8100 : operands[2] = gen_int_mode (INTVAL (operands[2]), QImode);
8101 : }
8102 : #undef DONE
8103 : #undef FAIL
8104 : static const uint8_t expand_encoding[] = {
8105 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x33, 0x00, 0x01,
8106 : 0x00, 0x49, 0x0f, 0x01, 0x01, 0x01, 0x02, 0x05,
8107 : 0x02, 0x11
8108 : };
8109 : return complete_seq (expand_encoding, operands);
8110 : }
8111 :
8112 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:13832 */
8113 : extern rtx_insn *gen_split_389 (rtx_insn *, rtx *);
8114 : rtx_insn *
8115 : gen_split_389 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
8116 : {
8117 : if (dump_file)
8118 : fprintf (dump_file, "Splitting with gen_split_389 (i386.md:13832)\n");
8119 : start_sequence ();
8120 : #define FAIL return (end_sequence (), nullptr)
8121 : #define DONE return end_sequence ()
8122 : #line 13848 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8123 : operands[4] = gen_reg_rtx (SImode);
8124 : #undef DONE
8125 : #undef FAIL
8126 : static const uint8_t expand_encoding[] = {
8127 : 0x02, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x04, 0x49,
8128 : 0x11, 0x4c, 0x11, 0x01, 0x01, 0x01, 0x02, 0x05,
8129 : 0x02, 0x11, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00,
8130 : 0x4b, 0x11, 0x01, 0x04, 0x01, 0x03, 0x05, 0x02,
8131 : 0x11
8132 : };
8133 : return complete_seq (expand_encoding, operands);
8134 : }
8135 :
8136 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:13874 */
8137 : rtx
8138 : gen_iordi3 (const rtx operand0, const rtx operand1, const rtx operand2)
8139 : {
8140 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
8141 : start_sequence ();
8142 : {
8143 : #define FAIL return (end_sequence (), nullptr)
8144 : #define DONE return end_sequence ()
8145 : #line 13879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8146 : {
8147 : if (GET_MODE_SIZE (DImode) > UNITS_PER_WORD
8148 : && !x86_64_hilo_general_operand (operands[2], DImode))
8149 : operands[2] = force_reg (DImode, operands[2]);
8150 :
8151 : ix86_expand_binary_operator (IOR, DImode, operands, TARGET_APX_NDD);
8152 : DONE;
8153 : }
8154 : #undef DONE
8155 : #undef FAIL
8156 : }
8157 : static const uint8_t expand_encoding[] = {
8158 : 0x01, 0x1f, 0x01, 0x00, 0x4a, 0x12, 0x01, 0x01,
8159 : 0x01, 0x02
8160 : };
8161 : return complete_seq (expand_encoding, operands);
8162 : }
8163 :
8164 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:13967 */
8165 : extern rtx_insn *gen_split_399 (rtx_insn *, rtx *);
8166 : rtx_insn *
8167 : gen_split_399 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
8168 : {
8169 : if (dump_file)
8170 : fprintf (dump_file, "Splitting with gen_split_399 (i386.md:13967)\n");
8171 : start_sequence ();
8172 : #define FAIL return (end_sequence (), nullptr)
8173 : #define DONE return end_sequence ()
8174 : #line 13983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8175 : {
8176 : if (MASK_REG_P (operands[0]))
8177 : {
8178 : emit_insn (gen_kxnordi (operands[0], operands[1], operands[2]));
8179 : DONE;
8180 : }
8181 : }
8182 : #undef DONE
8183 : #undef FAIL
8184 : static const uint8_t expand_encoding[] = {
8185 : 0x02, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x4b,
8186 : 0x12, 0x01, 0x01, 0x01, 0x02, 0x05, 0x02, 0x11,
8187 : 0x1f, 0x01, 0x00, 0x4c, 0x12, 0x01, 0x00
8188 : };
8189 : return complete_seq (expand_encoding, operands);
8190 : }
8191 :
8192 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:14212 */
8193 : extern rtx_insn *gen_split_407 (rtx_insn *, rtx *);
8194 : rtx_insn *
8195 : gen_split_407 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
8196 : {
8197 : if (dump_file)
8198 : fprintf (dump_file, "Splitting with gen_split_407 (i386.md:14212)\n");
8199 : start_sequence ();
8200 : #define FAIL return (end_sequence (), nullptr)
8201 : #define DONE return end_sequence ()
8202 : #line 14220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8203 : operands[3] = gen_reg_rtx (HImode);
8204 : #undef DONE
8205 : #undef FAIL
8206 : static const uint8_t expand_encoding[] = {
8207 : 0x02, 0x1f, 0x01, 0x03, 0x6e, 0x10, 0x01, 0x01,
8208 : 0x1f, 0x01, 0x00, 0x4a, 0x10, 0x01, 0x03, 0x01,
8209 : 0x02
8210 : };
8211 : return complete_seq (expand_encoding, operands);
8212 : }
8213 :
8214 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:14212 */
8215 : extern rtx_insn *gen_split_414 (rtx_insn *, rtx *);
8216 : rtx_insn *
8217 : gen_split_414 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
8218 : {
8219 : if (dump_file)
8220 : fprintf (dump_file, "Splitting with gen_split_414 (i386.md:14212)\n");
8221 : start_sequence ();
8222 : #define FAIL return (end_sequence (), nullptr)
8223 : #define DONE return end_sequence ()
8224 : #line 14220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8225 : operands[3] = gen_reg_rtx (DImode);
8226 : #undef DONE
8227 : #undef FAIL
8228 : static const uint8_t expand_encoding[] = {
8229 : 0x02, 0x1f, 0x01, 0x03, 0x6e, 0x12, 0x01, 0x01,
8230 : 0x1f, 0x01, 0x00, 0x4b, 0x12, 0x01, 0x03, 0x01,
8231 : 0x02
8232 : };
8233 : return complete_seq (expand_encoding, operands);
8234 : }
8235 :
8236 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:14332 */
8237 : extern rtx_insn *gen_split_424 (rtx_insn *, rtx *);
8238 : rtx_insn *
8239 : gen_split_424 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
8240 : {
8241 : if (dump_file)
8242 : fprintf (dump_file, "Splitting with gen_split_424 (i386.md:14332)\n");
8243 : start_sequence ();
8244 : #define FAIL return (end_sequence (), nullptr)
8245 : #define DONE return end_sequence ()
8246 : #line 14353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8247 : {
8248 : /* Handle the case where INTVAL (operands[2]) == 0. */
8249 : if (operands[2] == const0_rtx)
8250 : {
8251 : if (!rtx_equal_p (operands[0], operands[1]))
8252 : emit_move_insn (operands[0], operands[1]);
8253 : else
8254 : emit_note (NOTE_INSN_DELETED);
8255 : DONE;
8256 : }
8257 : operands[0] = gen_lowpart (HImode, operands[0]);
8258 : operands[1] = gen_lowpart (HImode, operands[1]);
8259 : operands[2] = gen_int_mode (INTVAL (operands[2]) >> 8, QImode);
8260 : }
8261 : #undef DONE
8262 : #undef FAIL
8263 : static const uint8_t expand_encoding[] = {
8264 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x81, 0x06, 0x10,
8265 : 0x01, 0x00, 0x27, 0x08, 0x27, 0x08, 0x32, 0x10,
8266 : 0x4a, 0x0f, 0x32, 0x0f, 0x81, 0x06, 0x10, 0x01,
8267 : 0x01, 0x27, 0x08, 0x27, 0x08, 0x00, 0x01, 0x02,
8268 : 0x00, 0x05, 0x02, 0x11
8269 : };
8270 : return complete_seq (expand_encoding, operands);
8271 : }
8272 :
8273 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:14370 */
8274 : extern rtx_insn *gen_split_435 (rtx_insn *, rtx *);
8275 : rtx_insn *
8276 : gen_split_435 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
8277 : {
8278 : if (dump_file)
8279 : fprintf (dump_file, "Splitting with gen_split_435 (i386.md:14370)\n");
8280 : start_sequence ();
8281 : #define FAIL return (end_sequence (), nullptr)
8282 : #define DONE return end_sequence ()
8283 : #line 14385 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8284 : {
8285 : operands[0] = gen_lowpart (QImode, operands[0]);
8286 : operands[1] = gen_lowpart (QImode, operands[1]);
8287 : operands[2] = gen_int_mode (INTVAL (operands[2]), QImode);
8288 : }
8289 : #undef DONE
8290 : #undef FAIL
8291 : static const uint8_t expand_encoding[] = {
8292 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x33, 0x00, 0x01,
8293 : 0x00, 0x4b, 0x0f, 0x01, 0x01, 0x01, 0x02, 0x05,
8294 : 0x02, 0x11
8295 : };
8296 : return complete_seq (expand_encoding, operands);
8297 : }
8298 :
8299 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:14426 */
8300 : extern rtx_insn *gen_peephole2_159 (rtx_insn *, rtx *);
8301 : rtx_insn *
8302 : gen_peephole2_159 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
8303 : {
8304 : if (dump_file)
8305 : fprintf (dump_file, "Splitting with gen_peephole2_159 (i386.md:14426)\n");
8306 : start_sequence ();
8307 : static const uint8_t expand_encoding[] = {
8308 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x27,
8309 : 0x00, 0x05, 0x02, 0x11
8310 : };
8311 : return complete_seq (expand_encoding, operands);
8312 : }
8313 :
8314 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:14438 */
8315 : extern rtx_insn *gen_split_438 (rtx_insn *, rtx *);
8316 : rtx_insn *
8317 : gen_split_438 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
8318 : {
8319 : if (dump_file)
8320 : fprintf (dump_file, "Splitting with gen_split_438 (i386.md:14438)\n");
8321 : start_sequence ();
8322 : #define FAIL return (end_sequence (), nullptr)
8323 : #define DONE return end_sequence ()
8324 : #line 14449 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8325 : {
8326 : split_double_concat (DImode, operands[0], operands[3],
8327 : gen_lowpart (SImode, operands[1]));
8328 : DONE;
8329 : }
8330 : #undef DONE
8331 : #undef FAIL
8332 : static const uint8_t expand_encoding[] = {
8333 : 0x01, 0x27, 0x00
8334 : };
8335 : return complete_seq (expand_encoding, operands);
8336 : }
8337 :
8338 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:14472 */
8339 : extern rtx_insn *gen_split_448 (rtx_insn *, rtx *);
8340 : rtx_insn *
8341 : gen_split_448 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
8342 : {
8343 : if (dump_file)
8344 : fprintf (dump_file, "Splitting with gen_split_448 (i386.md:14472)\n");
8345 : start_sequence ();
8346 : #define FAIL return (end_sequence (), nullptr)
8347 : #define DONE return end_sequence ()
8348 : #line 14485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8349 : {
8350 : if (SSE_REG_P (operands[0]))
8351 : {
8352 : rtx tmp = gen_rtx_REG (V2DImode, REGNO (operands[0]));
8353 : emit_insn (gen_vec_concatv2di (tmp, operands[3], operands[1]));
8354 : }
8355 : else
8356 : split_double_concat (DImode, operands[0], operands[3], operands[1]);
8357 : DONE;
8358 : }
8359 : #undef DONE
8360 : #undef FAIL
8361 : static const uint8_t expand_encoding[] = {
8362 : 0x01, 0x27, 0x00
8363 : };
8364 : return complete_seq (expand_encoding, operands);
8365 : }
8366 :
8367 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:14472 */
8368 : extern rtx_insn *gen_split_458 (rtx_insn *, rtx *);
8369 : rtx_insn *
8370 : gen_split_458 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
8371 : {
8372 : if (dump_file)
8373 : fprintf (dump_file, "Splitting with gen_split_458 (i386.md:14472)\n");
8374 : start_sequence ();
8375 : #define FAIL return (end_sequence (), nullptr)
8376 : #define DONE return end_sequence ()
8377 : #line 14485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8378 : {
8379 : if (SSE_REG_P (operands[0]))
8380 : {
8381 : rtx tmp = gen_rtx_REG (V2DImode, REGNO (operands[0]));
8382 : emit_insn (gen_vec_concatv2di (tmp, operands[3], operands[1]));
8383 : }
8384 : else
8385 : split_double_concat (TImode, operands[0], operands[3], operands[1]);
8386 : DONE;
8387 : }
8388 : #undef DONE
8389 : #undef FAIL
8390 : static const uint8_t expand_encoding[] = {
8391 : 0x01, 0x27, 0x00
8392 : };
8393 : return complete_seq (expand_encoding, operands);
8394 : }
8395 :
8396 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:14497 */
8397 : extern rtx_insn *gen_split_468 (rtx_insn *, rtx *);
8398 : rtx_insn *
8399 : gen_split_468 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
8400 : {
8401 : if (dump_file)
8402 : fprintf (dump_file, "Splitting with gen_split_468 (i386.md:14497)\n");
8403 : start_sequence ();
8404 : #define FAIL return (end_sequence (), nullptr)
8405 : #define DONE return end_sequence ()
8406 : #line 14510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8407 : {
8408 : split_double_concat (TImode, operands[0], operands[1], operands[2]);
8409 : DONE;
8410 : }
8411 : #undef DONE
8412 : #undef FAIL
8413 : static const uint8_t expand_encoding[] = {
8414 : 0x01, 0x27, 0x00
8415 : };
8416 : return complete_seq (expand_encoding, operands);
8417 : }
8418 :
8419 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:14546 */
8420 : extern rtx_insn *gen_split_478 (rtx_insn *, rtx *);
8421 : rtx_insn *
8422 : gen_split_478 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
8423 : {
8424 : if (dump_file)
8425 : fprintf (dump_file, "Splitting with gen_split_478 (i386.md:14546)\n");
8426 : start_sequence ();
8427 : #define FAIL return (end_sequence (), nullptr)
8428 : #define DONE return end_sequence ()
8429 : #line 14570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8430 : {
8431 : rtx op3 = simplify_subreg (SImode, operands[3], DImode, 0);
8432 : split_double_concat (DImode, operands[0], op3, operands[1]);
8433 : DONE;
8434 : }
8435 : #undef DONE
8436 : #undef FAIL
8437 : static const uint8_t expand_encoding[] = {
8438 : 0x01, 0x27, 0x00
8439 : };
8440 : return complete_seq (expand_encoding, operands);
8441 : }
8442 :
8443 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:14546 */
8444 : extern rtx_insn *gen_split_488 (rtx_insn *, rtx *);
8445 : rtx_insn *
8446 : gen_split_488 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
8447 : {
8448 : if (dump_file)
8449 : fprintf (dump_file, "Splitting with gen_split_488 (i386.md:14546)\n");
8450 : start_sequence ();
8451 : #define FAIL return (end_sequence (), nullptr)
8452 : #define DONE return end_sequence ()
8453 : #line 14570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8454 : {
8455 : rtx op3 = simplify_subreg (DImode, operands[3], TImode, 0);
8456 : split_double_concat (TImode, operands[0], op3, operands[1]);
8457 : DONE;
8458 : }
8459 : #undef DONE
8460 : #undef FAIL
8461 : static const uint8_t expand_encoding[] = {
8462 : 0x01, 0x27, 0x00
8463 : };
8464 : return complete_seq (expand_encoding, operands);
8465 : }
8466 :
8467 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:14609 */
8468 : rtx
8469 : gen_negsi2 (const rtx operand0, const rtx operand1)
8470 : {
8471 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
8472 : start_sequence ();
8473 : {
8474 : #define FAIL return (end_sequence (), nullptr)
8475 : #define DONE return end_sequence ()
8476 : #line 14613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8477 : {
8478 : ix86_expand_unary_operator (NEG, SImode, operands, TARGET_APX_NDD);
8479 : DONE;
8480 : }
8481 : #undef DONE
8482 : #undef FAIL
8483 : }
8484 : static const uint8_t expand_encoding[] = {
8485 : 0x01, 0x1f, 0x01, 0x00, 0x3d, 0x11, 0x01, 0x01
8486 : };
8487 : return complete_seq (expand_encoding, operands);
8488 : }
8489 :
8490 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:14776 */
8491 : extern rtx_insn *gen_split_499 (rtx_insn *, rtx *);
8492 : rtx_insn *
8493 : gen_split_499 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
8494 : {
8495 : if (dump_file)
8496 : fprintf (dump_file, "Splitting with gen_split_499 (i386.md:14776)\n");
8497 : start_sequence ();
8498 : #define FAIL return (end_sequence (), nullptr)
8499 : #define DONE return end_sequence ()
8500 : #line 14791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8501 :
8502 : #undef DONE
8503 : #undef FAIL
8504 : static const uint8_t expand_encoding[] = {
8505 : 0x02, 0x1f, 0x33, 0x00, 0x01, 0x00, 0x01, 0x01,
8506 : 0x17, 0x00, 0x02, 0x1f, 0x33, 0x00, 0x01, 0x00,
8507 : 0x3d, 0x10, 0x01, 0x00, 0x05, 0x02, 0x11
8508 : };
8509 : return complete_seq (expand_encoding, operands);
8510 : }
8511 :
8512 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:14933 */
8513 : extern rtx_insn *gen_peephole2_173 (rtx_insn *, rtx *);
8514 : rtx_insn *
8515 : gen_peephole2_173 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
8516 : {
8517 : if (dump_file)
8518 : fprintf (dump_file, "Splitting with gen_peephole2_173 (i386.md:14933)\n");
8519 : start_sequence ();
8520 : static const uint8_t expand_encoding[] = {
8521 : 0x02, 0x1f, 0x01, 0x00, 0x01, 0x01, 0x17, 0x00,
8522 : 0x02, 0x1f, 0x30, 0x0c, 0x11, 0x3a, 0x0c, 0x3d,
8523 : 0x11, 0x01, 0x00, 0x27, 0x00, 0x1f, 0x01, 0x00,
8524 : 0x3d, 0x11, 0x01, 0x00
8525 : };
8526 : return complete_seq (expand_encoding, operands);
8527 : }
8528 :
8529 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:14946 */
8530 : extern rtx_insn *gen_peephole2_176 (rtx_insn *, rtx *);
8531 : rtx_insn *
8532 : gen_peephole2_176 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
8533 : {
8534 : if (dump_file)
8535 : fprintf (dump_file, "Splitting with gen_peephole2_176 (i386.md:14946)\n");
8536 : start_sequence ();
8537 : static const uint8_t expand_encoding[] = {
8538 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x30, 0x0c, 0x11,
8539 : 0x3a, 0x0c, 0x3d, 0x10, 0x01, 0x01, 0x27, 0x00,
8540 : 0x1f, 0x01, 0x00, 0x3d, 0x10, 0x01, 0x01
8541 : };
8542 : return complete_seq (expand_encoding, operands);
8543 : }
8544 :
8545 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:14989 */
8546 : extern rtx_insn *gen_split_504 (rtx_insn *, rtx *);
8547 : rtx_insn *
8548 : gen_split_504 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
8549 : {
8550 : if (dump_file)
8551 : fprintf (dump_file, "Splitting with gen_split_504 (i386.md:14989)\n");
8552 : start_sequence ();
8553 : #define FAIL return (end_sequence (), nullptr)
8554 : #define DONE return end_sequence ()
8555 : #line 15025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8556 : {
8557 : operands[1] = force_reg (TImode, operands[1]);
8558 : operands[2] = gen_reg_rtx (TImode);
8559 :
8560 : split_double_mode (TImode, &operands[0], 3, &operands[0], &operands[3]);
8561 : }
8562 : #undef DONE
8563 : #undef FAIL
8564 : static const uint8_t expand_encoding[] = {
8565 : 0x05, 0x17, 0x00, 0x02, 0x1f, 0x30, 0x08, 0x11,
8566 : 0x1a, 0x08, 0x02, 0x01, 0x01, 0x27, 0x00, 0x29,
8567 : 0x1f, 0x01, 0x02, 0x3d, 0x12, 0x01, 0x01, 0x17,
8568 : 0x00, 0x02, 0x1f, 0x01, 0x05, 0x3b, 0x12, 0x3b,
8569 : 0x12, 0x66, 0x12, 0x30, 0x02, 0x11, 0x27, 0x00,
8570 : 0x01, 0x04, 0x27, 0x00, 0x05, 0x02, 0x11, 0x17,
8571 : 0x00, 0x02, 0x1f, 0x30, 0x04, 0x11, 0x3a, 0x04,
8572 : 0x3d, 0x12, 0x01, 0x05, 0x27, 0x00, 0x1f, 0x01,
8573 : 0x05, 0x3d, 0x12, 0x01, 0x05, 0x1f, 0x01, 0x00,
8574 : 0x39, 0x12, 0x5e, 0x00, 0x30, 0x04, 0x11, 0x27,
8575 : 0x00, 0x01, 0x02, 0x01, 0x01, 0x1f, 0x01, 0x03,
8576 : 0x39, 0x12, 0x5e, 0x00, 0x30, 0x04, 0x11, 0x27,
8577 : 0x00, 0x01, 0x05, 0x01, 0x04
8578 : };
8579 : return complete_seq (expand_encoding, operands);
8580 : }
8581 :
8582 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:15131 */
8583 : rtx
8584 : gen_abstf2 (const rtx operand0, const rtx operand1)
8585 : {
8586 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
8587 : start_sequence ();
8588 : {
8589 : #define FAIL return (end_sequence (), nullptr)
8590 : #define DONE return end_sequence ()
8591 : #line 15135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8592 : ix86_expand_fp_absneg_operator (ABS, TFmode, operands); DONE;
8593 : #undef DONE
8594 : #undef FAIL
8595 : }
8596 : static const uint8_t expand_encoding[] = {
8597 : 0x01, 0x1f, 0x01, 0x00, 0x7b, 0x30, 0x01, 0x01
8598 : };
8599 : return complete_seq (expand_encoding, operands);
8600 : }
8601 :
8602 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:15192 */
8603 : rtx
8604 : gen_absdf2 (const rtx operand0, const rtx operand1)
8605 : {
8606 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
8607 : start_sequence ();
8608 : {
8609 : #define FAIL return (end_sequence (), nullptr)
8610 : #define DONE return end_sequence ()
8611 : #line 15196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8612 : ix86_expand_fp_absneg_operator (ABS, DFmode, operands); DONE;
8613 : #undef DONE
8614 : #undef FAIL
8615 : }
8616 : static const uint8_t expand_encoding[] = {
8617 : 0x01, 0x1f, 0x01, 0x00, 0x7b, 0x2e, 0x01, 0x01
8618 : };
8619 : return complete_seq (expand_encoding, operands);
8620 : }
8621 :
8622 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:15207 */
8623 : extern rtx_insn *gen_split_522 (rtx_insn *, rtx *);
8624 : rtx_insn *
8625 : gen_split_522 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
8626 : {
8627 : if (dump_file)
8628 : fprintf (dump_file, "Splitting with gen_split_522 (i386.md:15207)\n");
8629 : start_sequence ();
8630 : static const uint8_t expand_encoding[] = {
8631 : 0x01, 0x1f, 0x01, 0x00, 0x7b, 0x2f, 0x01, 0x01
8632 : };
8633 : return complete_seq (expand_encoding, operands);
8634 : }
8635 :
8636 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:15259 */
8637 : extern rtx_insn *gen_split_532 (rtx_insn *, rtx *);
8638 : rtx_insn *
8639 : gen_split_532 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
8640 : {
8641 : if (dump_file)
8642 : fprintf (dump_file, "Splitting with gen_split_532 (i386.md:15259)\n");
8643 : start_sequence ();
8644 : #define FAIL return (end_sequence (), nullptr)
8645 : #define DONE return end_sequence ()
8646 : #line 15269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8647 : {
8648 : machine_mode mode = SFmode;
8649 : machine_mode vmode = V4SFmode;
8650 :
8651 : operands[0] = lowpart_subreg (vmode, operands[0], mode);
8652 : operands[1] = lowpart_subreg (vmode, operands[1], mode);
8653 :
8654 : if (!TARGET_AVX && operands_match_p (operands[0], operands[2]))
8655 : std::swap (operands[1], operands[2]);
8656 : }
8657 : #undef DONE
8658 : #undef FAIL
8659 : static const uint8_t expand_encoding[] = {
8660 : 0x01, 0x1f, 0x01, 0x00, 0x49, 0x6b, 0x01, 0x01,
8661 : 0x01, 0x02
8662 : };
8663 : return complete_seq (expand_encoding, operands);
8664 : }
8665 :
8666 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:15288 */
8667 : extern rtx_insn *gen_split_542 (rtx_insn *, rtx *);
8668 : rtx_insn *
8669 : gen_split_542 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
8670 : {
8671 : if (dump_file)
8672 : fprintf (dump_file, "Splitting with gen_split_542 (i386.md:15288)\n");
8673 : start_sequence ();
8674 : #define FAIL return (end_sequence (), nullptr)
8675 : #define DONE return end_sequence ()
8676 : #line 15295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8677 : ix86_split_fp_absneg_operator (ABS, DFmode, operands); DONE;
8678 : #undef DONE
8679 : #undef FAIL
8680 : static const uint8_t expand_encoding[] = {
8681 : 0x01, 0x27, 0x00
8682 : };
8683 : return complete_seq (expand_encoding, operands);
8684 : }
8685 :
8686 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:15342 */
8687 : rtx
8688 : gen_xorsigndf3 (const rtx operand0, const rtx operand1, const rtx operand2)
8689 : {
8690 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
8691 : start_sequence ();
8692 : {
8693 : #define FAIL _Pragma ("GCC error \"xorsigndf3 cannot FAIL\"") (void)0
8694 : #define DONE return end_sequence ()
8695 : #line 15348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8696 : {
8697 : if (rtx_equal_p (operands[1], operands[2]))
8698 : emit_insn (gen_absdf2 (operands[0], operands[1]));
8699 : else
8700 : ix86_expand_xorsign (operands);
8701 : DONE;
8702 : }
8703 : #undef DONE
8704 : #undef FAIL
8705 : }
8706 : static const uint8_t expand_encoding[] = {
8707 : 0x03, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02
8708 : };
8709 : return complete_seq (expand_encoding, operands);
8710 : }
8711 :
8712 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:15479 */
8713 : extern rtx_insn *gen_split_553 (rtx_insn *, rtx *);
8714 : rtx_insn *
8715 : gen_split_553 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
8716 : {
8717 : if (dump_file)
8718 : fprintf (dump_file, "Splitting with gen_split_553 (i386.md:15479)\n");
8719 : start_sequence ();
8720 : static const uint8_t expand_encoding[] = {
8721 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x02,
8722 : 0x02, 0x4b, 0x12, 0x01, 0x03, 0x27, 0x81, 0xff,
8723 : 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f,
8724 : 0x27, 0x00, 0x1f, 0x01, 0x01, 0x4b, 0x12, 0x01,
8725 : 0x03, 0x27, 0x81, 0xff, 0xff, 0xff, 0xff, 0xff,
8726 : 0xff, 0xff, 0xff, 0x7f
8727 : };
8728 : return complete_seq (expand_encoding, operands);
8729 : }
8730 :
8731 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:15581 */
8732 : extern rtx_insn *gen_split_558 (rtx_insn *, rtx *);
8733 : rtx_insn *
8734 : gen_split_558 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
8735 : {
8736 : if (dump_file)
8737 : fprintf (dump_file, "Splitting with gen_split_558 (i386.md:15581)\n");
8738 : start_sequence ();
8739 : #define FAIL return (end_sequence (), nullptr)
8740 : #define DONE return end_sequence ()
8741 : #line 15609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8742 : {
8743 : if ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) != 0)
8744 : {
8745 : operands[2] = force_reg (GET_MODE (operands[2]), operands[2]);
8746 : operands[2] = gen_lowpart (QImode, operands[2]);
8747 : emit_insn (gen_ashldi3_doubleword (operands[0], operands[1],
8748 : operands[2]));
8749 : DONE;
8750 : }
8751 :
8752 : split_double_mode (DImode, &operands[0], 2, &operands[4], &operands[6]);
8753 :
8754 : operands[8] = GEN_INT (4 * BITS_PER_UNIT - 1);
8755 : operands[9] = GEN_INT (4 * BITS_PER_UNIT);
8756 :
8757 : if ((INTVAL (operands[3]) & ((4 * BITS_PER_UNIT) - 1))
8758 : != ((4 * BITS_PER_UNIT) - 1))
8759 : {
8760 : rtx xops[3];
8761 : xops[0] = gen_reg_rtx (GET_MODE (operands[2]));
8762 : xops[1] = operands[2];
8763 : xops[2] = GEN_INT (INTVAL (operands[3])
8764 : & ((4 * BITS_PER_UNIT) - 1));
8765 : ix86_expand_binary_operator (AND, GET_MODE (operands[2]), xops);
8766 : operands[2] = xops[0];
8767 : }
8768 :
8769 : operands[2] = force_reg (GET_MODE (operands[2]), operands[2]);
8770 : operands[2] = gen_lowpart (QImode, operands[2]);
8771 :
8772 : if (!rtx_equal_p (operands[6], operands[7]))
8773 : emit_move_insn (operands[6], operands[7]);
8774 : }
8775 : #undef DONE
8776 : #undef FAIL
8777 : static const uint8_t expand_encoding[] = {
8778 : 0x02, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x06, 0x4a,
8779 : 0x11, 0x4d, 0x11, 0x01, 0x06, 0x49, 0x0f, 0x01,
8780 : 0x02, 0x01, 0x08, 0x32, 0x11, 0x50, 0x12, 0x6f,
8781 : 0x12, 0x01, 0x05, 0x3c, 0x0f, 0x01, 0x09, 0x49,
8782 : 0x0f, 0x01, 0x02, 0x01, 0x08, 0x00, 0x05, 0x02,
8783 : 0x11, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x04, 0x4d,
8784 : 0x11, 0x01, 0x05, 0x01, 0x02, 0x05, 0x02, 0x11
8785 : };
8786 : return complete_seq (expand_encoding, operands);
8787 : }
8788 :
8789 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:16142 */
8790 : extern rtx_insn *gen_split_573 (rtx_insn *, rtx *);
8791 : rtx_insn *
8792 : gen_split_573 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
8793 : {
8794 : if (dump_file)
8795 : fprintf (dump_file, "Splitting with gen_split_573 (i386.md:16142)\n");
8796 : start_sequence ();
8797 : #define FAIL return (end_sequence (), nullptr)
8798 : #define DONE return end_sequence ()
8799 : #line 16155 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8800 : {
8801 : if (rtx_equal_p (operands[4], operands[0]))
8802 : {
8803 : operands[1] = force_reg (SImode, operands[1]);
8804 : emit_insn (gen_x86_shld_1 (operands[0], operands[1], operands[2], operands[3]));
8805 : }
8806 : else if (rtx_equal_p (operands[1], operands[0]))
8807 : {
8808 : operands[4] = force_reg (SImode, operands[4]);
8809 : emit_insn (gen_x86_shrd_1 (operands[0], operands[4], operands[3], operands[2]));
8810 : }
8811 : else if (TARGET_APX_NDD)
8812 : {
8813 : rtx tmp = gen_reg_rtx (SImode);
8814 : if (MEM_P (operands[4]))
8815 : {
8816 : operands[1] = force_reg (SImode, operands[1]);
8817 : emit_insn (gen_x86_shld_ndd_1 (tmp, operands[4], operands[1],
8818 : operands[2], operands[3]));
8819 : }
8820 : else if (MEM_P (operands[1]))
8821 : emit_insn (gen_x86_shrd_ndd_1 (tmp, operands[1], operands[4],
8822 : operands[3], operands[2]));
8823 : else
8824 : emit_insn (gen_x86_shld_ndd_1 (tmp, operands[4], operands[1],
8825 : operands[2], operands[3]));
8826 : emit_move_insn (operands[0], tmp);
8827 : }
8828 : else
8829 : {
8830 : operands[1] = force_reg (SImode, operands[1]);
8831 : rtx tmp = gen_reg_rtx (SImode);
8832 : emit_move_insn (tmp, operands[4]);
8833 : emit_insn (gen_x86_shld_1 (tmp, operands[1], operands[2], operands[3]));
8834 : emit_move_insn (operands[0], tmp);
8835 : }
8836 : DONE;
8837 : }
8838 : #undef DONE
8839 : #undef FAIL
8840 : static const uint8_t expand_encoding[] = {
8841 : 0x01, 0x27, 0x00
8842 : };
8843 : return complete_seq (expand_encoding, operands);
8844 : }
8845 :
8846 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:16665 */
8847 : extern rtx_insn *gen_split_586 (rtx_insn *, rtx *);
8848 : rtx_insn *
8849 : gen_split_586 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
8850 : {
8851 : if (dump_file)
8852 : fprintf (dump_file, "Splitting with gen_split_586 (i386.md:16665)\n");
8853 : start_sequence ();
8854 : #define FAIL return (end_sequence (), nullptr)
8855 : #define DONE return end_sequence ()
8856 : #line 16674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8857 : {
8858 : if (DImode != DImode)
8859 : {
8860 : operands[0] = gen_lowpart (DImode, operands[0]);
8861 : operands[1] = gen_lowpart (DImode, operands[1]);
8862 : }
8863 : operands[2] = GEN_INT (1 << INTVAL (operands[2]));
8864 : }
8865 : #undef DONE
8866 : #undef FAIL
8867 : static const uint8_t expand_encoding[] = {
8868 : 0x01, 0x1f, 0x01, 0x00, 0x3e, 0x12, 0x01, 0x01,
8869 : 0x01, 0x02
8870 : };
8871 : return complete_seq (expand_encoding, operands);
8872 : }
8873 :
8874 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:16948 */
8875 : rtx
8876 : gen_ashrqi3 (const rtx operand0, const rtx operand1, const rtx operand2)
8877 : {
8878 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
8879 : start_sequence ();
8880 : {
8881 : #define FAIL return (end_sequence (), nullptr)
8882 : #define DONE return end_sequence ()
8883 : #line 16953 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8884 : {
8885 : ix86_expand_binary_operator (ASHIFTRT, QImode, operands, TARGET_APX_NDD);
8886 : DONE;
8887 : }
8888 : #undef DONE
8889 : #undef FAIL
8890 : }
8891 : static const uint8_t expand_encoding[] = {
8892 : 0x01, 0x1f, 0x01, 0x00, 0x4f, 0x0f, 0x01, 0x01,
8893 : 0x01, 0x02
8894 : };
8895 : return complete_seq (expand_encoding, operands);
8896 : }
8897 :
8898 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:16948 */
8899 : rtx
8900 : gen_ashrti3 (const rtx operand0, const rtx operand1, const rtx operand2)
8901 : {
8902 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
8903 : start_sequence ();
8904 : {
8905 : #define FAIL return (end_sequence (), nullptr)
8906 : #define DONE return end_sequence ()
8907 : #line 16953 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8908 : {
8909 : ix86_expand_binary_operator (ASHIFTRT, TImode, operands, TARGET_APX_NDD);
8910 : DONE;
8911 : }
8912 : #undef DONE
8913 : #undef FAIL
8914 : }
8915 : static const uint8_t expand_encoding[] = {
8916 : 0x01, 0x1f, 0x01, 0x00, 0x4f, 0x13, 0x01, 0x01,
8917 : 0x01, 0x02
8918 : };
8919 : return complete_seq (expand_encoding, operands);
8920 : }
8921 :
8922 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:17072 */
8923 : extern rtx_insn *gen_split_604 (rtx_insn *, rtx *);
8924 : rtx_insn *
8925 : gen_split_604 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
8926 : {
8927 : if (dump_file)
8928 : fprintf (dump_file, "Splitting with gen_split_604 (i386.md:17072)\n");
8929 : start_sequence ();
8930 : #define FAIL return (end_sequence (), nullptr)
8931 : #define DONE return end_sequence ()
8932 : #line 17081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8933 : {
8934 : if (TARGET_APX_NDD
8935 : && !rtx_equal_p (operands[0], operands[1]))
8936 : ix86_split_rshift_ndd (ASHIFTRT, operands, NULL_RTX);
8937 : else
8938 : ix86_split_ashr (operands, NULL_RTX, DImode);
8939 : DONE;
8940 : }
8941 : #undef DONE
8942 : #undef FAIL
8943 : static const uint8_t expand_encoding[] = {
8944 : 0x01, 0x27, 0x00
8945 : };
8946 : return complete_seq (expand_encoding, operands);
8947 : }
8948 :
8949 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:17072 */
8950 : extern rtx_insn *gen_split_606 (rtx_insn *, rtx *);
8951 : rtx_insn *
8952 : gen_split_606 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
8953 : {
8954 : if (dump_file)
8955 : fprintf (dump_file, "Splitting with gen_split_606 (i386.md:17072)\n");
8956 : start_sequence ();
8957 : #define FAIL return (end_sequence (), nullptr)
8958 : #define DONE return end_sequence ()
8959 : #line 17081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8960 : {
8961 : if (TARGET_APX_NDD
8962 : && !rtx_equal_p (operands[0], operands[1]))
8963 : ix86_split_rshift_ndd (ASHIFTRT, operands, NULL_RTX);
8964 : else
8965 : ix86_split_ashr (operands, NULL_RTX, TImode);
8966 : DONE;
8967 : }
8968 : #undef DONE
8969 : #undef FAIL
8970 : static const uint8_t expand_encoding[] = {
8971 : 0x01, 0x27, 0x00
8972 : };
8973 : return complete_seq (expand_encoding, operands);
8974 : }
8975 :
8976 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:17136 */
8977 : extern rtx_insn *gen_split_612 (rtx_insn *, rtx *);
8978 : rtx_insn *
8979 : gen_split_612 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
8980 : {
8981 : if (dump_file)
8982 : fprintf (dump_file, "Splitting with gen_split_612 (i386.md:17136)\n");
8983 : start_sequence ();
8984 : #define FAIL return (end_sequence (), nullptr)
8985 : #define DONE return end_sequence ()
8986 : #line 17152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8987 : {
8988 : split_double_mode (DImode, &operands[1], 1, &operands[1], &operands[3]);
8989 : operands[4] = GEN_INT ((4 * BITS_PER_UNIT) - INTVAL (operands[2]));
8990 : if (!rtx_equal_p (operands[0], operands[1]))
8991 : emit_move_insn (operands[0], operands[1]);
8992 : }
8993 : #undef DONE
8994 : #undef FAIL
8995 : static const uint8_t expand_encoding[] = {
8996 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x4a,
8997 : 0x11, 0x50, 0x11, 0x01, 0x00, 0x01, 0x02, 0x32,
8998 : 0x11, 0x4d, 0x12, 0x6f, 0x12, 0x01, 0x03, 0x01,
8999 : 0x04, 0x00, 0x05, 0x02, 0x11
9000 : };
9001 : return complete_seq (expand_encoding, operands);
9002 : }
9003 :
9004 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:17598 */
9005 : extern rtx_insn *gen_split_622 (rtx_insn *, rtx *);
9006 : rtx_insn *
9007 : gen_split_622 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9008 : {
9009 : if (dump_file)
9010 : fprintf (dump_file, "Splitting with gen_split_622 (i386.md:17598)\n");
9011 : start_sequence ();
9012 : static const uint8_t expand_encoding[] = {
9013 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x4a,
9014 : 0x11, 0x50, 0x11, 0x01, 0x01, 0x49, 0x0f, 0x01,
9015 : 0x03, 0x27, 0x1f, 0x32, 0x11, 0x4d, 0x12, 0x6f,
9016 : 0x12, 0x01, 0x02, 0x3c, 0x0f, 0x27, 0x20, 0x49,
9017 : 0x0f, 0x01, 0x03, 0x27, 0x1f, 0x00, 0x05, 0x02,
9018 : 0x11
9019 : };
9020 : return complete_seq (expand_encoding, operands);
9021 : }
9022 :
9023 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:17806 */
9024 : extern rtx_insn *gen_split_626 (rtx_insn *, rtx *);
9025 : rtx_insn *
9026 : gen_split_626 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9027 : {
9028 : if (dump_file)
9029 : fprintf (dump_file, "Splitting with gen_split_626 (i386.md:17806)\n");
9030 : start_sequence ();
9031 : #define FAIL return (end_sequence (), nullptr)
9032 : #define DONE return end_sequence ()
9033 : #line 17813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9034 : operands[2] = gen_lowpart (DImode, operands[2]);
9035 : #undef DONE
9036 : #undef FAIL
9037 : static const uint8_t expand_encoding[] = {
9038 : 0x01, 0x1f, 0x01, 0x00, 0x50, 0x12, 0x01, 0x01,
9039 : 0x01, 0x02
9040 : };
9041 : return complete_seq (expand_encoding, operands);
9042 : }
9043 :
9044 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:17815 */
9045 : extern rtx_insn *gen_split_629 (rtx_insn *, rtx *);
9046 : rtx_insn *
9047 : gen_split_629 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9048 : {
9049 : if (dump_file)
9050 : fprintf (dump_file, "Splitting with gen_split_629 (i386.md:17815)\n");
9051 : start_sequence ();
9052 : #define FAIL return (end_sequence (), nullptr)
9053 : #define DONE return end_sequence ()
9054 : #line 17823 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9055 : operands[2] = gen_lowpart (SImode, operands[2]);
9056 : #undef DONE
9057 : #undef FAIL
9058 : static const uint8_t expand_encoding[] = {
9059 : 0x01, 0x1f, 0x01, 0x00, 0x4f, 0x11, 0x01, 0x01,
9060 : 0x01, 0x02
9061 : };
9062 : return complete_seq (expand_encoding, operands);
9063 : }
9064 :
9065 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:18163 */
9066 : extern rtx_insn *gen_split_639 (rtx_insn *, rtx *);
9067 : rtx_insn *
9068 : gen_split_639 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9069 : {
9070 : if (dump_file)
9071 : fprintf (dump_file, "Splitting with gen_split_639 (i386.md:18163)\n");
9072 : start_sequence ();
9073 : #define FAIL return (end_sequence (), nullptr)
9074 : #define DONE return end_sequence ()
9075 : #line 18202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9076 :
9077 : #undef DONE
9078 : #undef FAIL
9079 : static const uint8_t expand_encoding[] = {
9080 : 0x02, 0x1f, 0x81, 0x06, 0x10, 0x01, 0x00, 0x27,
9081 : 0x08, 0x27, 0x08, 0x81, 0x06, 0x10, 0x01, 0x01,
9082 : 0x27, 0x08, 0x27, 0x08, 0x17, 0x00, 0x02, 0x1f,
9083 : 0x81, 0x06, 0x10, 0x01, 0x00, 0x27, 0x08, 0x27,
9084 : 0x08, 0x32, 0x10, 0x4f, 0x0f, 0x32, 0x0f, 0x81,
9085 : 0x06, 0x10, 0x01, 0x00, 0x27, 0x08, 0x27, 0x08,
9086 : 0x00, 0x01, 0x02, 0x00, 0x05, 0x02, 0x11
9087 : };
9088 : return complete_seq (expand_encoding, operands);
9089 : }
9090 :
9091 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:18214 */
9092 : extern rtx_insn *gen_split_649 (rtx_insn *, rtx *);
9093 : rtx_insn *
9094 : gen_split_649 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9095 : {
9096 : if (dump_file)
9097 : fprintf (dump_file, "Splitting with gen_split_649 (i386.md:18214)\n");
9098 : start_sequence ();
9099 : #define FAIL return (end_sequence (), nullptr)
9100 : #define DONE return end_sequence ()
9101 : #line 18234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9102 : {
9103 : operands[2] = force_reg (GET_MODE (operands[2]), operands[2]);
9104 : operands[2] = gen_lowpart (QImode, operands[2]);
9105 : }
9106 : #undef DONE
9107 : #undef FAIL
9108 : static const uint8_t expand_encoding[] = {
9109 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x4f,
9110 : 0x12, 0x01, 0x01, 0x01, 0x02, 0x05, 0x02, 0x11
9111 : };
9112 : return complete_seq (expand_encoding, operands);
9113 : }
9114 :
9115 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:18262 */
9116 : extern rtx_insn *gen_split_659 (rtx_insn *, rtx *);
9117 : rtx_insn *
9118 : gen_split_659 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9119 : {
9120 : if (dump_file)
9121 : fprintf (dump_file, "Splitting with gen_split_659 (i386.md:18262)\n");
9122 : start_sequence ();
9123 : #define FAIL return (end_sequence (), nullptr)
9124 : #define DONE return end_sequence ()
9125 : #line 18281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9126 : {
9127 : operands[2] = force_reg (GET_MODE (operands[2]), operands[2]);
9128 : operands[2] = gen_lowpart (QImode, operands[2]);
9129 : }
9130 : #undef DONE
9131 : #undef FAIL
9132 : static const uint8_t expand_encoding[] = {
9133 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x4d,
9134 : 0x12, 0x01, 0x01, 0x01, 0x02, 0x05, 0x02, 0x11
9135 : };
9136 : return complete_seq (expand_encoding, operands);
9137 : }
9138 :
9139 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:18308 */
9140 : extern rtx_insn *gen_split_673 (rtx_insn *, rtx *);
9141 : rtx_insn *
9142 : gen_split_673 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9143 : {
9144 : if (dump_file)
9145 : fprintf (dump_file, "Splitting with gen_split_673 (i386.md:18308)\n");
9146 : start_sequence ();
9147 : #define FAIL return (end_sequence (), nullptr)
9148 : #define DONE return end_sequence ()
9149 : #line 18329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9150 : {
9151 : HOST_WIDE_INT cnt = INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1);
9152 :
9153 : operands[2] = force_reg (GET_MODE (operands[2]), operands[2]);
9154 : operands[2] = gen_lowpart (QImode, operands[2]);
9155 :
9156 : operands[4] = gen_reg_rtx (QImode);
9157 :
9158 : rtx (*insn)(rtx, rtx) = (cnt == 0) ? gen_negqi2 : gen_one_cmplqi2;
9159 : emit_insn (insn (operands[4], operands[2]));
9160 : }
9161 : #undef DONE
9162 : #undef FAIL
9163 : static const uint8_t expand_encoding[] = {
9164 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x4f,
9165 : 0x12, 0x01, 0x01, 0x01, 0x04, 0x05, 0x02, 0x11
9166 : };
9167 : return complete_seq (expand_encoding, operands);
9168 : }
9169 :
9170 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:18455 */
9171 : rtx
9172 : gen_rotrti3 (const rtx operand0, const rtx operand1, const rtx operand2)
9173 : {
9174 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
9175 : start_sequence ();
9176 : {
9177 : #define FAIL return (end_sequence (), nullptr)
9178 : #define DONE return end_sequence ()
9179 : #line 18460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9180 : {
9181 : if (const_1_to_63_operand (operands[2], VOIDmode))
9182 : emit_insn (gen_ix86_rotrti3_doubleword
9183 : (operands[0], operands[1], operands[2]));
9184 : else if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) == 64)
9185 : {
9186 : operands[1] = force_reg (TImode, operands[1]);
9187 : emit_insn (gen_rotr64ti2_doubleword (operands[0], operands[1]));
9188 : }
9189 : else
9190 : {
9191 : rtx amount = force_reg (QImode, operands[2]);
9192 : rtx src_lo = gen_lowpart (DImode, operands[1]);
9193 : rtx src_hi = gen_highpart (DImode, operands[1]);
9194 : rtx tmp_lo = gen_reg_rtx (DImode);
9195 : rtx tmp_hi = gen_reg_rtx (DImode);
9196 : emit_move_insn (tmp_lo, src_lo);
9197 : emit_move_insn (tmp_hi, src_hi);
9198 : rtx (*shiftd) (rtx, rtx, rtx)
9199 : = (ROTATERT == ROTATE) ? gen_x86_64_shld : gen_x86_64_shrd;
9200 : emit_insn (shiftd (tmp_lo, src_hi, amount));
9201 : emit_insn (shiftd (tmp_hi, src_lo, amount));
9202 : rtx dst_lo = gen_lowpart (DImode, operands[0]);
9203 : rtx dst_hi = gen_highpart (DImode, operands[0]);
9204 : emit_move_insn (dst_lo, tmp_lo);
9205 : emit_move_insn (dst_hi, tmp_hi);
9206 : emit_insn (gen_x86_shiftdi_adj_1 (dst_lo, dst_hi, amount, tmp_lo));
9207 : }
9208 : DONE;
9209 : }
9210 : #undef DONE
9211 : #undef FAIL
9212 : }
9213 : static const uint8_t expand_encoding[] = {
9214 : 0x01, 0x1f, 0x01, 0x00, 0x51, 0x13, 0x01, 0x01,
9215 : 0x01, 0x02
9216 : };
9217 : return complete_seq (expand_encoding, operands);
9218 : }
9219 :
9220 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:18556 */
9221 : extern rtx_insn *gen_split_692 (rtx_insn *, rtx *);
9222 : rtx_insn *
9223 : gen_split_692 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9224 : {
9225 : if (dump_file)
9226 : fprintf (dump_file, "Splitting with gen_split_692 (i386.md:18556)\n");
9227 : start_sequence ();
9228 : #define FAIL return (end_sequence (), nullptr)
9229 : #define DONE return end_sequence ()
9230 : #line 18571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9231 : operands[5] = gen_reg_rtx (QImode);
9232 : #undef DONE
9233 : #undef FAIL
9234 : static const uint8_t expand_encoding[] = {
9235 : 0x02, 0x1f, 0x01, 0x05, 0x01, 0x01, 0x1f, 0x01,
9236 : 0x00, 0x4e, 0x0f, 0x01, 0x05, 0x32, 0x0f, 0x02,
9237 : 0x04, 0x01, 0x02, 0x01, 0x03, 0x00
9238 : };
9239 : return complete_seq (expand_encoding, operands);
9240 : }
9241 :
9242 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:18573 */
9243 : extern rtx_insn *gen_split_701 (rtx_insn *, rtx *);
9244 : rtx_insn *
9245 : gen_split_701 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9246 : {
9247 : if (dump_file)
9248 : fprintf (dump_file, "Splitting with gen_split_701 (i386.md:18573)\n");
9249 : start_sequence ();
9250 : #define FAIL return (end_sequence (), nullptr)
9251 : #define DONE return end_sequence ()
9252 : #line 18592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9253 : {
9254 : if (TARGET_APX_NF)
9255 : {
9256 : emit_move_insn (operands[0],
9257 : gen_rtx_ROTATERT (QImode, operands[1],
9258 : operands[2]));
9259 : DONE;
9260 : }
9261 : }
9262 : #undef DONE
9263 : #undef FAIL
9264 : static const uint8_t expand_encoding[] = {
9265 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x51,
9266 : 0x0f, 0x01, 0x01, 0x01, 0x02, 0x05, 0x02, 0x11
9267 : };
9268 : return complete_seq (expand_encoding, operands);
9269 : }
9270 :
9271 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:18602 */
9272 : extern rtx_insn *gen_split_711 (rtx_insn *, rtx *);
9273 : rtx_insn *
9274 : gen_split_711 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9275 : {
9276 : if (dump_file)
9277 : fprintf (dump_file, "Splitting with gen_split_711 (i386.md:18602)\n");
9278 : start_sequence ();
9279 : #define FAIL return (end_sequence (), nullptr)
9280 : #define DONE return end_sequence ()
9281 : #line 18615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9282 : operands[4] = gen_reg_rtx (HImode);
9283 : #undef DONE
9284 : #undef FAIL
9285 : static const uint8_t expand_encoding[] = {
9286 : 0x02, 0x1f, 0x01, 0x04, 0x01, 0x01, 0x1f, 0x01,
9287 : 0x00, 0x51, 0x10, 0x01, 0x04, 0x49, 0x0f, 0x01,
9288 : 0x02, 0x01, 0x03
9289 : };
9290 : return complete_seq (expand_encoding, operands);
9291 : }
9292 :
9293 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:18617 */
9294 : extern rtx_insn *gen_split_721 (rtx_insn *, rtx *);
9295 : rtx_insn *
9296 : gen_split_721 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9297 : {
9298 : if (dump_file)
9299 : fprintf (dump_file, "Splitting with gen_split_721 (i386.md:18617)\n");
9300 : start_sequence ();
9301 : #define FAIL return (end_sequence (), nullptr)
9302 : #define DONE return end_sequence ()
9303 : #line 18635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9304 : {
9305 : operands[2] = force_reg (GET_MODE (operands[2]), operands[2]);
9306 : operands[2] = gen_lowpart (QImode, operands[2]);
9307 : }
9308 : #undef DONE
9309 : #undef FAIL
9310 : static const uint8_t expand_encoding[] = {
9311 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x51,
9312 : 0x11, 0x01, 0x01, 0x01, 0x02, 0x05, 0x02, 0x11
9313 : };
9314 : return complete_seq (expand_encoding, operands);
9315 : }
9316 :
9317 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:18640 */
9318 : extern rtx_insn *gen_split_731 (rtx_insn *, rtx *);
9319 : rtx_insn *
9320 : gen_split_731 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9321 : {
9322 : if (dump_file)
9323 : fprintf (dump_file, "Splitting with gen_split_731 (i386.md:18640)\n");
9324 : start_sequence ();
9325 : #define FAIL return (end_sequence (), nullptr)
9326 : #define DONE return end_sequence ()
9327 : #line 18652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9328 : operands[4] = gen_reg_rtx (DImode);
9329 : #undef DONE
9330 : #undef FAIL
9331 : static const uint8_t expand_encoding[] = {
9332 : 0x02, 0x1f, 0x01, 0x04, 0x01, 0x01, 0x1f, 0x01,
9333 : 0x00, 0x51, 0x12, 0x01, 0x04, 0x32, 0x0f, 0x01,
9334 : 0x02, 0x00
9335 : };
9336 : return complete_seq (expand_encoding, operands);
9337 : }
9338 :
9339 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:18673 */
9340 : extern rtx_insn *gen_split_741 (rtx_insn *, rtx *);
9341 : rtx_insn *
9342 : gen_split_741 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9343 : {
9344 : if (dump_file)
9345 : fprintf (dump_file, "Splitting with gen_split_741 (i386.md:18673)\n");
9346 : start_sequence ();
9347 : #define FAIL return (end_sequence (), nullptr)
9348 : #define DONE return end_sequence ()
9349 : #line 18684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9350 : operands[4] = gen_reg_rtx (QImode);
9351 : #undef DONE
9352 : #undef FAIL
9353 : static const uint8_t expand_encoding[] = {
9354 : 0x02, 0x1f, 0x01, 0x04, 0x01, 0x01, 0x1f, 0x01,
9355 : 0x00, 0x51, 0x0f, 0x01, 0x04, 0x01, 0x02
9356 : };
9357 : return complete_seq (expand_encoding, operands);
9358 : }
9359 :
9360 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:18686 */
9361 : extern rtx_insn *gen_split_751 (rtx_insn *, rtx *);
9362 : rtx_insn *
9363 : gen_split_751 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9364 : {
9365 : if (dump_file)
9366 : fprintf (dump_file, "Splitting with gen_split_751 (i386.md:18686)\n");
9367 : start_sequence ();
9368 : #define FAIL return (end_sequence (), nullptr)
9369 : #define DONE return end_sequence ()
9370 : #line 18704 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9371 : {
9372 : operands[2] = force_reg (GET_MODE (operands[2]), operands[2]);
9373 : operands[2] = gen_lowpart (QImode, operands[2]);
9374 : }
9375 : #undef DONE
9376 : #undef FAIL
9377 : static const uint8_t expand_encoding[] = {
9378 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x4e,
9379 : 0x10, 0x01, 0x01, 0x01, 0x02, 0x05, 0x02, 0x11
9380 : };
9381 : return complete_seq (expand_encoding, operands);
9382 : }
9383 :
9384 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:18709 */
9385 : extern rtx_insn *gen_split_761 (rtx_insn *, rtx *);
9386 : rtx_insn *
9387 : gen_split_761 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9388 : {
9389 : if (dump_file)
9390 : fprintf (dump_file, "Splitting with gen_split_761 (i386.md:18709)\n");
9391 : start_sequence ();
9392 : #define FAIL return (end_sequence (), nullptr)
9393 : #define DONE return end_sequence ()
9394 : #line 18721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9395 : operands[4] = gen_reg_rtx (SImode);
9396 : #undef DONE
9397 : #undef FAIL
9398 : static const uint8_t expand_encoding[] = {
9399 : 0x02, 0x1f, 0x01, 0x04, 0x01, 0x01, 0x1f, 0x01,
9400 : 0x00, 0x4e, 0x11, 0x01, 0x04, 0x32, 0x0f, 0x01,
9401 : 0x02, 0x00
9402 : };
9403 : return complete_seq (expand_encoding, operands);
9404 : }
9405 :
9406 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:18723 */
9407 : extern rtx_insn *gen_split_771 (rtx_insn *, rtx *);
9408 : rtx_insn *
9409 : gen_split_771 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9410 : {
9411 : if (dump_file)
9412 : fprintf (dump_file, "Splitting with gen_split_771 (i386.md:18723)\n");
9413 : start_sequence ();
9414 : #define FAIL return (end_sequence (), nullptr)
9415 : #define DONE return end_sequence ()
9416 : #line 18740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9417 : operands[2] = force_reg (GET_MODE (operands[2]), operands[2]);
9418 : #undef DONE
9419 : #undef FAIL
9420 : static const uint8_t expand_encoding[] = {
9421 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x4e,
9422 : 0x12, 0x01, 0x01, 0x01, 0x02, 0x05, 0x02, 0x11
9423 : };
9424 : return complete_seq (expand_encoding, operands);
9425 : }
9426 :
9427 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:18758 */
9428 : extern rtx_insn *gen_split_781 (rtx_insn *, rtx *);
9429 : rtx_insn *
9430 : gen_split_781 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9431 : {
9432 : if (dump_file)
9433 : fprintf (dump_file, "Splitting with gen_split_781 (i386.md:18758)\n");
9434 : start_sequence ();
9435 : #define FAIL return (end_sequence (), nullptr)
9436 : #define DONE return end_sequence ()
9437 : #line 18788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9438 : {
9439 : operands[6] = GEN_INT (GET_MODE_BITSIZE (DImode) - 1);
9440 : operands[7] = GEN_INT (GET_MODE_BITSIZE (DImode));
9441 :
9442 : split_double_mode (TImode, &operands[0], 1, &operands[4], &operands[5]);
9443 : }
9444 : #undef DONE
9445 : #undef FAIL
9446 : static const uint8_t expand_encoding[] = {
9447 : 0x03, 0x1f, 0x01, 0x03, 0x01, 0x04, 0x17, 0x00,
9448 : 0x02, 0x1f, 0x01, 0x04, 0x4a, 0x12, 0x4d, 0x12,
9449 : 0x01, 0x04, 0x49, 0x0f, 0x01, 0x02, 0x01, 0x06,
9450 : 0x32, 0x12, 0x50, 0x13, 0x6f, 0x13, 0x01, 0x05,
9451 : 0x3c, 0x0f, 0x01, 0x07, 0x49, 0x0f, 0x01, 0x02,
9452 : 0x01, 0x06, 0x00, 0x05, 0x02, 0x11, 0x17, 0x00,
9453 : 0x02, 0x1f, 0x01, 0x05, 0x4a, 0x12, 0x4d, 0x12,
9454 : 0x01, 0x05, 0x49, 0x0f, 0x01, 0x02, 0x01, 0x06,
9455 : 0x32, 0x12, 0x50, 0x13, 0x6f, 0x13, 0x01, 0x03,
9456 : 0x3c, 0x0f, 0x01, 0x07, 0x49, 0x0f, 0x01, 0x02,
9457 : 0x01, 0x06, 0x00, 0x05, 0x02, 0x11
9458 : };
9459 : return complete_seq (expand_encoding, operands);
9460 : }
9461 :
9462 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:18955 */
9463 : extern rtx_insn *gen_split_792 (rtx_insn *, rtx *);
9464 : rtx_insn *
9465 : gen_split_792 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9466 : {
9467 : if (dump_file)
9468 : fprintf (dump_file, "Splitting with gen_split_792 (i386.md:18955)\n");
9469 : start_sequence ();
9470 : static const uint8_t expand_encoding[] = {
9471 : 0x01, 0x1f, 0x01, 0x00, 0x51, 0x11, 0x01, 0x01,
9472 : 0x01, 0x02
9473 : };
9474 : return complete_seq (expand_encoding, operands);
9475 : }
9476 :
9477 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:19128 */
9478 : extern rtx_insn *gen_split_800 (rtx_insn *, rtx *);
9479 : rtx_insn *
9480 : gen_split_800 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9481 : {
9482 : if (dump_file)
9483 : fprintf (dump_file, "Splitting with gen_split_800 (i386.md:19128)\n");
9484 : start_sequence ();
9485 : static const uint8_t expand_encoding[] = {
9486 : 0x01, 0x1f, 0x01, 0x00, 0x7d, 0x10, 0x01, 0x00
9487 : };
9488 : return complete_seq (expand_encoding, operands);
9489 : }
9490 :
9491 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:19292 */
9492 : extern rtx_insn *gen_split_810 (rtx_insn *, rtx *);
9493 : rtx_insn *
9494 : gen_split_810 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9495 : {
9496 : if (dump_file)
9497 : fprintf (dump_file, "Splitting with gen_split_810 (i386.md:19292)\n");
9498 : start_sequence ();
9499 : #define FAIL return (end_sequence (), nullptr)
9500 : #define DONE return end_sequence ()
9501 : #line 19316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9502 : {
9503 : operands[1] = force_reg (GET_MODE (operands[1]), operands[1]);
9504 : operands[1] = gen_lowpart (QImode, operands[1]);
9505 : }
9506 : #undef DONE
9507 : #undef FAIL
9508 : static const uint8_t expand_encoding[] = {
9509 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x49,
9510 : 0x11, 0x4e, 0x11, 0x27, 0x81, 0xff, 0xff, 0xff,
9511 : 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x01, 0x01,
9512 : 0x01, 0x03, 0x05, 0x02, 0x11
9513 : };
9514 : return complete_seq (expand_encoding, operands);
9515 : }
9516 :
9517 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:19463 */
9518 : extern rtx_insn *gen_peephole2_185 (rtx_insn *, rtx *);
9519 : rtx_insn *
9520 : gen_peephole2_185 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9521 : {
9522 : HARD_REG_SET _regs_allocated;
9523 : CLEAR_HARD_REG_SET (_regs_allocated);
9524 : if ((operands[2] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
9525 : return NULL;
9526 : if (dump_file)
9527 : fprintf (dump_file, "Splitting with gen_peephole2_185 (i386.md:19463)\n");
9528 : start_sequence ();
9529 : #define FAIL return (end_sequence (), nullptr)
9530 : #define DONE return end_sequence ()
9531 : #line 19475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9532 : {
9533 : int i = INTVAL (operands[1]);
9534 :
9535 : operands[3] = gen_int_mode (HOST_WIDE_INT_1U << i, DImode);
9536 :
9537 : if (!x86_64_immediate_operand (operands[3], DImode))
9538 : {
9539 : emit_move_insn (operands[2], operands[3]);
9540 : operands[3] = operands[2];
9541 : }
9542 : }
9543 : #undef DONE
9544 : #undef FAIL
9545 : static const uint8_t expand_encoding[] = {
9546 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x4a,
9547 : 0x12, 0x01, 0x00, 0x01, 0x03, 0x05, 0x02, 0x11
9548 : };
9549 : return complete_seq (expand_encoding, operands);
9550 : }
9551 :
9552 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:19703 */
9553 : extern rtx_insn *gen_split_828 (rtx_insn *, rtx *);
9554 : rtx_insn *
9555 : gen_split_828 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9556 : {
9557 : if (dump_file)
9558 : fprintf (dump_file, "Splitting with gen_split_828 (i386.md:19703)\n");
9559 : start_sequence ();
9560 : #define FAIL return (end_sequence (), nullptr)
9561 : #define DONE return end_sequence ()
9562 : #line 19725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9563 : {
9564 : if (GET_CODE (operands[5]) == EQ)
9565 : std::swap (operands[3], operands[4]);
9566 : }
9567 : #undef DONE
9568 : #undef FAIL
9569 : static const uint8_t expand_encoding[] = {
9570 : 0x02, 0x1f, 0x30, 0x08, 0x11, 0x3a, 0x08, 0x27,
9571 : 0x00, 0x81, 0x06, 0x11, 0x01, 0x01, 0x27, 0x01,
9572 : 0x01, 0x02, 0x1f, 0x01, 0x00, 0x39, 0x10, 0x66,
9573 : 0x00, 0x30, 0x08, 0x11, 0x27, 0x00, 0x01, 0x03,
9574 : 0x01, 0x04
9575 : };
9576 : return complete_seq (expand_encoding, operands);
9577 : }
9578 :
9579 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:19768 */
9580 : extern rtx_insn *gen_split_838 (rtx_insn *, rtx *);
9581 : rtx_insn *
9582 : gen_split_838 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9583 : {
9584 : if (dump_file)
9585 : fprintf (dump_file, "Splitting with gen_split_838 (i386.md:19768)\n");
9586 : start_sequence ();
9587 : #define FAIL return (end_sequence (), nullptr)
9588 : #define DONE return end_sequence ()
9589 : #line 19786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9590 : operands[3] = gen_reg_rtx (QImode);
9591 : #undef DONE
9592 : #undef FAIL
9593 : static const uint8_t expand_encoding[] = {
9594 : 0x03, 0x1f, 0x30, 0x08, 0x11, 0x3a, 0x08, 0x27,
9595 : 0x00, 0x81, 0x06, 0x11, 0x01, 0x01, 0x27, 0x01,
9596 : 0x01, 0x02, 0x1f, 0x01, 0x03, 0x63, 0x0f, 0x30,
9597 : 0x08, 0x11, 0x27, 0x00, 0x1f, 0x01, 0x00, 0x6f,
9598 : 0x11, 0x01, 0x03
9599 : };
9600 : return complete_seq (expand_encoding, operands);
9601 : }
9602 :
9603 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:19906 */
9604 : extern rtx_insn *gen_split_850 (rtx_insn *, rtx *);
9605 : rtx_insn *
9606 : gen_split_850 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9607 : {
9608 : if (dump_file)
9609 : fprintf (dump_file, "Splitting with gen_split_850 (i386.md:19906)\n");
9610 : start_sequence ();
9611 : #define FAIL return (end_sequence (), nullptr)
9612 : #define DONE return end_sequence ()
9613 : #line 19918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9614 : {
9615 : operands[1] = shallow_copy_rtx (operands[1]);
9616 : PUT_MODE (operands[1], QImode);
9617 : operands[2] = gen_lowpart (QImode, operands[0]);
9618 : }
9619 : #undef DONE
9620 : #undef FAIL
9621 : static const uint8_t expand_encoding[] = {
9622 : 0x02, 0x1f, 0x01, 0x02, 0x01, 0x01, 0x17, 0x00,
9623 : 0x02, 0x1f, 0x01, 0x00, 0x6f, 0x10, 0x01, 0x02,
9624 : 0x05, 0x02, 0x11
9625 : };
9626 : return complete_seq (expand_encoding, operands);
9627 : }
9628 :
9629 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:20128 */
9630 : extern rtx_insn *gen_split_859 (rtx_insn *, rtx *);
9631 : rtx_insn *
9632 : gen_split_859 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9633 : {
9634 : if (dump_file)
9635 : fprintf (dump_file, "Splitting with gen_split_859 (i386.md:20128)\n");
9636 : start_sequence ();
9637 : static const uint8_t expand_encoding[] = {
9638 : 0x02, 0x1f, 0x30, 0x08, 0x11, 0x3a, 0x08, 0x3b,
9639 : 0x0f, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x1f,
9640 : 0x2f, 0x39, 0x00, 0x02, 0x01, 0x30, 0x08, 0x11,
9641 : 0x27, 0x00, 0x37, 0x00, 0x01, 0x00, 0x2f
9642 : };
9643 : return complete_seq (expand_encoding, operands);
9644 : }
9645 :
9646 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:20268 */
9647 : rtx
9648 : gen_indirect_jump (const rtx operand0)
9649 : {
9650 : rtx operands[1] ATTRIBUTE_UNUSED = { operand0 };
9651 : start_sequence ();
9652 : {
9653 : #define FAIL return (end_sequence (), nullptr)
9654 : #define DONE return end_sequence ()
9655 : #line 20271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9656 : {
9657 : if (TARGET_X32 || TARGET_INDIRECT_BRANCH_REGISTER)
9658 : operands[0] = convert_memory_address (word_mode, operands[0]);
9659 : cfun->machine->has_local_indirect_jump = true;
9660 : }
9661 : #undef DONE
9662 : #undef FAIL
9663 : }
9664 : static const uint8_t expand_encoding[] = {
9665 : 0x01, 0x1f, 0x2f, 0x01, 0x00
9666 : };
9667 : return complete_seq (expand_encoding, operands);
9668 : }
9669 :
9670 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:20538 */
9671 : rtx
9672 : gen_sibcall (const rtx operand0, const rtx operand1, const rtx operand2)
9673 : {
9674 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
9675 : start_sequence ();
9676 : {
9677 : #define FAIL return (end_sequence (), nullptr)
9678 : #define DONE return end_sequence ()
9679 : #line 20543 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9680 : {
9681 : ix86_expand_call (NULL, operands[0], operands[1],
9682 : operands[2], NULL, true);
9683 : DONE;
9684 : }
9685 : #undef DONE
9686 : #undef FAIL
9687 : }
9688 : static const uint8_t expand_encoding[] = {
9689 : 0x02, 0x22, 0x00, 0x01, 0x00, 0x01, 0x01, 0x20,
9690 : 0x00, 0x01, 0x02
9691 : };
9692 : return complete_seq (expand_encoding, operands);
9693 : }
9694 :
9695 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:20713 */
9696 : extern rtx_insn *gen_peephole2_203 (rtx_insn *, rtx *);
9697 : rtx_insn *
9698 : gen_peephole2_203 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9699 : {
9700 : if (dump_file)
9701 : fprintf (dump_file, "Splitting with gen_peephole2_203 (i386.md:20713)\n");
9702 : start_sequence ();
9703 : static const uint8_t expand_encoding[] = {
9704 : 0x01, 0x1f, 0x2f, 0x01, 0x01
9705 : };
9706 : return complete_seq (expand_encoding, operands);
9707 : }
9708 :
9709 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:20885 */
9710 : extern rtx_insn *gen_peephole2_208 (rtx_insn *, rtx *);
9711 : rtx_insn *
9712 : gen_peephole2_208 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9713 : {
9714 : if (dump_file)
9715 : fprintf (dump_file, "Splitting with gen_peephole2_208 (i386.md:20885)\n");
9716 : start_sequence ();
9717 : static const uint8_t expand_encoding[] = {
9718 : 0x01, 0x17, 0x00, 0x03, 0x1f, 0x01, 0x02, 0x22,
9719 : 0x00, 0x36, 0x0f, 0x01, 0x01, 0x01, 0x03, 0x1f,
9720 : 0x30, 0x11, 0x07, 0x3b, 0x11, 0x30, 0x11, 0x07,
9721 : 0x01, 0x04, 0x1a, 0x00, 0x01, 0x27, 0x00, 0x26
9722 : };
9723 : return complete_seq (expand_encoding, operands);
9724 : }
9725 :
9726 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:21163 */
9727 : rtx
9728 : gen_set_got (const rtx operand0)
9729 : {
9730 : rtx operands[1] ATTRIBUTE_UNUSED = { operand0 };
9731 : start_sequence ();
9732 : {
9733 : #define FAIL return (end_sequence (), nullptr)
9734 : #define DONE return end_sequence ()
9735 : #line 21169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9736 : {
9737 : if (flag_pic && !TARGET_VXWORKS_GOTTPIC)
9738 : ix86_pc_thunk_call_expanded = true;
9739 : }
9740 : #undef DONE
9741 : #undef FAIL
9742 : }
9743 : static const uint8_t expand_encoding[] = {
9744 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x1a,
9745 : 0x11, 0x01, 0x27, 0x00, 0x0f, 0x05, 0x02, 0x11
9746 : };
9747 : return complete_seq (expand_encoding, operands);
9748 : }
9749 :
9750 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:21356 */
9751 : rtx
9752 : gen_ffssi2 (const rtx operand0, const rtx operand1)
9753 : {
9754 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1 };
9755 : start_sequence ();
9756 : {
9757 : #define FAIL _Pragma ("GCC error \"ffssi2 cannot FAIL\"") (void)0
9758 : #define DONE return end_sequence ()
9759 : #line 21369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9760 : {
9761 : machine_mode flags_mode;
9762 :
9763 : if (SImode == SImode && !TARGET_CMOVE)
9764 : {
9765 : emit_insn (gen_ffssi2_no_cmove (operands[0], operands [1]));
9766 : DONE;
9767 : }
9768 :
9769 : flags_mode = TARGET_BMI ? CCCmode : CCZmode;
9770 :
9771 : operands[2] = gen_reg_rtx (SImode);
9772 : operands[3] = gen_rtx_REG (flags_mode, FLAGS_REG);
9773 : operands[4] = gen_rtx_COMPARE (flags_mode, operands[1], const0_rtx);
9774 : }
9775 : #undef DONE
9776 : #undef FAIL
9777 : }
9778 : static const uint8_t expand_encoding[] = {
9779 : 0x04, 0x1f, 0x01, 0x02, 0x27, 0x81, 0xff, 0xff,
9780 : 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x17,
9781 : 0x00, 0x02, 0x1f, 0x01, 0x03, 0x01, 0x04, 0x1f,
9782 : 0x01, 0x00, 0x81, 0x01, 0x11, 0x01, 0x01, 0x1f,
9783 : 0x01, 0x00, 0x39, 0x11, 0x5d, 0x00, 0x01, 0x03,
9784 : 0x27, 0x00, 0x01, 0x02, 0x01, 0x00, 0x17, 0x00,
9785 : 0x02, 0x1f, 0x01, 0x00, 0x3b, 0x11, 0x01, 0x00,
9786 : 0x27, 0x01, 0x05, 0x02, 0x11
9787 : };
9788 : return complete_seq (expand_encoding, operands);
9789 : }
9790 :
9791 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:21786 */
9792 : extern rtx_insn *gen_split_880 (rtx_insn *, rtx *);
9793 : rtx_insn *
9794 : gen_split_880 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9795 : {
9796 : if (dump_file)
9797 : fprintf (dump_file, "Splitting with gen_split_880 (i386.md:21786)\n");
9798 : start_sequence ();
9799 : #define FAIL return (end_sequence (), nullptr)
9800 : #define DONE return end_sequence ()
9801 : #line 21801 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9802 : {
9803 : operands[3] = gen_reg_rtx (DImode);
9804 : operands[5] = lowpart_subreg (SImode, operands[3], DImode);
9805 : if (INTVAL (operands[2]) == 63)
9806 : {
9807 : emit_insn (gen_bsr_rex64_1_zext (operands[3], operands[1]));
9808 : emit_move_insn (operands[0], operands[5]);
9809 : DONE;
9810 : }
9811 : operands[4] = gen_int_mode (UINTVAL (operands[2]) - 63, SImode);
9812 : }
9813 : #undef DONE
9814 : #undef FAIL
9815 : static const uint8_t expand_encoding[] = {
9816 : 0x02, 0x1f, 0x01, 0x03, 0x3c, 0x12, 0x27, 0x3f,
9817 : 0x81, 0x00, 0x12, 0x01, 0x01, 0x1f, 0x01, 0x00,
9818 : 0x3b, 0x11, 0x01, 0x05, 0x01, 0x04
9819 : };
9820 : return complete_seq (expand_encoding, operands);
9821 : }
9822 :
9823 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:21988 */
9824 : extern rtx_insn *gen_split_890 (rtx_insn *, rtx *);
9825 : rtx_insn *
9826 : gen_split_890 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9827 : {
9828 : if (dump_file)
9829 : fprintf (dump_file, "Splitting with gen_split_890 (i386.md:21988)\n");
9830 : start_sequence ();
9831 : #define FAIL return (end_sequence (), nullptr)
9832 : #define DONE return end_sequence ()
9833 : #line 22006 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9834 : ix86_expand_clear (operands[0]);
9835 : #undef DONE
9836 : #undef FAIL
9837 : static const uint8_t expand_encoding[] = {
9838 : 0x01, 0x17, 0x00, 0x03, 0x1f, 0x01, 0x00, 0x49,
9839 : 0x12, 0x32, 0x12, 0x81, 0x00, 0x11, 0x01, 0x01,
9840 : 0x00, 0x27, 0x3f, 0x1a, 0x00, 0x01, 0x01, 0x00,
9841 : 0x27, 0x05, 0x02, 0x11
9842 : };
9843 : return complete_seq (expand_encoding, operands);
9844 : }
9845 :
9846 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:22194 */
9847 : extern rtx_insn *gen_split_901 (rtx_insn *, rtx *);
9848 : rtx_insn *
9849 : gen_split_901 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9850 : {
9851 : if (dump_file)
9852 : fprintf (dump_file, "Splitting with gen_split_901 (i386.md:22194)\n");
9853 : start_sequence ();
9854 : #define FAIL return (end_sequence (), nullptr)
9855 : #define DONE return end_sequence ()
9856 : #line 22216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9857 : ix86_expand_clear (operands[0]);
9858 : #undef DONE
9859 : #undef FAIL
9860 : static const uint8_t expand_encoding[] = {
9861 : 0x01, 0x17, 0x00, 0x03, 0x1f, 0x30, 0x05, 0x11,
9862 : 0x3a, 0x05, 0x49, 0x12, 0x3d, 0x12, 0x01, 0x01,
9863 : 0x01, 0x01, 0x27, 0x00, 0x1f, 0x01, 0x00, 0x49,
9864 : 0x12, 0x3d, 0x12, 0x01, 0x01, 0x01, 0x01, 0x1a,
9865 : 0x00, 0x01, 0x01, 0x00, 0x27
9866 : };
9867 : return complete_seq (expand_encoding, operands);
9868 : }
9869 :
9870 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:22446 */
9871 : rtx
9872 : gen_bmi2_bzhi_di3 (const rtx operand0, const rtx operand1, const rtx operand2)
9873 : {
9874 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
9875 : start_sequence ();
9876 : {
9877 : #define FAIL return (end_sequence (), nullptr)
9878 : #define DONE return end_sequence ()
9879 : #line 22459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9880 : {
9881 : operands[2] = gen_lowpart (QImode, operands[2]);
9882 : operands[3] = GEN_INT (8 * BITS_PER_UNIT);
9883 : }
9884 : #undef DONE
9885 : #undef FAIL
9886 : }
9887 : static const uint8_t expand_encoding[] = {
9888 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x39,
9889 : 0x12, 0x5c, 0x0f, 0x01, 0x02, 0x27, 0x00, 0x81,
9890 : 0x06, 0x12, 0x01, 0x01, 0x54, 0x0f, 0x01, 0x02,
9891 : 0x01, 0x03, 0x27, 0x00, 0x27, 0x00, 0x05, 0x02,
9892 : 0x11
9893 : };
9894 : return complete_seq (expand_encoding, operands);
9895 : }
9896 :
9897 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:23066 */
9898 : extern rtx_insn *gen_peephole2_210 (rtx_insn *, rtx *);
9899 : rtx_insn *
9900 : gen_peephole2_210 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9901 : {
9902 : if (dump_file)
9903 : fprintf (dump_file, "Splitting with gen_peephole2_210 (i386.md:23066)\n");
9904 : start_sequence ();
9905 : static const uint8_t expand_encoding[] = {
9906 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x4e,
9907 : 0x10, 0x01, 0x00, 0x27, 0x08, 0x05, 0x02, 0x11
9908 : };
9909 : return complete_seq (expand_encoding, operands);
9910 : }
9911 :
9912 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:23129 */
9913 : rtx
9914 : gen_paritydi2 (const rtx operand0, const rtx operand1)
9915 : {
9916 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
9917 : start_sequence ();
9918 : {
9919 : #define FAIL _Pragma ("GCC error \"paritydi2 cannot FAIL\"") (void)0
9920 : #define DONE return end_sequence ()
9921 : #line 23133 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9922 : {
9923 : rtx scratch = gen_reg_rtx (QImode);
9924 : rtx hipart1 = gen_reg_rtx (SImode);
9925 : rtx lopart1 = gen_reg_rtx (SImode);
9926 : rtx xor1 = gen_reg_rtx (SImode);
9927 : rtx shift2 = gen_reg_rtx (SImode);
9928 : rtx hipart2 = gen_reg_rtx (HImode);
9929 : rtx lopart2 = gen_reg_rtx (HImode);
9930 : rtx xor2 = gen_reg_rtx (HImode);
9931 :
9932 : if (TARGET_64BIT)
9933 : {
9934 : rtx shift1 = gen_reg_rtx (DImode);
9935 : emit_insn (gen_lshrdi3 (shift1, operands[1], GEN_INT (32)));
9936 : emit_move_insn (hipart1, gen_lowpart (SImode, shift1));
9937 : }
9938 : else
9939 : emit_move_insn (hipart1, gen_highpart (SImode, operands[1]));
9940 :
9941 : emit_move_insn (lopart1, gen_lowpart (SImode, operands[1]));
9942 : emit_insn (gen_xorsi3 (xor1, hipart1, lopart1));
9943 :
9944 : emit_insn (gen_lshrsi3 (shift2, xor1, GEN_INT (16)));
9945 : emit_move_insn (hipart2, gen_lowpart (HImode, shift2));
9946 : emit_move_insn (lopart2, gen_lowpart (HImode, xor1));
9947 : emit_insn (gen_xorhi3 (xor2, hipart2, lopart2));
9948 :
9949 : emit_insn (gen_parityhi2_cmp (xor2));
9950 :
9951 : ix86_expand_setcc (scratch, ORDERED,
9952 : gen_rtx_REG (CCmode, FLAGS_REG), const0_rtx);
9953 :
9954 : if (TARGET_64BIT)
9955 : emit_insn (gen_zero_extendqidi2 (operands[0], scratch));
9956 : else
9957 : {
9958 : rtx tmp = gen_reg_rtx (SImode);
9959 :
9960 : emit_insn (gen_zero_extendqisi2 (tmp, scratch));
9961 : emit_insn (gen_zero_extendsidi2 (operands[0], tmp));
9962 : }
9963 : DONE;
9964 : }
9965 : #undef DONE
9966 : #undef FAIL
9967 : }
9968 : static const uint8_t expand_encoding[] = {
9969 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x03, 0x12, 0x01,
9970 : 0x01
9971 : };
9972 : return complete_seq (expand_encoding, operands);
9973 : }
9974 :
9975 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:23679 */
9976 : extern rtx_insn *gen_split_924 (rtx_insn *, rtx *);
9977 : rtx_insn *
9978 : gen_split_924 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
9979 : {
9980 : if (dump_file)
9981 : fprintf (dump_file, "Splitting with gen_split_924 (i386.md:23679)\n");
9982 : start_sequence ();
9983 : #define FAIL return (end_sequence (), nullptr)
9984 : #define DONE return end_sequence ()
9985 : #line 23693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9986 : {
9987 : operands[2] = gen_const_mem (SImode, GEN_INT (DEFAULT_TLS_SEG_OFFSET));
9988 : set_mem_addr_space (operands[2], DEFAULT_TLS_SEG_REG);
9989 : }
9990 : #undef DONE
9991 : #undef FAIL
9992 : static const uint8_t expand_encoding[] = {
9993 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x6f,
9994 : 0x12, 0x3b, 0x11, 0x01, 0x01, 0x01, 0x02, 0x05,
9995 : 0x02, 0x11
9996 : };
9997 : return complete_seq (expand_encoding, operands);
9998 : }
9999 :
10000 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:24257 */
10001 : rtx
10002 : gen_sqrtdf2 (const rtx operand0, const rtx operand1)
10003 : {
10004 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
10005 : start_sequence ();
10006 : {
10007 : #define FAIL _Pragma ("GCC error \"sqrtdf2 cannot FAIL\"") (void)0
10008 : #define DONE return end_sequence ()
10009 : #line 24263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10010 : {
10011 : if (DFmode == SFmode
10012 : && TARGET_SSE && TARGET_SSE_MATH
10013 : && TARGET_RECIP_SQRT
10014 : && !optimize_function_for_size_p (cfun)
10015 : && flag_finite_math_only && !flag_trapping_math
10016 : && flag_unsafe_math_optimizations)
10017 : {
10018 : ix86_emit_swsqrtsf (operands[0], operands[1], SFmode, 0);
10019 : DONE;
10020 : }
10021 :
10022 : if (!(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
10023 : {
10024 : rtx op0 = gen_reg_rtx (XFmode);
10025 : rtx op1 = gen_reg_rtx (XFmode);
10026 :
10027 : emit_insn (gen_extenddfxf2 (op1, operands[1]));
10028 : emit_insn (gen_sqrtxf2 (op0, op1));
10029 : emit_insn (gen_truncxfdf2_i387_noop_unspec (operands[0], op0));
10030 : DONE;
10031 : }
10032 : }
10033 : #undef DONE
10034 : #undef FAIL
10035 : }
10036 : static const uint8_t expand_encoding[] = {
10037 : 0x01, 0x1f, 0x01, 0x00, 0x7c, 0x2e, 0x01, 0x01
10038 : };
10039 : return complete_seq (expand_encoding, operands);
10040 : }
10041 :
10042 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:24489 */
10043 : rtx
10044 : gen_cosdf2 (const rtx operand0, const rtx operand1)
10045 : {
10046 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
10047 : start_sequence ();
10048 : {
10049 : #define FAIL _Pragma ("GCC error \"cosdf2 cannot FAIL\"") (void)0
10050 : #define DONE return end_sequence ()
10051 : #line 24497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10052 : {
10053 : rtx op0 = gen_reg_rtx (XFmode);
10054 : rtx op1 = gen_reg_rtx (XFmode);
10055 :
10056 : emit_insn (gen_extenddfxf2 (op1, operands[1]));
10057 : emit_insn (gen_cosxf2 (op0, op1));
10058 : emit_insn (gen_truncxfdf2 (operands[0], op0));
10059 : DONE;
10060 : }
10061 : #undef DONE
10062 : #undef FAIL
10063 : }
10064 : static const uint8_t expand_encoding[] = {
10065 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x2e, 0x01, 0x01,
10066 : 0x01, 0x42
10067 : };
10068 : return complete_seq (expand_encoding, operands);
10069 : }
10070 :
10071 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:24629 */
10072 : rtx
10073 : gen_atandf2 (const rtx operand0, const rtx operand1)
10074 : {
10075 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
10076 : start_sequence ();
10077 : {
10078 : #define FAIL _Pragma ("GCC error \"atandf2 cannot FAIL\"") (void)0
10079 : #define DONE return end_sequence ()
10080 : #line 24636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10081 : {
10082 : rtx op0 = gen_reg_rtx (XFmode);
10083 : rtx op1 = gen_reg_rtx (XFmode);
10084 :
10085 : emit_insn (gen_extenddfxf2 (op1, operands[1]));
10086 : emit_insn (gen_atanxf2 (op0, op1));
10087 : emit_insn (gen_truncxfdf2 (operands[0], op0));
10088 : DONE;
10089 : }
10090 : #undef DONE
10091 : #undef FAIL
10092 : }
10093 : static const uint8_t expand_encoding[] = {
10094 : 0x02, 0x20, 0x00, 0x01, 0x00, 0x20, 0x00, 0x01,
10095 : 0x01
10096 : };
10097 : return complete_seq (expand_encoding, operands);
10098 : }
10099 :
10100 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:24733 */
10101 : rtx
10102 : gen_sinhdf2 (const rtx operand0, const rtx operand1)
10103 : {
10104 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
10105 : start_sequence ();
10106 : {
10107 : #define FAIL _Pragma ("GCC error \"sinhdf2 cannot FAIL\"") (void)0
10108 : #define DONE return end_sequence ()
10109 : #line 24741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10110 : {
10111 : rtx op0 = gen_reg_rtx (XFmode);
10112 : rtx op1 = gen_reg_rtx (XFmode);
10113 :
10114 : emit_insn (gen_extenddfxf2 (op1, operands[1]));
10115 : emit_insn (gen_sinhxf2 (op0, op1));
10116 : emit_insn (gen_truncxfdf2 (operands[0], op0));
10117 : DONE;
10118 : }
10119 : #undef DONE
10120 : #undef FAIL
10121 : }
10122 : static const uint8_t expand_encoding[] = {
10123 : 0x02, 0x20, 0x00, 0x01, 0x00, 0x20, 0x00, 0x01,
10124 : 0x01
10125 : };
10126 : return complete_seq (expand_encoding, operands);
10127 : }
10128 :
10129 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:24844 */
10130 : rtx
10131 : gen_acoshsf2 (const rtx operand0, const rtx operand1)
10132 : {
10133 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
10134 : start_sequence ();
10135 : {
10136 : #define FAIL _Pragma ("GCC error \"acoshsf2 cannot FAIL\"") (void)0
10137 : #define DONE return end_sequence ()
10138 : #line 24851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10139 : {
10140 : rtx op0 = gen_reg_rtx (XFmode);
10141 : rtx op1 = gen_reg_rtx (XFmode);
10142 :
10143 : emit_insn (gen_extendsfxf2 (op1, operands[1]));
10144 : emit_insn (gen_acoshxf2 (op0, op1));
10145 : emit_insn (gen_truncxfsf2 (operands[0], op0));
10146 : DONE;
10147 : }
10148 : #undef DONE
10149 : #undef FAIL
10150 : }
10151 : static const uint8_t expand_encoding[] = {
10152 : 0x02, 0x20, 0x00, 0x01, 0x00, 0x20, 0x00, 0x01,
10153 : 0x01
10154 : };
10155 : return complete_seq (expand_encoding, operands);
10156 : }
10157 :
10158 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:24943 */
10159 : rtx
10160 : gen_log10df2 (const rtx operand0, const rtx operand1)
10161 : {
10162 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
10163 : start_sequence ();
10164 : {
10165 : #define FAIL _Pragma ("GCC error \"log10df2 cannot FAIL\"") (void)0
10166 : #define DONE return end_sequence ()
10167 : #line 24950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10168 : {
10169 : rtx op0 = gen_reg_rtx (XFmode);
10170 : rtx op1 = gen_reg_rtx (XFmode);
10171 :
10172 : emit_insn (gen_extenddfxf2 (op1, operands[1]));
10173 : emit_insn (gen_log10xf2 (op0, op1));
10174 : emit_insn (gen_truncxfdf2 (operands[0], op0));
10175 : DONE;
10176 : }
10177 : #undef DONE
10178 : #undef FAIL
10179 : }
10180 : static const uint8_t expand_encoding[] = {
10181 : 0x02, 0x20, 0x00, 0x01, 0x00, 0x20, 0x00, 0x01,
10182 : 0x01
10183 : };
10184 : return complete_seq (expand_encoding, operands);
10185 : }
10186 :
10187 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:25068 */
10188 : rtx
10189 : gen_ilogbxf2 (const rtx operand0, const rtx operand1)
10190 : {
10191 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
10192 : start_sequence ();
10193 : {
10194 : #define FAIL return (end_sequence (), nullptr)
10195 : #define DONE return end_sequence ()
10196 : #line 25073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10197 : {
10198 : rtx op0, op1;
10199 :
10200 : if (optimize_insn_for_size_p ())
10201 : FAIL;
10202 :
10203 : op0 = gen_reg_rtx (XFmode);
10204 : op1 = gen_reg_rtx (XFmode);
10205 :
10206 : emit_insn (gen_fxtractxf3_i387 (op0, op1, operands[1]));
10207 : emit_insn (gen_fix_truncxfsi2 (operands[0], op1));
10208 : DONE;
10209 : }
10210 : #undef DONE
10211 : #undef FAIL
10212 : }
10213 : static const uint8_t expand_encoding[] = {
10214 : 0x02, 0x20, 0x00, 0x01, 0x00, 0x20, 0x00, 0x01,
10215 : 0x01
10216 : };
10217 : return complete_seq (expand_encoding, operands);
10218 : }
10219 :
10220 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:25220 */
10221 : rtx
10222 : gen_exp2xf2 (const rtx operand0, const rtx operand1)
10223 : {
10224 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
10225 : start_sequence ();
10226 : {
10227 : #define FAIL _Pragma ("GCC error \"exp2xf2 cannot FAIL\"") (void)0
10228 : #define DONE return end_sequence ()
10229 : #line 25225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10230 : {
10231 : rtx op2 = force_reg (XFmode, CONST1_RTX (XFmode));
10232 :
10233 : emit_insn (gen_expNcorexf3 (operands[0], operands[1], op2));
10234 : DONE;
10235 : }
10236 : #undef DONE
10237 : #undef FAIL
10238 : }
10239 : static const uint8_t expand_encoding[] = {
10240 : 0x02, 0x20, 0x00, 0x01, 0x00, 0x20, 0x00, 0x01,
10241 : 0x01
10242 : };
10243 : return complete_seq (expand_encoding, operands);
10244 : }
10245 :
10246 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:25369 */
10247 : rtx
10248 : gen_scalbsf3 (const rtx operand0, const rtx operand1, const rtx operand2)
10249 : {
10250 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
10251 : start_sequence ();
10252 : {
10253 : #define FAIL _Pragma ("GCC error \"scalbsf3 cannot FAIL\"") (void)0
10254 : #define DONE return end_sequence ()
10255 : #line 25377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10256 : {
10257 : rtx op0 = gen_reg_rtx (XFmode);
10258 : rtx op1 = gen_reg_rtx (XFmode);
10259 : rtx op2 = gen_reg_rtx (XFmode);
10260 :
10261 : emit_insn (gen_extendsfxf2 (op1, operands[1]));
10262 : emit_insn (gen_extendsfxf2 (op2, operands[2]));
10263 : emit_insn (gen_scalbxf3 (op0, op1, op2));
10264 : emit_insn (gen_truncxfsf2 (operands[0], op0));
10265 : DONE;
10266 : }
10267 : #undef DONE
10268 : #undef FAIL
10269 : }
10270 : static const uint8_t expand_encoding[] = {
10271 : 0x03, 0x20, 0x00, 0x01, 0x00, 0x20, 0x00, 0x01,
10272 : 0x01, 0x20, 0x00, 0x01, 0x02
10273 : };
10274 : return complete_seq (expand_encoding, operands);
10275 : }
10276 :
10277 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:25468 */
10278 : rtx
10279 : gen_rintdf2 (const rtx operand0, const rtx operand1)
10280 : {
10281 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
10282 : start_sequence ();
10283 : {
10284 : #define FAIL _Pragma ("GCC error \"rintdf2 cannot FAIL\"") (void)0
10285 : #define DONE return end_sequence ()
10286 : #line 25473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10287 : {
10288 : if (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
10289 : {
10290 : if (TARGET_SSE4_1)
10291 : emit_insn (gen_sse4_1_rounddf2
10292 : (operands[0], operands[1], GEN_INT (ROUND_MXCSR)));
10293 : else
10294 : ix86_expand_rint (operands[0], operands[1]);
10295 : }
10296 : else
10297 : {
10298 : rtx op0 = gen_reg_rtx (XFmode);
10299 : rtx op1 = gen_reg_rtx (XFmode);
10300 :
10301 : emit_insn (gen_extenddfxf2 (op1, operands[1]));
10302 : emit_insn (gen_rintxf2 (op0, op1));
10303 : emit_insn (gen_truncxfdf2_i387_noop_unspec (operands[0], op0));
10304 : }
10305 : DONE;
10306 : }
10307 : #undef DONE
10308 : #undef FAIL
10309 : }
10310 : static const uint8_t expand_encoding[] = {
10311 : 0x02, 0x20, 0x00, 0x01, 0x00, 0x20, 0x00, 0x01,
10312 : 0x01
10313 : };
10314 : return complete_seq (expand_encoding, operands);
10315 : }
10316 :
10317 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:25607 */
10318 : rtx
10319 : gen_lrinthfdi2 (const rtx operand0, const rtx operand1)
10320 : {
10321 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
10322 : static const uint8_t expand_encoding[] = {
10323 : 0x1f, 0x01, 0x00, 0x1a, 0x12, 0x01, 0x01, 0x01,
10324 : 0x2f
10325 : };
10326 : return expand_rtx (expand_encoding, operands);
10327 : }
10328 :
10329 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:25619 */
10330 : rtx
10331 : gen_lrounddfhi2 (const rtx operand0, const rtx operand1)
10332 : {
10333 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
10334 : start_sequence ();
10335 : {
10336 : #define FAIL _Pragma ("GCC error \"lrounddfhi2 cannot FAIL\"") (void)0
10337 : #define DONE return end_sequence ()
10338 : #line 25630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10339 : {
10340 : if (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
10341 : && HImode != HImode
10342 : && ((HImode != DImode) || TARGET_64BIT)
10343 : && !flag_trapping_math && !flag_rounding_math)
10344 : ix86_expand_lround (operands[0], operands[1]);
10345 : else
10346 : ix86_emit_i387_round (operands[0], operands[1]);
10347 : DONE;
10348 : }
10349 : #undef DONE
10350 : #undef FAIL
10351 : }
10352 : static const uint8_t expand_encoding[] = {
10353 : 0x02, 0x01, 0x00, 0x01, 0x01
10354 : };
10355 : return complete_seq (expand_encoding, operands);
10356 : }
10357 :
10358 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:25677 */
10359 : extern rtx_insn *gen_split_931 (rtx_insn *, rtx *);
10360 : rtx_insn *
10361 : gen_split_931 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
10362 : {
10363 : if (dump_file)
10364 : fprintf (dump_file, "Splitting with gen_split_931 (i386.md:25677)\n");
10365 : start_sequence ();
10366 : #define FAIL return (end_sequence (), nullptr)
10367 : #define DONE return end_sequence ()
10368 : #line 25688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10369 : {
10370 : ix86_optimize_mode_switching[I387_CEIL] = 1;
10371 :
10372 : operands[2] = assign_386_stack_local (HImode, SLOT_CW_STORED);
10373 : operands[3] = assign_386_stack_local (HImode, SLOT_CW_CEIL);
10374 :
10375 : emit_insn (gen_frndintxf2_ceil_i387 (operands[0], operands[1],
10376 : operands[2], operands[3]));
10377 : DONE;
10378 : }
10379 : #undef DONE
10380 : #undef FAIL
10381 : static const uint8_t expand_encoding[] = {
10382 : 0x01, 0x27, 0x00
10383 : };
10384 : return complete_seq (expand_encoding, operands);
10385 : }
10386 :
10387 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:25735 */
10388 : rtx
10389 : gen_ceildf2 (const rtx operand0, const rtx operand1)
10390 : {
10391 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
10392 : start_sequence ();
10393 : {
10394 : #define FAIL _Pragma ("GCC error \"ceildf2 cannot FAIL\"") (void)0
10395 : #define DONE return end_sequence ()
10396 : #line 25748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10397 : {
10398 : if (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
10399 : && (TARGET_SSE4_1
10400 : || (ROUND_CEIL != ROUND_ROUNDEVEN
10401 : && (flag_fp_int_builtin_inexact || !flag_trapping_math))))
10402 : {
10403 : if (TARGET_SSE4_1)
10404 : emit_insn (gen_sse4_1_rounddf2
10405 : (operands[0], operands[1],
10406 : GEN_INT (ROUND_CEIL | ROUND_NO_EXC)));
10407 : else if (TARGET_64BIT || (DFmode != DFmode))
10408 : {
10409 : if (ROUND_CEIL == ROUND_FLOOR)
10410 : ix86_expand_floorceil (operands[0], operands[1], true);
10411 : else if (ROUND_CEIL == ROUND_CEIL)
10412 : ix86_expand_floorceil (operands[0], operands[1], false);
10413 : else if (ROUND_CEIL == ROUND_TRUNC)
10414 : ix86_expand_trunc (operands[0], operands[1]);
10415 : else
10416 : gcc_unreachable ();
10417 : }
10418 : else
10419 : {
10420 : if (ROUND_CEIL == ROUND_FLOOR)
10421 : ix86_expand_floorceildf_32 (operands[0], operands[1], true);
10422 : else if (ROUND_CEIL == ROUND_CEIL)
10423 : ix86_expand_floorceildf_32 (operands[0], operands[1], false);
10424 : else if (ROUND_CEIL == ROUND_TRUNC)
10425 : ix86_expand_truncdf_32 (operands[0], operands[1]);
10426 : else
10427 : gcc_unreachable ();
10428 : }
10429 : }
10430 : else
10431 : {
10432 : rtx op0 = gen_reg_rtx (XFmode);
10433 : rtx op1 = gen_reg_rtx (XFmode);
10434 :
10435 : emit_insn (gen_extenddfxf2 (op1, operands[1]));
10436 : emit_insn (gen_frndintxf2_ceil (op0, op1));
10437 : emit_insn (gen_truncxfdf2_i387_noop_unspec (operands[0], op0));
10438 : }
10439 : DONE;
10440 : }
10441 : #undef DONE
10442 : #undef FAIL
10443 : }
10444 : static const uint8_t expand_encoding[] = {
10445 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x1a,
10446 : 0x2e, 0x01, 0x01, 0x01, 0x4d, 0x05, 0x02, 0x11
10447 : };
10448 : return complete_seq (expand_encoding, operands);
10449 : }
10450 :
10451 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:25846 */
10452 : rtx
10453 : gen_lceilxfdi2 (const rtx operand0, const rtx operand1)
10454 : {
10455 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
10456 : static const uint8_t expand_encoding[] = {
10457 : 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x1a, 0x12,
10458 : 0x01, 0x01, 0x01, 0x50, 0x05, 0x02, 0x11
10459 : };
10460 : return expand_rtx (expand_encoding, operands);
10461 : }
10462 :
10463 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:25868 */
10464 : rtx
10465 : gen_lceilsfdi2 (const rtx operand0, const rtx operand1)
10466 : {
10467 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
10468 : start_sequence ();
10469 : {
10470 : #define FAIL _Pragma ("GCC error \"lceilsfdi2 cannot FAIL\"") (void)0
10471 : #define DONE return end_sequence ()
10472 : #line 25875 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10473 : {
10474 : if (TARGET_SSE4_1)
10475 : {
10476 : rtx tmp = gen_reg_rtx (SFmode);
10477 :
10478 : emit_insn (gen_sse4_1_roundsf2
10479 : (tmp, operands[1], GEN_INT (ROUND_CEIL
10480 : | ROUND_NO_EXC)));
10481 : emit_insn (gen_fix_truncsfdi2
10482 : (operands[0], tmp));
10483 : }
10484 : else if (ROUND_CEIL == ROUND_FLOOR)
10485 : ix86_expand_lfloorceil (operands[0], operands[1], true);
10486 : else if (ROUND_CEIL == ROUND_CEIL)
10487 : ix86_expand_lfloorceil (operands[0], operands[1], false);
10488 : else
10489 : gcc_unreachable ();
10490 :
10491 : DONE;
10492 : }
10493 : #undef DONE
10494 : #undef FAIL
10495 : }
10496 : static const uint8_t expand_encoding[] = {
10497 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x1a,
10498 : 0x12, 0x01, 0x01, 0x01, 0x50, 0x05, 0x02, 0x11
10499 : };
10500 : return complete_seq (expand_encoding, operands);
10501 : }
10502 :
10503 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:26006 */
10504 : rtx
10505 : gen_movmemdi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5, const rtx operand6, const rtx operand7, const rtx operand8)
10506 : {
10507 : rtx operands[9] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5, operand6, operand7, operand8 };
10508 : start_sequence ();
10509 : {
10510 : #define FAIL return (end_sequence (), nullptr)
10511 : #define DONE return end_sequence ()
10512 : #line 26017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10513 : {
10514 : if (ix86_expand_movmem (operands))
10515 : DONE;
10516 : FAIL;
10517 : }
10518 : #undef DONE
10519 : #undef FAIL
10520 : }
10521 : static const uint8_t expand_encoding[] = {
10522 : 0x09, 0x20, 0x00, 0x01, 0x00, 0x20, 0x00, 0x01,
10523 : 0x01, 0x20, 0x00, 0x01, 0x02, 0x20, 0x00, 0x01,
10524 : 0x03, 0x20, 0x00, 0x01, 0x04, 0x20, 0x00, 0x01,
10525 : 0x05, 0x20, 0x00, 0x01, 0x06, 0x20, 0x00, 0x01,
10526 : 0x07, 0x20, 0x00, 0x01, 0x08
10527 : };
10528 : return complete_seq (expand_encoding, operands);
10529 : }
10530 :
10531 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:26421 */
10532 : rtx
10533 : gen_rep_stos (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
10534 : {
10535 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
10536 : start_sequence ();
10537 : {
10538 : #define FAIL return (end_sequence (), nullptr)
10539 : #define DONE return end_sequence ()
10540 : #line 26429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10541 : {
10542 : if (TARGET_CLD)
10543 : ix86_optimize_mode_switching[X86_DIRFLAG] = 1;
10544 : }
10545 : #undef DONE
10546 : #undef FAIL
10547 : }
10548 : static const uint8_t expand_encoding[] = {
10549 : 0x01, 0x17, 0x00, 0x05, 0x1f, 0x01, 0x01, 0x27,
10550 : 0x00, 0x1f, 0x01, 0x00, 0x01, 0x04, 0x1f, 0x01,
10551 : 0x02, 0x27, 0x00, 0x20, 0x00, 0x01, 0x03, 0x20,
10552 : 0x00, 0x01, 0x01
10553 : };
10554 : return complete_seq (expand_encoding, operands);
10555 : }
10556 :
10557 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:26626 */
10558 : rtx
10559 : gen_strlendi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
10560 : {
10561 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
10562 : start_sequence ();
10563 : {
10564 : #define FAIL return (end_sequence (), nullptr)
10565 : #define DONE return end_sequence ()
10566 : #line 26633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10567 : {
10568 : if (ix86_expand_strlen (operands[0], operands[1], operands[2], operands[3]))
10569 : DONE;
10570 : else
10571 : FAIL;
10572 : }
10573 : #undef DONE
10574 : #undef FAIL
10575 : }
10576 : static const uint8_t expand_encoding[] = {
10577 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x12, 0x03, 0x01,
10578 : 0x01, 0x01, 0x02, 0x01, 0x03, 0x18
10579 : };
10580 : return complete_seq (expand_encoding, operands);
10581 : }
10582 :
10583 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:26760 */
10584 : rtx
10585 : gen_x86_movdicc_0_m1 (const rtx operand0, const rtx operand1, const rtx operand2)
10586 : {
10587 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
10588 : static const uint8_t expand_encoding[] = {
10589 : 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x39, 0x12,
10590 : 0x03, 0x12, 0x02, 0x01, 0x01, 0x27, 0x00, 0x27,
10591 : 0x81, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
10592 : 0xff, 0x7f, 0x27, 0x00, 0x05, 0x02, 0x11
10593 : };
10594 : return expand_rtx (expand_encoding, operands);
10595 : }
10596 :
10597 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:26845 */
10598 : extern rtx_insn *gen_split_947 (rtx_insn *, rtx *);
10599 : rtx_insn *
10600 : gen_split_947 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
10601 : {
10602 : if (dump_file)
10603 : fprintf (dump_file, "Splitting with gen_split_947 (i386.md:26845)\n");
10604 : start_sequence ();
10605 : static const uint8_t expand_encoding[] = {
10606 : 0x02, 0x1f, 0x30, 0x08, 0x11, 0x1a, 0x08, 0x02,
10607 : 0x01, 0x01, 0x27, 0x00, 0x29, 0x1f, 0x01, 0x00,
10608 : 0x3d, 0x11, 0x66, 0x11, 0x30, 0x08, 0x11, 0x27,
10609 : 0x00
10610 : };
10611 : return complete_seq (expand_encoding, operands);
10612 : }
10613 :
10614 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:26988 */
10615 : extern rtx_insn *gen_peephole2_222 (rtx_insn *, rtx *);
10616 : rtx_insn *
10617 : gen_peephole2_222 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
10618 : {
10619 : HARD_REG_SET _regs_allocated;
10620 : CLEAR_HARD_REG_SET (_regs_allocated);
10621 : if ((operands[4] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
10622 : return NULL;
10623 : if (dump_file)
10624 : fprintf (dump_file, "Splitting with gen_peephole2_222 (i386.md:26988)\n");
10625 : start_sequence ();
10626 : #define FAIL return (end_sequence (), nullptr)
10627 : #define DONE return end_sequence ()
10628 : #line 27006 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10629 : {
10630 : if (MEM_P (operands[2]))
10631 : {
10632 : operands[5] = operands[2];
10633 : operands[2] = operands[4];
10634 : }
10635 : else if (MEM_P (operands[3]))
10636 : {
10637 : operands[5] = operands[3];
10638 : operands[3] = operands[4];
10639 : }
10640 : else
10641 : gcc_unreachable ();
10642 : }
10643 : #undef DONE
10644 : #undef FAIL
10645 : static const uint8_t expand_encoding[] = {
10646 : 0x02, 0x1f, 0x01, 0x04, 0x01, 0x05, 0x1f, 0x01,
10647 : 0x00, 0x39, 0x12, 0x01, 0x01, 0x6f, 0x12, 0x01,
10648 : 0x02, 0x6f, 0x12, 0x01, 0x03
10649 : };
10650 : return complete_seq (expand_encoding, operands);
10651 : }
10652 :
10653 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:27159 */
10654 : extern rtx_insn *gen_split_954 (rtx_insn *, rtx *);
10655 : rtx_insn *
10656 : gen_split_954 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
10657 : {
10658 : if (dump_file)
10659 : fprintf (dump_file, "Splitting with gen_split_954 (i386.md:27159)\n");
10660 : start_sequence ();
10661 : #define FAIL return (end_sequence (), nullptr)
10662 : #define DONE return end_sequence ()
10663 : #line 27170 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10664 : {
10665 : split_double_mode (DImode, &operands[2], 2, &operands[4], &operands[6]);
10666 : split_double_mode (DImode, &operands[0], 1, &operands[2], &operands[3]);
10667 : }
10668 : #undef DONE
10669 : #undef FAIL
10670 : static const uint8_t expand_encoding[] = {
10671 : 0x02, 0x1f, 0x01, 0x02, 0x39, 0x11, 0x01, 0x01,
10672 : 0x01, 0x04, 0x01, 0x05, 0x1f, 0x01, 0x03, 0x39,
10673 : 0x11, 0x01, 0x01, 0x01, 0x06, 0x01, 0x07
10674 : };
10675 : return complete_seq (expand_encoding, operands);
10676 : }
10677 :
10678 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:27394 */
10679 : extern rtx_insn *gen_peephole2_232 (rtx_insn *, rtx *);
10680 : rtx_insn *
10681 : gen_peephole2_232 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
10682 : {
10683 : if (dump_file)
10684 : fprintf (dump_file, "Splitting with gen_peephole2_232 (i386.md:27394)\n");
10685 : start_sequence ();
10686 : #define FAIL return (end_sequence (), nullptr)
10687 : #define DONE return end_sequence ()
10688 : #line 27406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10689 : {
10690 : operands[4] = operands[0];
10691 : operands[5] = operands[1];
10692 :
10693 : /* The % modifier is not operational anymore in peephole2's, so we have to
10694 : swap the operands manually in the case of addition and multiplication. */
10695 : if (COMMUTATIVE_ARITH_P (operands[2]))
10696 : std::swap (operands[4], operands[5]);
10697 : }
10698 : #undef DONE
10699 : #undef FAIL
10700 : static const uint8_t expand_encoding[] = {
10701 : 0x02, 0x1f, 0x01, 0x00, 0x01, 0x03, 0x1f, 0x01,
10702 : 0x00, 0x02, 0x02, 0x01, 0x04, 0x01, 0x05
10703 : };
10704 : return complete_seq (expand_encoding, operands);
10705 : }
10706 :
10707 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:27430 */
10708 : rtx
10709 : gen_uminsi3 (const rtx operand0, const rtx operand1, const rtx operand2)
10710 : {
10711 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
10712 : static const uint8_t expand_encoding[] = {
10713 : 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x54, 0x11,
10714 : 0x01, 0x01, 0x01, 0x02, 0x05, 0x02, 0x11
10715 : };
10716 : return expand_rtx (expand_encoding, operands);
10717 : }
10718 :
10719 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:27440 */
10720 : extern rtx_insn *gen_split_962 (rtx_insn *, rtx *);
10721 : rtx_insn *
10722 : gen_split_962 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
10723 : {
10724 : if (dump_file)
10725 : fprintf (dump_file, "Splitting with gen_split_962 (i386.md:27440)\n");
10726 : start_sequence ();
10727 : #define FAIL return (end_sequence (), nullptr)
10728 : #define DONE return end_sequence ()
10729 : #line 27458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10730 : {
10731 : operands[2] = force_reg (DImode, operands[2]);
10732 :
10733 : split_double_mode (DImode, &operands[0], 3, &operands[0], &operands[3]);
10734 :
10735 : rtx cmplo[2] = { operands[1], operands[2] };
10736 : rtx cmphi[2] = { operands[4], operands[5] };
10737 :
10738 : enum rtx_code code = LE;
10739 :
10740 : switch (code)
10741 : {
10742 : case LE: case LEU:
10743 : std::swap (cmplo[0], cmplo[1]);
10744 : std::swap (cmphi[0], cmphi[1]);
10745 : code = swap_condition (code);
10746 : /* FALLTHRU */
10747 :
10748 : case GE: case GEU:
10749 : {
10750 : bool uns = (code == GEU);
10751 : rtx (*sbb_insn) (machine_mode, rtx, rtx, rtx)
10752 : = uns ? gen_sub3_carry_ccc : gen_sub3_carry_ccgz;
10753 :
10754 : emit_insn (gen_cmp_1 (SImode, cmplo[0], cmplo[1]));
10755 :
10756 : rtx tmp = gen_rtx_SCRATCH (SImode);
10757 : emit_insn (sbb_insn (SImode, tmp, cmphi[0], cmphi[1]));
10758 :
10759 : rtx flags = gen_rtx_REG (uns ? CCCmode : CCGZmode, FLAGS_REG);
10760 : operands[6] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);
10761 :
10762 : break;
10763 : }
10764 :
10765 : default:
10766 : gcc_unreachable ();
10767 : }
10768 : }
10769 : #undef DONE
10770 : #undef FAIL
10771 : static const uint8_t expand_encoding[] = {
10772 : 0x02, 0x1f, 0x01, 0x00, 0x39, 0x11, 0x01, 0x06,
10773 : 0x01, 0x01, 0x01, 0x02, 0x1f, 0x01, 0x03, 0x39,
10774 : 0x11, 0x01, 0x06, 0x01, 0x04, 0x01, 0x05
10775 : };
10776 : return complete_seq (expand_encoding, operands);
10777 : }
10778 :
10779 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:27498 */
10780 : extern rtx_insn *gen_split_972 (rtx_insn *, rtx *);
10781 : rtx_insn *
10782 : gen_split_972 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
10783 : {
10784 : if (dump_file)
10785 : fprintf (dump_file, "Splitting with gen_split_972 (i386.md:27498)\n");
10786 : start_sequence ();
10787 : #define FAIL return (end_sequence (), nullptr)
10788 : #define DONE return end_sequence ()
10789 : #line 27513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10790 : {
10791 : machine_mode mode = QImode;
10792 : rtx cmp_op = operands[2];
10793 :
10794 : operands[2] = force_reg (mode, cmp_op);
10795 :
10796 : enum rtx_code code = LEU;
10797 :
10798 : if (cmp_op == const1_rtx)
10799 : {
10800 : /* Convert smax (x, 1) into (x > 0 ? x : 1).
10801 : Convert umax (x, 1) into (x != 0 ? x : 1).
10802 : Convert ?min (x, 1) into (x <= 0 ? x : 1). */
10803 : cmp_op = const0_rtx;
10804 : if (code == GE)
10805 : code = GT;
10806 : else if (code == GEU)
10807 : code = NE;
10808 : }
10809 : /* Convert smin (x, -1) into (x < 0 ? x : -1). */
10810 : else if (cmp_op == constm1_rtx && code == LE)
10811 : {
10812 : cmp_op = const0_rtx;
10813 : code = LT;
10814 : }
10815 : /* Convert smax (x, -1) into (x >= 0 ? x : -1). */
10816 : else if (cmp_op == constm1_rtx && code == GE)
10817 : cmp_op = const0_rtx;
10818 : else if (cmp_op != const0_rtx)
10819 : cmp_op = operands[2];
10820 :
10821 : machine_mode cmpmode = SELECT_CC_MODE (code, operands[1], cmp_op);
10822 : rtx flags = gen_rtx_REG (cmpmode, FLAGS_REG);
10823 :
10824 : rtx tmp = gen_rtx_COMPARE (cmpmode, operands[1], cmp_op);
10825 : emit_insn (gen_rtx_SET (flags, tmp));
10826 :
10827 : operands[3] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);
10828 : }
10829 : #undef DONE
10830 : #undef FAIL
10831 : static const uint8_t expand_encoding[] = {
10832 : 0x01, 0x1f, 0x01, 0x00, 0x39, 0x0f, 0x01, 0x03,
10833 : 0x01, 0x01, 0x01, 0x02
10834 : };
10835 : return complete_seq (expand_encoding, operands);
10836 : }
10837 :
10838 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:27498 */
10839 : extern rtx_insn *gen_split_982 (rtx_insn *, rtx *);
10840 : rtx_insn *
10841 : gen_split_982 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
10842 : {
10843 : if (dump_file)
10844 : fprintf (dump_file, "Splitting with gen_split_982 (i386.md:27498)\n");
10845 : start_sequence ();
10846 : #define FAIL return (end_sequence (), nullptr)
10847 : #define DONE return end_sequence ()
10848 : #line 27513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10849 : {
10850 : machine_mode mode = DImode;
10851 : rtx cmp_op = operands[2];
10852 :
10853 : operands[2] = force_reg (mode, cmp_op);
10854 :
10855 : enum rtx_code code = LE;
10856 :
10857 : if (cmp_op == const1_rtx)
10858 : {
10859 : /* Convert smax (x, 1) into (x > 0 ? x : 1).
10860 : Convert umax (x, 1) into (x != 0 ? x : 1).
10861 : Convert ?min (x, 1) into (x <= 0 ? x : 1). */
10862 : cmp_op = const0_rtx;
10863 : if (code == GE)
10864 : code = GT;
10865 : else if (code == GEU)
10866 : code = NE;
10867 : }
10868 : /* Convert smin (x, -1) into (x < 0 ? x : -1). */
10869 : else if (cmp_op == constm1_rtx && code == LE)
10870 : {
10871 : cmp_op = const0_rtx;
10872 : code = LT;
10873 : }
10874 : /* Convert smax (x, -1) into (x >= 0 ? x : -1). */
10875 : else if (cmp_op == constm1_rtx && code == GE)
10876 : cmp_op = const0_rtx;
10877 : else if (cmp_op != const0_rtx)
10878 : cmp_op = operands[2];
10879 :
10880 : machine_mode cmpmode = SELECT_CC_MODE (code, operands[1], cmp_op);
10881 : rtx flags = gen_rtx_REG (cmpmode, FLAGS_REG);
10882 :
10883 : rtx tmp = gen_rtx_COMPARE (cmpmode, operands[1], cmp_op);
10884 : emit_insn (gen_rtx_SET (flags, tmp));
10885 :
10886 : operands[3] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);
10887 : }
10888 : #undef DONE
10889 : #undef FAIL
10890 : static const uint8_t expand_encoding[] = {
10891 : 0x01, 0x1f, 0x01, 0x00, 0x39, 0x12, 0x01, 0x03,
10892 : 0x01, 0x01, 0x01, 0x02
10893 : };
10894 : return complete_seq (expand_encoding, operands);
10895 : }
10896 :
10897 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:27631 */
10898 : extern rtx_insn *gen_peephole2_246 (rtx_insn *, rtx *);
10899 : rtx_insn *
10900 : gen_peephole2_246 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
10901 : {
10902 : if (dump_file)
10903 : fprintf (dump_file, "Splitting with gen_peephole2_246 (i386.md:27631)\n");
10904 : start_sequence ();
10905 : #define FAIL return (end_sequence (), nullptr)
10906 : #define DONE return end_sequence ()
10907 : #line 27639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10908 : {
10909 : emit_move_insn (operands[3], operands[0]);
10910 : emit_move_insn (operands[1], operands[0]);
10911 : ix86_last_zero_store_uid
10912 : = INSN_UID (emit_move_insn (operands[2], operands[0]));
10913 : DONE;
10914 : }
10915 : #undef DONE
10916 : #undef FAIL
10917 : static const uint8_t expand_encoding[] = {
10918 : 0x01, 0x27, 0x00
10919 : };
10920 : return complete_seq (expand_encoding, operands);
10921 : }
10922 :
10923 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:27678 */
10924 : extern rtx_insn *gen_split_992 (rtx_insn *, rtx *);
10925 : rtx_insn *
10926 : gen_split_992 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
10927 : {
10928 : if (dump_file)
10929 : fprintf (dump_file, "Splitting with gen_split_992 (i386.md:27678)\n");
10930 : start_sequence ();
10931 : #define FAIL return (end_sequence (), nullptr)
10932 : #define DONE return end_sequence ()
10933 : #line 27701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10934 : {
10935 : operands[2] = force_reg (SImode, operands[2]);
10936 : operands[3] = gen_reg_rtx (SImode);
10937 : }
10938 : #undef DONE
10939 : #undef FAIL
10940 : static const uint8_t expand_encoding[] = {
10941 : 0x02, 0x17, 0x00, 0x02, 0x1f, 0x30, 0x08, 0x11,
10942 : 0x3a, 0x08, 0x3b, 0x11, 0x01, 0x01, 0x01, 0x02,
10943 : 0x01, 0x02, 0x1f, 0x01, 0x03, 0x3b, 0x11, 0x01,
10944 : 0x01, 0x01, 0x02, 0x1f, 0x01, 0x00, 0x39, 0x11,
10945 : 0x66, 0x00, 0x30, 0x08, 0x11, 0x27, 0x00, 0x01,
10946 : 0x03, 0x01, 0x02
10947 : };
10948 : return complete_seq (expand_encoding, operands);
10949 : }
10950 :
10951 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:27711 */
10952 : extern rtx_insn *gen_split_1002 (rtx_insn *, rtx *);
10953 : rtx_insn *
10954 : gen_split_1002 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
10955 : {
10956 : if (dump_file)
10957 : fprintf (dump_file, "Splitting with gen_split_1002 (i386.md:27711)\n");
10958 : start_sequence ();
10959 : #define FAIL return (end_sequence (), nullptr)
10960 : #define DONE return end_sequence ()
10961 : #line 27732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10962 : {
10963 : operands[1] = force_reg (DImode, operands[1]);
10964 : operands[3] = gen_reg_rtx (DImode);
10965 : }
10966 : #undef DONE
10967 : #undef FAIL
10968 : static const uint8_t expand_encoding[] = {
10969 : 0x02, 0x17, 0x00, 0x02, 0x1f, 0x30, 0x02, 0x11,
10970 : 0x3a, 0x02, 0x01, 0x01, 0x01, 0x02, 0x1f, 0x01,
10971 : 0x03, 0x3c, 0x12, 0x01, 0x01, 0x01, 0x02, 0x1f,
10972 : 0x01, 0x00, 0x39, 0x12, 0x63, 0x00, 0x30, 0x02,
10973 : 0x11, 0x27, 0x00, 0x01, 0x03, 0x01, 0x01
10974 : };
10975 : return complete_seq (expand_encoding, operands);
10976 : }
10977 :
10978 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:28144 */
10979 : extern rtx_insn *gen_peephole2_258 (rtx_insn *, rtx *);
10980 : rtx_insn *
10981 : gen_peephole2_258 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
10982 : {
10983 : if (dump_file)
10984 : fprintf (dump_file, "Splitting with gen_peephole2_258 (i386.md:28144)\n");
10985 : start_sequence ();
10986 : static const uint8_t expand_encoding[] = {
10987 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x1a,
10988 : 0x11, 0x01, 0x01, 0x01, 0x5d, 0x1f, 0x01, 0x03,
10989 : 0x01, 0x04
10990 : };
10991 : return complete_seq (expand_encoding, operands);
10992 : }
10993 :
10994 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:28159 */
10995 : extern rtx_insn *gen_peephole2_261 (rtx_insn *, rtx *);
10996 : rtx_insn *
10997 : gen_peephole2_261 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
10998 : {
10999 : if (dump_file)
11000 : fprintf (dump_file, "Splitting with gen_peephole2_261 (i386.md:28159)\n");
11001 : start_sequence ();
11002 : static const uint8_t expand_encoding[] = {
11003 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x1a,
11004 : 0x11, 0x01, 0x01, 0x01, 0x5d, 0x1f, 0x01, 0x03,
11005 : 0x01, 0x04
11006 : };
11007 : return complete_seq (expand_encoding, operands);
11008 : }
11009 :
11010 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:28247 */
11011 : extern rtx_insn *gen_peephole2_270 (rtx_insn *, rtx *);
11012 : rtx_insn *
11013 : gen_peephole2_270 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11014 : {
11015 : if (dump_file)
11016 : fprintf (dump_file, "Splitting with gen_peephole2_270 (i386.md:28247)\n");
11017 : start_sequence ();
11018 : static const uint8_t expand_encoding[] = {
11019 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x1a,
11020 : 0x11, 0x01, 0x01, 0x01, 0x5d, 0x1f, 0x01, 0x03,
11021 : 0x6f, 0x12, 0x01, 0x04
11022 : };
11023 : return complete_seq (expand_encoding, operands);
11024 : }
11025 :
11026 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:28407 */
11027 : extern rtx_insn *gen_split_1008 (rtx_insn *, rtx *);
11028 : rtx_insn *
11029 : gen_split_1008 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11030 : {
11031 : if (dump_file)
11032 : fprintf (dump_file, "Splitting with gen_split_1008 (i386.md:28407)\n");
11033 : start_sequence ();
11034 : #define FAIL return (end_sequence (), nullptr)
11035 : #define DONE return end_sequence ()
11036 : #line 28418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
11037 : {
11038 : operands[0] = gen_lowpart (SImode, operands[0]);
11039 : operands[1] = shallow_copy_rtx (operands[1]);
11040 : PUT_MODE (operands[1], SImode);
11041 : }
11042 : #undef DONE
11043 : #undef FAIL
11044 : static const uint8_t expand_encoding[] = {
11045 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x3d,
11046 : 0x11, 0x01, 0x01, 0x05, 0x02, 0x11
11047 : };
11048 : return complete_seq (expand_encoding, operands);
11049 : }
11050 :
11051 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:28466 */
11052 : extern rtx_insn *gen_peephole2_283 (rtx_insn *, rtx *);
11053 : rtx_insn *
11054 : gen_peephole2_283 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11055 : {
11056 : HARD_REG_SET _regs_allocated;
11057 : CLEAR_HARD_REG_SET (_regs_allocated);
11058 : if ((operands[2] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
11059 : return NULL;
11060 : if (dump_file)
11061 : fprintf (dump_file, "Splitting with gen_peephole2_283 (i386.md:28466)\n");
11062 : start_sequence ();
11063 : static const uint8_t expand_encoding[] = {
11064 : 0x02, 0x1f, 0x01, 0x02, 0x01, 0x01, 0x1f, 0x01,
11065 : 0x00, 0x01, 0x02
11066 : };
11067 : return complete_seq (expand_encoding, operands);
11068 : }
11069 :
11070 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:28558 */
11071 : extern rtx_insn *gen_peephole2_290 (rtx_insn *, rtx *);
11072 : rtx_insn *
11073 : gen_peephole2_290 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11074 : {
11075 : if (dump_file)
11076 : fprintf (dump_file, "Splitting with gen_peephole2_290 (i386.md:28558)\n");
11077 : start_sequence ();
11078 : static const uint8_t expand_encoding[] = {
11079 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x02,
11080 : 0x01, 0x49, 0x0f, 0x32, 0x0f, 0x81, 0x06, 0x10,
11081 : 0x01, 0x02, 0x27, 0x08, 0x27, 0x08, 0x00, 0x01,
11082 : 0x03, 0x27, 0x00, 0x1f, 0x81, 0x06, 0x10, 0x01,
11083 : 0x02, 0x27, 0x08, 0x27, 0x08, 0x32, 0x10, 0x49,
11084 : 0x0f, 0x32, 0x0f, 0x81, 0x06, 0x10, 0x01, 0x02,
11085 : 0x27, 0x08, 0x27, 0x08, 0x00, 0x01, 0x03, 0x00
11086 : };
11087 : return complete_seq (expand_encoding, operands);
11088 : }
11089 :
11090 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:28606 */
11091 : extern rtx_insn *gen_peephole2_300 (rtx_insn *, rtx *);
11092 : rtx_insn *
11093 : gen_peephole2_300 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11094 : {
11095 : HARD_REG_SET _regs_allocated;
11096 : CLEAR_HARD_REG_SET (_regs_allocated);
11097 : if ((operands[2] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
11098 : return NULL;
11099 : if (dump_file)
11100 : fprintf (dump_file, "Splitting with gen_peephole2_300 (i386.md:28606)\n");
11101 : start_sequence ();
11102 : static const uint8_t expand_encoding[] = {
11103 : 0x02, 0x1f, 0x01, 0x02, 0x01, 0x01, 0x17, 0x00,
11104 : 0x02, 0x1f, 0x01, 0x00, 0x02, 0x03, 0x01, 0x02,
11105 : 0x01, 0x00, 0x05, 0x02, 0x11
11106 : };
11107 : return complete_seq (expand_encoding, operands);
11108 : }
11109 :
11110 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:28681 */
11111 : extern rtx_insn *gen_peephole2_310 (rtx_insn *, rtx *);
11112 : rtx_insn *
11113 : gen_peephole2_310 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11114 : {
11115 : HARD_REG_SET _regs_allocated;
11116 : CLEAR_HARD_REG_SET (_regs_allocated);
11117 : if ((operands[2] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
11118 : return NULL;
11119 : if (dump_file)
11120 : fprintf (dump_file, "Splitting with gen_peephole2_310 (i386.md:28681)\n");
11121 : start_sequence ();
11122 : static const uint8_t expand_encoding[] = {
11123 : 0x03, 0x1f, 0x01, 0x02, 0x01, 0x00, 0x17, 0x00,
11124 : 0x02, 0x1f, 0x01, 0x02, 0x02, 0x03, 0x01, 0x02,
11125 : 0x01, 0x01, 0x05, 0x02, 0x11, 0x1f, 0x01, 0x00,
11126 : 0x01, 0x02
11127 : };
11128 : return complete_seq (expand_encoding, operands);
11129 : }
11130 :
11131 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:28747 */
11132 : extern rtx_insn *gen_peephole2_320 (rtx_insn *, rtx *);
11133 : rtx_insn *
11134 : gen_peephole2_320 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11135 : {
11136 : if (dump_file)
11137 : fprintf (dump_file, "Splitting with gen_peephole2_320 (i386.md:28747)\n");
11138 : start_sequence ();
11139 : #define FAIL return (end_sequence (), nullptr)
11140 : #define DONE return end_sequence ()
11141 : #line 28767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
11142 : {
11143 : operands[4] = SET_DEST (XVECEXP (PATTERN (peep2_next_insn (1)), 0, 0));
11144 : operands[5]
11145 : = gen_rtx_fmt_ee (GET_CODE (operands[3]), GET_MODE (operands[3]),
11146 : copy_rtx (operands[1]), operands[2]);
11147 : operands[6]
11148 : = gen_rtx_COMPARE (GET_MODE (operands[4]), copy_rtx (operands[5]),
11149 : const0_rtx);
11150 : }
11151 : #undef DONE
11152 : #undef FAIL
11153 : static const uint8_t expand_encoding[] = {
11154 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x04, 0x01,
11155 : 0x06, 0x1f, 0x01, 0x01, 0x01, 0x05
11156 : };
11157 : return complete_seq (expand_encoding, operands);
11158 : }
11159 :
11160 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:28813 */
11161 : extern rtx_insn *gen_peephole2_330 (rtx_insn *, rtx *);
11162 : rtx_insn *
11163 : gen_peephole2_330 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11164 : {
11165 : if (dump_file)
11166 : fprintf (dump_file, "Splitting with gen_peephole2_330 (i386.md:28813)\n");
11167 : start_sequence ();
11168 : #define FAIL return (end_sequence (), nullptr)
11169 : #define DONE return end_sequence ()
11170 : #line 28836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
11171 : {
11172 : operands[6] = SET_DEST (PATTERN (peep2_next_insn (3)));
11173 : operands[7]
11174 : = gen_rtx_PLUS (DImode,
11175 : copy_rtx (operands[1]),
11176 : gen_lowpart (DImode, operands[2]));
11177 : operands[8]
11178 : = gen_rtx_COMPARE (GET_MODE (operands[6]),
11179 : copy_rtx (operands[7]),
11180 : const0_rtx);
11181 : }
11182 : #undef DONE
11183 : #undef FAIL
11184 : static const uint8_t expand_encoding[] = {
11185 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x06, 0x01,
11186 : 0x08, 0x1f, 0x01, 0x01, 0x01, 0x07
11187 : };
11188 : return complete_seq (expand_encoding, operands);
11189 : }
11190 :
11191 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:28916 */
11192 : extern rtx_insn *gen_peephole2_340 (rtx_insn *, rtx *);
11193 : rtx_insn *
11194 : gen_peephole2_340 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11195 : {
11196 : if (dump_file)
11197 : fprintf (dump_file, "Splitting with gen_peephole2_340 (i386.md:28916)\n");
11198 : start_sequence ();
11199 : #define FAIL return (end_sequence (), nullptr)
11200 : #define DONE return end_sequence ()
11201 : #line 28943 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
11202 : {
11203 : operands[7] = SET_DEST (PATTERN (peep2_next_insn (3)));
11204 : operands[8] = gen_rtx_XOR (HImode, copy_rtx (operands[1]),
11205 : operands[2]);
11206 : operands[9]
11207 : = gen_rtx_COMPARE (GET_MODE (operands[7]),
11208 : copy_rtx (operands[8]),
11209 : const0_rtx);
11210 : }
11211 : #undef DONE
11212 : #undef FAIL
11213 : static const uint8_t expand_encoding[] = {
11214 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x07, 0x01,
11215 : 0x09, 0x1f, 0x01, 0x01, 0x01, 0x08
11216 : };
11217 : return complete_seq (expand_encoding, operands);
11218 : }
11219 :
11220 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:29029 */
11221 : extern rtx_insn *gen_peephole2_350 (rtx_insn *, rtx *);
11222 : rtx_insn *
11223 : gen_peephole2_350 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11224 : {
11225 : if (dump_file)
11226 : fprintf (dump_file, "Splitting with gen_peephole2_350 (i386.md:29029)\n");
11227 : start_sequence ();
11228 : #define FAIL return (end_sequence (), nullptr)
11229 : #define DONE return end_sequence ()
11230 : #line 29056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
11231 : {
11232 : operands[6] = SET_DEST (PATTERN (peep2_next_insn (4)));
11233 : operands[7]
11234 : = gen_rtx_fmt_ee (GET_CODE (operands[3]), HImode,
11235 : copy_rtx (operands[1]),
11236 : gen_lowpart (HImode, operands[2]));
11237 : operands[8]
11238 : = gen_rtx_COMPARE (GET_MODE (operands[6]),
11239 : copy_rtx (operands[7]),
11240 : const0_rtx);
11241 : }
11242 : #undef DONE
11243 : #undef FAIL
11244 : static const uint8_t expand_encoding[] = {
11245 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x06, 0x01,
11246 : 0x08, 0x1f, 0x01, 0x01, 0x01, 0x07
11247 : };
11248 : return complete_seq (expand_encoding, operands);
11249 : }
11250 :
11251 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:29148 */
11252 : extern rtx_insn *gen_peephole2_360 (rtx_insn *, rtx *);
11253 : rtx_insn *
11254 : gen_peephole2_360 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11255 : {
11256 : if (dump_file)
11257 : fprintf (dump_file, "Splitting with gen_peephole2_360 (i386.md:29148)\n");
11258 : start_sequence ();
11259 : #define FAIL return (end_sequence (), nullptr)
11260 : #define DONE return end_sequence ()
11261 : #line 29186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
11262 : {
11263 : operands[8] = SET_DEST (PATTERN (peep2_next_insn (4)));
11264 : operands[9] = gen_rtx_XOR (HImode, copy_rtx (operands[1]),
11265 : gen_lowpart (HImode, operands[2]));
11266 : operands[10]
11267 : = gen_rtx_COMPARE (GET_MODE (operands[8]),
11268 : copy_rtx (operands[9]),
11269 : const0_rtx);
11270 : }
11271 : #undef DONE
11272 : #undef FAIL
11273 : static const uint8_t expand_encoding[] = {
11274 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x08, 0x01,
11275 : 0x0a, 0x1f, 0x01, 0x01, 0x01, 0x09
11276 : };
11277 : return complete_seq (expand_encoding, operands);
11278 : }
11279 :
11280 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:29297 */
11281 : extern rtx_insn *gen_peephole2_371 (rtx_insn *, rtx *);
11282 : rtx_insn *
11283 : gen_peephole2_371 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11284 : {
11285 : if (dump_file)
11286 : fprintf (dump_file, "Splitting with gen_peephole2_371 (i386.md:29297)\n");
11287 : start_sequence ();
11288 : static const uint8_t expand_encoding[] = {
11289 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x3b,
11290 : 0x12, 0x01, 0x00, 0x01, 0x01, 0x05, 0x02, 0x11
11291 : };
11292 : return complete_seq (expand_encoding, operands);
11293 : }
11294 :
11295 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:29383 */
11296 : extern rtx_insn *gen_peephole2_379 (rtx_insn *, rtx *);
11297 : rtx_insn *
11298 : gen_peephole2_379 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11299 : {
11300 : HARD_REG_SET _regs_allocated;
11301 : CLEAR_HARD_REG_SET (_regs_allocated);
11302 : if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
11303 : return NULL;
11304 : if (dump_file)
11305 : fprintf (dump_file, "Splitting with gen_peephole2_379 (i386.md:29383)\n");
11306 : start_sequence ();
11307 : static const uint8_t expand_encoding[] = {
11308 : 0x02, 0x21, 0x00, 0x01, 0x01, 0x17, 0x00, 0x02,
11309 : 0x1f, 0x36, 0x11, 0x56, 0x11, 0x30, 0x11, 0x07,
11310 : 0x01, 0x01, 0x21, 0x00, 0x36, 0x01, 0x31, 0x00
11311 : };
11312 : return complete_seq (expand_encoding, operands);
11313 : }
11314 :
11315 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:29413 */
11316 : extern rtx_insn *gen_peephole2_389 (rtx_insn *, rtx *);
11317 : rtx_insn *
11318 : gen_peephole2_389 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11319 : {
11320 : HARD_REG_SET _regs_allocated;
11321 : CLEAR_HARD_REG_SET (_regs_allocated);
11322 : if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
11323 : return NULL;
11324 : if (dump_file)
11325 : fprintf (dump_file, "Splitting with gen_peephole2_389 (i386.md:29413)\n");
11326 : start_sequence ();
11327 : static const uint8_t expand_encoding[] = {
11328 : 0x02, 0x21, 0x00, 0x01, 0x01, 0x1f, 0x36, 0x11,
11329 : 0x56, 0x12, 0x30, 0x12, 0x07, 0x01, 0x01
11330 : };
11331 : return complete_seq (expand_encoding, operands);
11332 : }
11333 :
11334 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:29453 */
11335 : extern rtx_insn *gen_peephole2_399 (rtx_insn *, rtx *);
11336 : rtx_insn *
11337 : gen_peephole2_399 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11338 : {
11339 : HARD_REG_SET _regs_allocated;
11340 : CLEAR_HARD_REG_SET (_regs_allocated);
11341 : if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
11342 : return NULL;
11343 : if ((operands[2] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
11344 : return NULL;
11345 : if (dump_file)
11346 : fprintf (dump_file, "Splitting with gen_peephole2_399 (i386.md:29453)\n");
11347 : start_sequence ();
11348 : static const uint8_t expand_encoding[] = {
11349 : 0x02, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x01, 0x36,
11350 : 0x11, 0x59, 0x11, 0x30, 0x11, 0x07, 0x21, 0x00,
11351 : 0x36, 0x01, 0x31, 0x00, 0x1f, 0x01, 0x02, 0x36,
11352 : 0x11, 0x59, 0x11, 0x30, 0x11, 0x07
11353 : };
11354 : return complete_seq (expand_encoding, operands);
11355 : }
11356 :
11357 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:29481 */
11358 : extern rtx_insn *gen_peephole2_409 (rtx_insn *, rtx *);
11359 : rtx_insn *
11360 : gen_peephole2_409 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11361 : {
11362 : HARD_REG_SET _regs_allocated;
11363 : CLEAR_HARD_REG_SET (_regs_allocated);
11364 : if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
11365 : return NULL;
11366 : if (dump_file)
11367 : fprintf (dump_file, "Splitting with gen_peephole2_409 (i386.md:29481)\n");
11368 : start_sequence ();
11369 : static const uint8_t expand_encoding[] = {
11370 : 0x01, 0x1f, 0x01, 0x01, 0x36, 0x11, 0x59, 0x12,
11371 : 0x30, 0x12, 0x07
11372 : };
11373 : return complete_seq (expand_encoding, operands);
11374 : }
11375 :
11376 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:29516 */
11377 : extern rtx_insn *gen_peephole2_419 (rtx_insn *, rtx *);
11378 : rtx_insn *
11379 : gen_peephole2_419 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11380 : {
11381 : if (dump_file)
11382 : fprintf (dump_file, "Splitting with gen_peephole2_419 (i386.md:29516)\n");
11383 : start_sequence ();
11384 : static const uint8_t expand_encoding[] = {
11385 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x02,
11386 : 0x01, 0x01, 0x02, 0x01, 0x03, 0x21, 0x00, 0x01,
11387 : 0x02
11388 : };
11389 : return complete_seq (expand_encoding, operands);
11390 : }
11391 :
11392 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:29593 */
11393 : extern rtx_insn *gen_peephole2_428 (rtx_insn *, rtx *);
11394 : rtx_insn *
11395 : gen_peephole2_428 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11396 : {
11397 : HARD_REG_SET _regs_allocated;
11398 : CLEAR_HARD_REG_SET (_regs_allocated);
11399 : if ((operands[3] = peep2_find_free_register (1, 1, "r", SImode, &_regs_allocated)) == NULL_RTX)
11400 : return NULL;
11401 : if (dump_file)
11402 : fprintf (dump_file, "Splitting with gen_peephole2_428 (i386.md:29593)\n");
11403 : start_sequence ();
11404 : #define FAIL return (end_sequence (), nullptr)
11405 : #define DONE return end_sequence ()
11406 : #line 29605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
11407 : {
11408 : if (!rtx_equal_p (operands[0], operands[1]))
11409 : emit_move_insn (operands[0], operands[1]);
11410 : }
11411 : #undef DONE
11412 : #undef FAIL
11413 : static const uint8_t expand_encoding[] = {
11414 : 0x02, 0x1f, 0x01, 0x03, 0x01, 0x02, 0x17, 0x00,
11415 : 0x02, 0x1f, 0x01, 0x00, 0x3e, 0x11, 0x01, 0x00,
11416 : 0x01, 0x03, 0x05, 0x02, 0x11
11417 : };
11418 : return complete_seq (expand_encoding, operands);
11419 : }
11420 :
11421 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:30446 */
11422 : rtx
11423 : gen_xtest (const rtx operand0)
11424 : {
11425 : rtx operands[1] ATTRIBUTE_UNUSED = { operand0 };
11426 : start_sequence ();
11427 : {
11428 : #define FAIL return (end_sequence (), nullptr)
11429 : #define DONE return end_sequence ()
11430 : #line 30450 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
11431 : {
11432 : emit_insn (gen_xtest_1 ());
11433 :
11434 : ix86_expand_setcc (operands[0], NE,
11435 : gen_rtx_REG (CCZmode, FLAGS_REG), const0_rtx);
11436 : DONE;
11437 : }
11438 : #undef DONE
11439 : #undef FAIL
11440 : }
11441 : static const uint8_t expand_encoding[] = {
11442 : 0x01, 0x1f, 0x01, 0x00, 0x1b, 0x0f, 0x01, 0x27,
11443 : 0x00, 0x31
11444 : };
11445 : return complete_seq (expand_encoding, operands);
11446 : }
11447 :
11448 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md:30778 */
11449 : rtx
11450 : gen_spaceshiphi4 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
11451 : {
11452 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
11453 : start_sequence ();
11454 : {
11455 : #define FAIL return (end_sequence (), nullptr)
11456 : #define DONE return end_sequence ()
11457 : #line 30784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
11458 : {
11459 : ix86_expand_int_spaceship (operands[0], operands[1], operands[2],
11460 : operands[3]);
11461 : DONE;
11462 : }
11463 : #undef DONE
11464 : #undef FAIL
11465 : }
11466 : static const uint8_t expand_encoding[] = {
11467 : 0x04, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
11468 : 0x03
11469 : };
11470 : return complete_seq (expand_encoding, operands);
11471 : }
11472 :
11473 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:177 */
11474 : rtx
11475 : gen_movv4bf (const rtx operand0, const rtx operand1)
11476 : {
11477 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
11478 : start_sequence ();
11479 : {
11480 : #define FAIL return (end_sequence (), nullptr)
11481 : #define DONE return end_sequence ()
11482 : #line 181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
11483 : {
11484 : ix86_expand_vector_move (V4BFmode, operands);
11485 : DONE;
11486 : }
11487 : #undef DONE
11488 : #undef FAIL
11489 : }
11490 : static const uint8_t expand_encoding[] = {
11491 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
11492 : };
11493 : return complete_seq (expand_encoding, operands);
11494 : }
11495 :
11496 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:316 */
11497 : extern rtx_insn *gen_split_1017 (rtx_insn *, rtx *);
11498 : rtx_insn *
11499 : gen_split_1017 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
11500 : {
11501 : if (dump_file)
11502 : fprintf (dump_file, "Splitting with gen_split_1017 (mmx.md:316)\n");
11503 : start_sequence ();
11504 : #define FAIL return (end_sequence (), nullptr)
11505 : #define DONE return end_sequence ()
11506 : #line 321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
11507 : ix86_split_long_move (operands); DONE;
11508 : #undef DONE
11509 : #undef FAIL
11510 : static const uint8_t expand_encoding[] = {
11511 : 0x01, 0x27, 0x00
11512 : };
11513 : return complete_seq (expand_encoding, operands);
11514 : }
11515 :
11516 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:323 */
11517 : rtx
11518 : gen_movmisalignv1di (const rtx operand0, const rtx operand1)
11519 : {
11520 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
11521 : start_sequence ();
11522 : {
11523 : #define FAIL return (end_sequence (), nullptr)
11524 : #define DONE return end_sequence ()
11525 : #line 327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
11526 : {
11527 : ix86_expand_vector_move (V1DImode, operands);
11528 : DONE;
11529 : }
11530 : #undef DONE
11531 : #undef FAIL
11532 : }
11533 : static const uint8_t expand_encoding[] = {
11534 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
11535 : };
11536 : return complete_seq (expand_encoding, operands);
11537 : }
11538 :
11539 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:423 */
11540 : extern rtx_insn *gen_split_1024 (rtx_insn *, rtx *);
11541 : rtx_insn *
11542 : gen_split_1024 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11543 : {
11544 : if (dump_file)
11545 : fprintf (dump_file, "Splitting with gen_split_1024 (mmx.md:423)\n");
11546 : start_sequence ();
11547 : #define FAIL return (end_sequence (), nullptr)
11548 : #define DONE return end_sequence ()
11549 : #line 429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
11550 : {
11551 : operands[2] = GEN_INT (-PUSH_ROUNDING (GET_MODE_SIZE (V2HImode)));
11552 : /* Preserve memory attributes. */
11553 : operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
11554 : }
11555 : #undef DONE
11556 : #undef FAIL
11557 : static const uint8_t expand_encoding[] = {
11558 : 0x02, 0x1f, 0x30, 0x11, 0x07, 0x3b, 0x11, 0x30,
11559 : 0x11, 0x07, 0x01, 0x02, 0x1f, 0x01, 0x00, 0x01,
11560 : 0x01
11561 : };
11562 : return complete_seq (expand_encoding, operands);
11563 : }
11564 :
11565 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:435 */
11566 : rtx
11567 : gen_movmisalignv2hi (const rtx operand0, const rtx operand1)
11568 : {
11569 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
11570 : start_sequence ();
11571 : {
11572 : #define FAIL return (end_sequence (), nullptr)
11573 : #define DONE return end_sequence ()
11574 : #line 439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
11575 : {
11576 : ix86_expand_vector_move (V2HImode, operands);
11577 : DONE;
11578 : }
11579 : #undef DONE
11580 : #undef FAIL
11581 : }
11582 : static const uint8_t expand_encoding[] = {
11583 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
11584 : };
11585 : return complete_seq (expand_encoding, operands);
11586 : }
11587 :
11588 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:577 */
11589 : extern rtx_insn *gen_split_1038 (rtx_insn *, rtx *);
11590 : rtx_insn *
11591 : gen_split_1038 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11592 : {
11593 : if (dump_file)
11594 : fprintf (dump_file, "Splitting with gen_split_1038 (mmx.md:577)\n");
11595 : start_sequence ();
11596 : #define FAIL return (end_sequence (), nullptr)
11597 : #define DONE return end_sequence ()
11598 : #line 584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
11599 : {
11600 : rtx op1 = avoid_constant_pool_reference (operands[1]);
11601 :
11602 : if (!CONST_VECTOR_P (op1))
11603 : FAIL;
11604 :
11605 : HOST_WIDE_INT val = ix86_convert_const_vector_to_integer (op1, V2BFmode);
11606 :
11607 : operands[0] = lowpart_subreg (SImode, operands[0], V2BFmode);
11608 : operands[1] = GEN_INT (val);
11609 : }
11610 : #undef DONE
11611 : #undef FAIL
11612 : static const uint8_t expand_encoding[] = {
11613 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
11614 : };
11615 : return complete_seq (expand_encoding, operands);
11616 : }
11617 :
11618 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:598 */
11619 : extern rtx_insn *gen_split_1048 (rtx_insn *, rtx *);
11620 : rtx_insn *
11621 : gen_split_1048 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11622 : {
11623 : if (dump_file)
11624 : fprintf (dump_file, "Splitting with gen_split_1048 (mmx.md:598)\n");
11625 : start_sequence ();
11626 : #define FAIL return (end_sequence (), nullptr)
11627 : #define DONE return end_sequence ()
11628 : #line 605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
11629 : {
11630 : rtx op1 = operands[1];
11631 : HOST_WIDE_INT val = ix86_convert_const_vector_to_integer (op1, V2HImode);
11632 :
11633 : operands[0] = adjust_address (operands[0], SImode, 0);
11634 : operands[1] = GEN_INT (val);
11635 : }
11636 : #undef DONE
11637 : #undef FAIL
11638 : static const uint8_t expand_encoding[] = {
11639 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
11640 : };
11641 : return complete_seq (expand_encoding, operands);
11642 : }
11643 :
11644 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:598 */
11645 : extern rtx_insn *gen_split_1058 (rtx_insn *, rtx *);
11646 : rtx_insn *
11647 : gen_split_1058 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11648 : {
11649 : if (dump_file)
11650 : fprintf (dump_file, "Splitting with gen_split_1058 (mmx.md:598)\n");
11651 : start_sequence ();
11652 : #define FAIL return (end_sequence (), nullptr)
11653 : #define DONE return end_sequence ()
11654 : #line 605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
11655 : {
11656 : rtx op1 = operands[1];
11657 : HOST_WIDE_INT val = ix86_convert_const_vector_to_integer (op1, V1DImode);
11658 :
11659 : operands[0] = adjust_address (operands[0], DImode, 0);
11660 : operands[1] = GEN_INT (val);
11661 : }
11662 : #undef DONE
11663 : #undef FAIL
11664 : static const uint8_t expand_encoding[] = {
11665 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
11666 : };
11667 : return complete_seq (expand_encoding, operands);
11668 : }
11669 :
11670 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:702 */
11671 : extern rtx_insn *gen_split_1061 (rtx_insn *, rtx *);
11672 : rtx_insn *
11673 : gen_split_1061 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11674 : {
11675 : if (dump_file)
11676 : fprintf (dump_file, "Splitting with gen_split_1061 (mmx.md:702)\n");
11677 : start_sequence ();
11678 : #define FAIL return (end_sequence (), nullptr)
11679 : #define DONE return end_sequence ()
11680 : #line 712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
11681 : {
11682 : if (!TARGET_AVX && operands_match_p (operands[0], operands[2]))
11683 : std::swap (operands[1], operands[2]);
11684 : }
11685 : #undef DONE
11686 : #undef FAIL
11687 : static const uint8_t expand_encoding[] = {
11688 : 0x01, 0x1f, 0x01, 0x00, 0x49, 0x67, 0x01, 0x01,
11689 : 0x01, 0x02
11690 : };
11691 : return complete_seq (expand_encoding, operands);
11692 : }
11693 :
11694 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:825 */
11695 : rtx
11696 : gen_divv2sf3 (const rtx operand0, const rtx operand1, const rtx operand2)
11697 : {
11698 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
11699 : start_sequence ();
11700 : {
11701 : #define FAIL return (end_sequence (), nullptr)
11702 : #define DONE return end_sequence ()
11703 : #line 830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
11704 : {
11705 : rtx op2 = gen_reg_rtx (V4SFmode);
11706 : rtx op1 = gen_reg_rtx (V4SFmode);
11707 : rtx op0 = gen_reg_rtx (V4SFmode);
11708 :
11709 : rtx tmp = gen_rtx_VEC_CONCAT (V4SFmode, operands[2],
11710 : force_reg (V2SFmode, CONST1_RTX (V2SFmode)));
11711 : emit_insn (gen_rtx_SET (op2, tmp));
11712 : emit_insn (gen_movq_v2sf_to_sse (op1, operands[1]));
11713 :
11714 : emit_insn (gen_divv4sf3 (op0, op1, op2));
11715 :
11716 : emit_move_insn (operands[0], lowpart_subreg (V2SFmode, op0, V4SFmode));
11717 : DONE;
11718 : }
11719 : #undef DONE
11720 : #undef FAIL
11721 : }
11722 : static const uint8_t expand_encoding[] = {
11723 : 0x01, 0x1f, 0x01, 0x00, 0x43, 0x67, 0x01, 0x01,
11724 : 0x01, 0x02
11725 : };
11726 : return complete_seq (expand_encoding, operands);
11727 : }
11728 :
11729 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:1159 */
11730 : rtx
11731 : gen_vec_fmaddsubv2sf4 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
11732 : {
11733 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
11734 : start_sequence ();
11735 : {
11736 : #define FAIL _Pragma ("GCC error \"vec_fmaddsubv2sf4 cannot FAIL\"") (void)0
11737 : #define DONE return end_sequence ()
11738 : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
11739 : {
11740 : rtx op3 = gen_reg_rtx (V4SFmode);
11741 : rtx op2 = gen_reg_rtx (V4SFmode);
11742 : rtx op1 = gen_reg_rtx (V4SFmode);
11743 : rtx op0 = gen_reg_rtx (V4SFmode);
11744 :
11745 : emit_insn (gen_movq_v2sf_to_sse (op3, operands[3]));
11746 : emit_insn (gen_movq_v2sf_to_sse (op2, operands[2]));
11747 : emit_insn (gen_movq_v2sf_to_sse (op1, operands[1]));
11748 :
11749 : emit_insn (gen_vec_fmaddsubv4sf4 (op0, op1, op2, op3));
11750 :
11751 : emit_move_insn (operands[0], lowpart_subreg (V2SFmode, op0, V4SFmode));
11752 : DONE;
11753 : }
11754 : #undef DONE
11755 : #undef FAIL
11756 : }
11757 : static const uint8_t expand_encoding[] = {
11758 : 0x04, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
11759 : 0x03
11760 : };
11761 : return complete_seq (expand_encoding, operands);
11762 : }
11763 :
11764 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:1590 */
11765 : rtx
11766 : gen_floatv2siv2sf2 (const rtx operand0, const rtx operand1)
11767 : {
11768 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
11769 : start_sequence ();
11770 : {
11771 : #define FAIL return (end_sequence (), nullptr)
11772 : #define DONE return end_sequence ()
11773 : #line 1594 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
11774 : {
11775 : rtx op1 = gen_reg_rtx (V4SImode);
11776 : rtx op0 = gen_reg_rtx (V4SFmode);
11777 :
11778 : emit_insn (gen_movq_v2si_to_sse (op1, operands[1]));
11779 :
11780 : emit_insn (gen_floatv4siv4sf2 (op0, op1));
11781 :
11782 : emit_move_insn (operands[0], lowpart_subreg (V2SFmode, op0, V4SFmode));
11783 : DONE;
11784 : }
11785 : #undef DONE
11786 : #undef FAIL
11787 : }
11788 : static const uint8_t expand_encoding[] = {
11789 : 0x01, 0x1f, 0x01, 0x00, 0x73, 0x67, 0x01, 0x01
11790 : };
11791 : return complete_seq (expand_encoding, operands);
11792 : }
11793 :
11794 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:1884 */
11795 : rtx
11796 : gen_nearbyintv2sf2 (const rtx operand0, const rtx operand1)
11797 : {
11798 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
11799 : start_sequence ();
11800 : {
11801 : #define FAIL _Pragma ("GCC error \"nearbyintv2sf2 cannot FAIL\"") (void)0
11802 : #define DONE return end_sequence ()
11803 : #line 1888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
11804 : {
11805 : rtx op1 = gen_reg_rtx (V4SFmode);
11806 : rtx op0 = gen_reg_rtx (V4SFmode);
11807 :
11808 : emit_insn (gen_movq_v2sf_to_sse (op1, operands[1]));
11809 :
11810 : emit_insn (gen_nearbyintv4sf2 (op0, op1));
11811 :
11812 : emit_move_insn (operands[0], lowpart_subreg (V2SFmode, op0, V4SFmode));
11813 : DONE;
11814 : }
11815 : #undef DONE
11816 : #undef FAIL
11817 : }
11818 : static const uint8_t expand_encoding[] = {
11819 : 0x02, 0x01, 0x00, 0x01, 0x01
11820 : };
11821 : return complete_seq (expand_encoding, operands);
11822 : }
11823 :
11824 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:2062 */
11825 : rtx
11826 : gen_divv4hf3 (const rtx operand0, const rtx operand1, const rtx operand2)
11827 : {
11828 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
11829 : start_sequence ();
11830 : {
11831 : #define FAIL return (end_sequence (), nullptr)
11832 : #define DONE return end_sequence ()
11833 : #line 2069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
11834 : {
11835 : rtx op2 = gen_reg_rtx (V8HFmode);
11836 : rtx op1 = gen_reg_rtx (V8HFmode);
11837 : rtx op0 = gen_reg_rtx (V8HFmode);
11838 :
11839 : emit_insn (gen_movq_v4hf_to_sse (op1, operands[1]));
11840 : rtx tmp = gen_rtx_VEC_CONCAT (V8HFmode, operands[2],
11841 : force_reg (V4HFmode, CONST1_RTX (V4HFmode)));
11842 : emit_insn (gen_rtx_SET (op2, tmp));
11843 : emit_insn (gen_divv8hf3 (op0, op1, op2));
11844 : emit_move_insn (operands[0], lowpart_subreg (V4HFmode, op0, V8HFmode));
11845 : DONE;
11846 : }
11847 : #undef DONE
11848 : #undef FAIL
11849 : }
11850 : static const uint8_t expand_encoding[] = {
11851 : 0x01, 0x1f, 0x01, 0x00, 0x43, 0x66, 0x01, 0x01,
11852 : 0x01, 0x02
11853 : };
11854 : return complete_seq (expand_encoding, operands);
11855 : }
11856 :
11857 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:2142 */
11858 : rtx
11859 : gen_divv2bf3 (const rtx operand0, const rtx operand1, const rtx operand2)
11860 : {
11861 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
11862 : start_sequence ();
11863 : {
11864 : #define FAIL return (end_sequence (), nullptr)
11865 : #define DONE return end_sequence ()
11866 : #line 2148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
11867 : {
11868 : rtx op0 = gen_reg_rtx (V8BFmode);
11869 : rtx op1 = lowpart_subreg (V8BFmode,
11870 : force_reg (V2BFmode, operands[1]), V2BFmode);
11871 : rtx op2 = lowpart_subreg (V8BFmode,
11872 : force_reg (V2BFmode, operands[2]), V2BFmode);
11873 :
11874 : emit_insn (gen_divv8bf3 (op0, op1, op2));
11875 :
11876 : emit_move_insn (operands[0], lowpart_subreg (V2BFmode, op0, V8BFmode));
11877 : DONE;
11878 : }
11879 : #undef DONE
11880 : #undef FAIL
11881 : }
11882 : static const uint8_t expand_encoding[] = {
11883 : 0x01, 0x1f, 0x01, 0x00, 0x43, 0x64, 0x01, 0x01,
11884 : 0x01, 0x02
11885 : };
11886 : return complete_seq (expand_encoding, operands);
11887 : }
11888 :
11889 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:2201 */
11890 : rtx
11891 : gen_smaxv2bf3 (const rtx operand0, const rtx operand1, const rtx operand2)
11892 : {
11893 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
11894 : start_sequence ();
11895 : {
11896 : #define FAIL return (end_sequence (), nullptr)
11897 : #define DONE return end_sequence ()
11898 : #line 2207 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
11899 : {
11900 : rtx op0 = gen_reg_rtx (V8BFmode);
11901 : rtx op1 = lowpart_subreg (V8BFmode,
11902 : force_reg (V2BFmode, operands[1]), V2BFmode);
11903 : rtx op2 = lowpart_subreg (V8BFmode,
11904 : force_reg (V2BFmode, operands[2]), V2BFmode);
11905 :
11906 : emit_insn (gen_smaxv8bf3 (op0, op1, op2));
11907 :
11908 : emit_move_insn (operands[0], lowpart_subreg (V2BFmode, op0, V8BFmode));
11909 : DONE;
11910 : }
11911 : #undef DONE
11912 : #undef FAIL
11913 : }
11914 : static const uint8_t expand_encoding[] = {
11915 : 0x01, 0x1f, 0x01, 0x00, 0x53, 0x64, 0x01, 0x01,
11916 : 0x01, 0x02
11917 : };
11918 : return complete_seq (expand_encoding, operands);
11919 : }
11920 :
11921 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:2254 */
11922 : rtx
11923 : gen_absv4bf2 (const rtx operand0, const rtx operand1)
11924 : {
11925 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
11926 : start_sequence ();
11927 : {
11928 : #define FAIL return (end_sequence (), nullptr)
11929 : #define DONE return end_sequence ()
11930 : #line 2259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
11931 : ix86_expand_fp_absneg_operator (ABS, V4BFmode, operands); DONE;
11932 : #undef DONE
11933 : #undef FAIL
11934 : }
11935 : static const uint8_t expand_encoding[] = {
11936 : 0x01, 0x1f, 0x01, 0x00, 0x7b, 0x65, 0x01, 0x01
11937 : };
11938 : return complete_seq (expand_encoding, operands);
11939 : }
11940 :
11941 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:2261 */
11942 : extern rtx_insn *gen_split_1071 (rtx_insn *, rtx *);
11943 : rtx_insn *
11944 : gen_split_1071 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11945 : {
11946 : if (dump_file)
11947 : fprintf (dump_file, "Splitting with gen_split_1071 (mmx.md:2261)\n");
11948 : start_sequence ();
11949 : #define FAIL return (end_sequence (), nullptr)
11950 : #define DONE return end_sequence ()
11951 : #line 2271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
11952 : {
11953 : if (!TARGET_AVX && operands_match_p (operands[0], operands[2]))
11954 : std::swap (operands[1], operands[2]);
11955 : }
11956 : #undef DONE
11957 : #undef FAIL
11958 : static const uint8_t expand_encoding[] = {
11959 : 0x01, 0x1f, 0x01, 0x00, 0x4b, 0x64, 0x01, 0x01,
11960 : 0x01, 0x02
11961 : };
11962 : return complete_seq (expand_encoding, operands);
11963 : }
11964 :
11965 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:2277 */
11966 : extern rtx_insn *gen_split_1081 (rtx_insn *, rtx *);
11967 : rtx_insn *
11968 : gen_split_1081 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
11969 : {
11970 : if (dump_file)
11971 : fprintf (dump_file, "Splitting with gen_split_1081 (mmx.md:2277)\n");
11972 : start_sequence ();
11973 : static const uint8_t expand_encoding[] = {
11974 : 0x01, 0x1f, 0x01, 0x00, 0x4a, 0x66, 0x01, 0x01,
11975 : 0x01, 0x02
11976 : };
11977 : return complete_seq (expand_encoding, operands);
11978 : }
11979 :
11980 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:2375 */
11981 : rtx
11982 : gen_vcond_mask_v2hfqi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
11983 : {
11984 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
11985 : start_sequence ();
11986 : {
11987 : #define FAIL _Pragma ("GCC error \"vcond_mask_v2hfqi cannot FAIL\"") (void)0
11988 : #define DONE return end_sequence ()
11989 : #line 2382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
11990 : {
11991 : rtx op0 = gen_reg_rtx (V8HFmode);
11992 : operands[1] = lowpart_subreg (V8HFmode, operands[1], V2HFmode);
11993 : operands[2] = lowpart_subreg (V8HFmode, operands[2], V2HFmode);
11994 : emit_insn (gen_vcond_mask_v8hfqi (op0, operands[1],
11995 : operands[2], operands[3]));
11996 : emit_move_insn (operands[0],
11997 : lowpart_subreg (V2HFmode, op0, V8HFmode));
11998 : DONE;
11999 : }
12000 : #undef DONE
12001 : #undef FAIL
12002 : }
12003 : static const uint8_t expand_encoding[] = {
12004 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x63, 0x01,
12005 : 0x01, 0x01, 0x02, 0x01, 0x03
12006 : };
12007 : return complete_seq (expand_encoding, operands);
12008 : }
12009 :
12010 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:2449 */
12011 : rtx
12012 : gen_rintv4hf2 (const rtx operand0, const rtx operand1)
12013 : {
12014 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
12015 : start_sequence ();
12016 : {
12017 : #define FAIL _Pragma ("GCC error \"rintv4hf2 cannot FAIL\"") (void)0
12018 : #define DONE return end_sequence ()
12019 : #line 2454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12020 : {
12021 : rtx op1 = gen_reg_rtx (V8HFmode);
12022 : rtx op0 = gen_reg_rtx (V8HFmode);
12023 :
12024 : emit_insn (gen_movq_v4hf_to_sse (op1, operands[1]));
12025 : emit_insn (gen_rintv8hf2 (op0, op1));
12026 : emit_move_insn (operands[0], lowpart_subreg (V4HFmode, op0, V8HFmode));
12027 :
12028 : DONE;
12029 : }
12030 : #undef DONE
12031 : #undef FAIL
12032 : }
12033 : static const uint8_t expand_encoding[] = {
12034 : 0x02, 0x01, 0x00, 0x01, 0x01
12035 : };
12036 : return complete_seq (expand_encoding, operands);
12037 : }
12038 :
12039 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:2532 */
12040 : rtx
12041 : gen_lceilv4hfv4hi2 (const rtx operand0, const rtx operand1)
12042 : {
12043 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
12044 : start_sequence ();
12045 : {
12046 : #define FAIL _Pragma ("GCC error \"lceilv4hfv4hi2 cannot FAIL\"") (void)0
12047 : #define DONE return end_sequence ()
12048 : #line 2538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12049 : {
12050 : rtx op1 = gen_reg_rtx (V8HFmode);
12051 : rtx op0 = gen_reg_rtx (V8HFmode);
12052 :
12053 : emit_insn (gen_movq_v4hf_to_sse (op1, operands[1]));
12054 : emit_insn (gen_lceilv8hfv8hi2 (op0, op1));
12055 : emit_move_insn (operands[0], lowpart_subreg (V4HFmode, op0, V8HFmode));
12056 :
12057 : DONE;
12058 : }
12059 : #undef DONE
12060 : #undef FAIL
12061 : }
12062 : static const uint8_t expand_encoding[] = {
12063 : 0x02, 0x01, 0x00, 0x01, 0x01
12064 : };
12065 : return complete_seq (expand_encoding, operands);
12066 : }
12067 :
12068 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:2636 */
12069 : rtx
12070 : gen_xorsignv4bf3 (const rtx operand0, const rtx operand1, const rtx operand2)
12071 : {
12072 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
12073 : start_sequence ();
12074 : {
12075 : #define FAIL _Pragma ("GCC error \"xorsignv4bf3 cannot FAIL\"") (void)0
12076 : #define DONE return end_sequence ()
12077 : #line 2644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12078 : {
12079 : operands[3] = ix86_build_signbit_mask (V4BFmode, true, false);
12080 :
12081 : operands[4] = gen_reg_rtx (V4BFmode);
12082 : }
12083 : #undef DONE
12084 : #undef FAIL
12085 : }
12086 : static const uint8_t expand_encoding[] = {
12087 : 0x02, 0x1f, 0x01, 0x04, 0x49, 0x65, 0x01, 0x03,
12088 : 0x01, 0x02, 0x1f, 0x01, 0x00, 0x4b, 0x65, 0x01,
12089 : 0x04, 0x01, 0x01
12090 : };
12091 : return complete_seq (expand_encoding, operands);
12092 : }
12093 :
12094 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:2691 */
12095 : rtx
12096 : gen_fmsv4hf4 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
12097 : {
12098 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
12099 : start_sequence ();
12100 : {
12101 : #define FAIL _Pragma ("GCC error \"fmsv4hf4 cannot FAIL\"") (void)0
12102 : #define DONE return end_sequence ()
12103 : #line 2699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12104 : {
12105 : rtx op3 = gen_reg_rtx (V8HFmode);
12106 : rtx op2 = gen_reg_rtx (V8HFmode);
12107 : rtx op1 = gen_reg_rtx (V8HFmode);
12108 : rtx op0 = gen_reg_rtx (V8HFmode);
12109 :
12110 : emit_insn (gen_movq_v4hf_to_sse (op3, operands[3]));
12111 : emit_insn (gen_movq_v4hf_to_sse (op2, operands[2]));
12112 : emit_insn (gen_movq_v4hf_to_sse (op1, operands[1]));
12113 :
12114 : emit_insn (gen_fmsv8hf4 (op0, op1, op2, op3));
12115 :
12116 : emit_move_insn (operands[0], lowpart_subreg (V4HFmode, op0, V8HFmode));
12117 : DONE;
12118 : }
12119 : #undef DONE
12120 : #undef FAIL
12121 : }
12122 : static const uint8_t expand_encoding[] = {
12123 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x19, 0x66, 0x01,
12124 : 0x01, 0x01, 0x02, 0x3d, 0x66, 0x01, 0x03
12125 : };
12126 : return complete_seq (expand_encoding, operands);
12127 : }
12128 :
12129 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:2831 */
12130 : rtx
12131 : gen_fmsv4bf4 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
12132 : {
12133 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
12134 : start_sequence ();
12135 : {
12136 : #define FAIL _Pragma ("GCC error \"fmsv4bf4 cannot FAIL\"") (void)0
12137 : #define DONE return end_sequence ()
12138 : #line 2839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12139 : {
12140 : rtx op0 = gen_reg_rtx (V8BFmode);
12141 : rtx op1 = lowpart_subreg (V8BFmode, force_reg (V4BFmode, operands[1]), V4BFmode);
12142 : rtx op2 = lowpart_subreg (V8BFmode, force_reg (V4BFmode, operands[2]), V4BFmode);
12143 : rtx op3 = lowpart_subreg (V8BFmode, force_reg (V4BFmode, operands[3]), V4BFmode);
12144 :
12145 : emit_insn (gen_fmsv8bf4 (op0, op1, op2, op3));
12146 :
12147 : emit_move_insn (operands[0], lowpart_subreg (V4BFmode, op0, V8BFmode));
12148 : DONE;
12149 : }
12150 : #undef DONE
12151 : #undef FAIL
12152 : }
12153 : static const uint8_t expand_encoding[] = {
12154 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x19, 0x65, 0x01,
12155 : 0x01, 0x01, 0x02, 0x3d, 0x65, 0x01, 0x03
12156 : };
12157 : return complete_seq (expand_encoding, operands);
12158 : }
12159 :
12160 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:2988 */
12161 : rtx
12162 : gen_fixuns_truncv2hfv2hi2 (const rtx operand0, const rtx operand1)
12163 : {
12164 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
12165 : start_sequence ();
12166 : {
12167 : #define FAIL return (end_sequence (), nullptr)
12168 : #define DONE return end_sequence ()
12169 : #line 2993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12170 : {
12171 : rtx op1 = gen_reg_rtx (V8HFmode);
12172 : rtx op0 = gen_reg_rtx (V8HImode);
12173 :
12174 : emit_insn (gen_movd_v2hf_to_sse (op1, operands[1]));
12175 :
12176 : emit_insn (gen_fixuns_truncv8hfv8hi2 (op0, op1));
12177 :
12178 : emit_move_insn (operands[0],
12179 : lowpart_subreg (V2HImode, op0, V8HImode));
12180 : DONE;
12181 : }
12182 : #undef DONE
12183 : #undef FAIL
12184 : }
12185 : static const uint8_t expand_encoding[] = {
12186 : 0x01, 0x1f, 0x01, 0x00, 0x76, 0x46, 0x01, 0x01
12187 : };
12188 : return complete_seq (expand_encoding, operands);
12189 : }
12190 :
12191 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:3024 */
12192 : rtx
12193 : gen_floatunsv4hiv4hf2 (const rtx operand0, const rtx operand1)
12194 : {
12195 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
12196 : start_sequence ();
12197 : {
12198 : #define FAIL return (end_sequence (), nullptr)
12199 : #define DONE return end_sequence ()
12200 : #line 3029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12201 : {
12202 : rtx op1 = gen_reg_rtx (V8HImode);
12203 : rtx op0 = gen_reg_rtx (V8HFmode);
12204 :
12205 : rtx (*gen_movd_sse) (rtx, rtx)
12206 : = gen_movq_v4hi_to_sse;
12207 : emit_insn (gen_movd_sse (op1, operands[1]));
12208 :
12209 : emit_insn (gen_floatunsv8hiv8hf2 (op0, op1));
12210 :
12211 : emit_move_insn (operands[0],
12212 : lowpart_subreg (V4HFmode, op0, V8HFmode));
12213 : DONE;
12214 : }
12215 : #undef DONE
12216 : #undef FAIL
12217 : }
12218 : static const uint8_t expand_encoding[] = {
12219 : 0x01, 0x1f, 0x01, 0x00, 0x75, 0x66, 0x01, 0x01
12220 : };
12221 : return complete_seq (expand_encoding, operands);
12222 : }
12223 :
12224 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:3178 */
12225 : extern rtx_insn *gen_split_1082 (rtx_insn *, rtx *);
12226 : rtx_insn *
12227 : gen_split_1082 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
12228 : {
12229 : if (dump_file)
12230 : fprintf (dump_file, "Splitting with gen_split_1082 (mmx.md:3178)\n");
12231 : start_sequence ();
12232 : #define FAIL return (end_sequence (), nullptr)
12233 : #define DONE return end_sequence ()
12234 : #line 3198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12235 : {
12236 : operands[3] = lowpart_subreg (HImode, operands[1], V2QImode);
12237 : operands[2] = lowpart_subreg (HImode, operands[0], V2QImode);
12238 : operands[1] = lowpart_subreg (QImode, operands[1], V2QImode);
12239 : operands[0] = lowpart_subreg (QImode, operands[0], V2QImode);
12240 : }
12241 : #undef DONE
12242 : #undef FAIL
12243 : static const uint8_t expand_encoding[] = {
12244 : 0x02, 0x17, 0x00, 0x02, 0x1f, 0x33, 0x00, 0x01,
12245 : 0x00, 0x3d, 0x0f, 0x01, 0x01, 0x05, 0x02, 0x11,
12246 : 0x17, 0x00, 0x02, 0x1f, 0x81, 0x06, 0x10, 0x01,
12247 : 0x02, 0x27, 0x08, 0x27, 0x08, 0x32, 0x10, 0x3d,
12248 : 0x0f, 0x32, 0x0f, 0x81, 0x06, 0x10, 0x01, 0x03,
12249 : 0x27, 0x08, 0x27, 0x08, 0x00, 0x00, 0x05, 0x02,
12250 : 0x11
12251 : };
12252 : return complete_seq (expand_encoding, operands);
12253 : }
12254 :
12255 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:3228 */
12256 : rtx
12257 : gen_subv2si3 (const rtx operand0, const rtx operand1, const rtx operand2)
12258 : {
12259 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
12260 : static const uint8_t expand_encoding[] = {
12261 : 0x1f, 0x01, 0x00, 0x3c, 0x4a, 0x01, 0x01, 0x01,
12262 : 0x02
12263 : };
12264 : return expand_rtx (expand_encoding, operands);
12265 : }
12266 :
12267 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:3334 */
12268 : rtx
12269 : gen_mmx_usaddv4hi3 (const rtx operand0, const rtx operand1, const rtx operand2)
12270 : {
12271 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
12272 : start_sequence ();
12273 : {
12274 : #define FAIL return (end_sequence (), nullptr)
12275 : #define DONE return end_sequence ()
12276 : #line 3340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12277 : ix86_fixup_binary_operands_no_copy (US_PLUS, V4HImode, operands);
12278 : #undef DONE
12279 : #undef FAIL
12280 : }
12281 : static const uint8_t expand_encoding[] = {
12282 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x0f, 0x49, 0x01,
12283 : 0x01, 0x01, 0x02
12284 : };
12285 : return complete_seq (expand_encoding, operands);
12286 : }
12287 :
12288 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:3342 */
12289 : rtx
12290 : gen_usaddv4hi3 (const rtx operand0, const rtx operand1, const rtx operand2)
12291 : {
12292 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
12293 : static const uint8_t expand_encoding[] = {
12294 : 0x1f, 0x01, 0x00, 0x81, 0x0f, 0x49, 0x01, 0x01,
12295 : 0x01, 0x02
12296 : };
12297 : return expand_rtx (expand_encoding, operands);
12298 : }
12299 :
12300 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:3455 */
12301 : rtx
12302 : gen_mmx_smulv4hi3_highpart (const rtx operand0, const rtx operand1, const rtx operand2)
12303 : {
12304 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
12305 : start_sequence ();
12306 : {
12307 : #define FAIL return (end_sequence (), nullptr)
12308 : #define DONE return end_sequence ()
12309 : #line 3466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12310 : ix86_fixup_binary_operands_no_copy (MULT, V4HImode, operands);
12311 : #undef DONE
12312 : #undef FAIL
12313 : }
12314 : static const uint8_t expand_encoding[] = {
12315 : 0x01, 0x1f, 0x01, 0x00, 0x70, 0x49, 0x50, 0x51,
12316 : 0x3e, 0x51, 0x6e, 0x51, 0x01, 0x01, 0x6e, 0x51,
12317 : 0x01, 0x02, 0x27, 0x10
12318 : };
12319 : return complete_seq (expand_encoding, operands);
12320 : }
12321 :
12322 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:3780 */
12323 : rtx
12324 : gen_mmx_uminv8qi3 (const rtx operand0, const rtx operand1, const rtx operand2)
12325 : {
12326 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
12327 : start_sequence ();
12328 : {
12329 : #define FAIL return (end_sequence (), nullptr)
12330 : #define DONE return end_sequence ()
12331 : #line 3787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12332 : ix86_fixup_binary_operands_no_copy (UMIN, V8QImode, operands);
12333 : #undef DONE
12334 : #undef FAIL
12335 : }
12336 : static const uint8_t expand_encoding[] = {
12337 : 0x01, 0x1f, 0x01, 0x00, 0x54, 0x48, 0x01, 0x01,
12338 : 0x01, 0x02
12339 : };
12340 : return complete_seq (expand_encoding, operands);
12341 : }
12342 :
12343 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:3948 */
12344 : rtx
12345 : gen_ashlv4hi3 (const rtx operand0, const rtx operand1, const rtx operand2)
12346 : {
12347 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
12348 : static const uint8_t expand_encoding[] = {
12349 : 0x1f, 0x01, 0x00, 0x4d, 0x49, 0x01, 0x01, 0x01,
12350 : 0x02
12351 : };
12352 : return expand_rtx (expand_encoding, operands);
12353 : }
12354 :
12355 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:4000 */
12356 : extern rtx_insn *gen_split_1094 (rtx_insn *, rtx *);
12357 : rtx_insn *
12358 : gen_split_1094 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
12359 : {
12360 : if (dump_file)
12361 : fprintf (dump_file, "Splitting with gen_split_1094 (mmx.md:4000)\n");
12362 : start_sequence ();
12363 : #define FAIL return (end_sequence (), nullptr)
12364 : #define DONE return end_sequence ()
12365 : #line 4009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12366 : operands[4] = gen_int_mode (15, DImode);
12367 : #undef DONE
12368 : #undef FAIL
12369 : static const uint8_t expand_encoding[] = {
12370 : 0x01, 0x1f, 0x01, 0x00, 0x50, 0x46, 0x01, 0x01,
12371 : 0x01, 0x04
12372 : };
12373 : return complete_seq (expand_encoding, operands);
12374 : }
12375 :
12376 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:4066 */
12377 : rtx
12378 : gen_vashlv8qi3 (const rtx operand0, const rtx operand1, const rtx operand2)
12379 : {
12380 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
12381 : start_sequence ();
12382 : {
12383 : #define FAIL return (end_sequence (), nullptr)
12384 : #define DONE return end_sequence ()
12385 : #line 4072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12386 : {
12387 : ix86_expand_vecop_qihi_partial (ASHIFT, operands[0],
12388 : operands[1], operands[2]);
12389 : DONE;
12390 : }
12391 : #undef DONE
12392 : #undef FAIL
12393 : }
12394 : static const uint8_t expand_encoding[] = {
12395 : 0x01, 0x1f, 0x01, 0x00, 0x4d, 0x48, 0x01, 0x01,
12396 : 0x01, 0x02
12397 : };
12398 : return complete_seq (expand_encoding, operands);
12399 : }
12400 :
12401 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:4090 */
12402 : rtx
12403 : gen_vec_shl_v2si (const rtx operand0, const rtx operand1, const rtx operand2)
12404 : {
12405 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
12406 : start_sequence ();
12407 : {
12408 : #define FAIL return (end_sequence (), nullptr)
12409 : #define DONE return end_sequence ()
12410 : #line 4096 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12411 : {
12412 : rtx op0 = gen_reg_rtx (V1DImode);
12413 : rtx op1 = force_reg (V2SImode, operands[1]);
12414 :
12415 : emit_insn (gen_mmx_ashlv1di3
12416 : (op0, gen_lowpart (V1DImode, op1), operands[2]));
12417 : emit_move_insn (operands[0], gen_lowpart (V2SImode, op0));
12418 : DONE;
12419 : }
12420 : #undef DONE
12421 : #undef FAIL
12422 : }
12423 : static const uint8_t expand_encoding[] = {
12424 : 0x01, 0x1f, 0x01, 0x00, 0x4d, 0x4b, 0x01, 0x01,
12425 : 0x01, 0x02
12426 : };
12427 : return complete_seq (expand_encoding, operands);
12428 : }
12429 :
12430 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:4122 */
12431 : rtx
12432 : gen_vec_shr_v2si (const rtx operand0, const rtx operand1, const rtx operand2)
12433 : {
12434 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
12435 : start_sequence ();
12436 : {
12437 : #define FAIL return (end_sequence (), nullptr)
12438 : #define DONE return end_sequence ()
12439 : #line 4128 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12440 : {
12441 : rtx op0 = gen_reg_rtx (V1DImode);
12442 : rtx op1 = force_reg (V2SImode, operands[1]);
12443 :
12444 : emit_insn (gen_mmx_lshrv1di3
12445 : (op0, gen_lowpart (V1DImode, op1), operands[2]));
12446 : emit_move_insn (operands[0], gen_lowpart (V2SImode, op0));
12447 : DONE;
12448 : }
12449 : #undef DONE
12450 : #undef FAIL
12451 : }
12452 : static const uint8_t expand_encoding[] = {
12453 : 0x01, 0x1f, 0x01, 0x00, 0x50, 0x4b, 0x01, 0x01,
12454 : 0x01, 0x02
12455 : };
12456 : return complete_seq (expand_encoding, operands);
12457 : }
12458 :
12459 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:4160 */
12460 : rtx
12461 : gen_mmx_eqv4hi3 (const rtx operand0, const rtx operand1, const rtx operand2)
12462 : {
12463 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
12464 : start_sequence ();
12465 : {
12466 : #define FAIL return (end_sequence (), nullptr)
12467 : #define DONE return end_sequence ()
12468 : #line 4166 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12469 : ix86_fixup_binary_operands_no_copy (EQ, V4HImode, operands);
12470 : #undef DONE
12471 : #undef FAIL
12472 : }
12473 : static const uint8_t expand_encoding[] = {
12474 : 0x01, 0x1f, 0x01, 0x00, 0x5d, 0x49, 0x01, 0x01,
12475 : 0x01, 0x02
12476 : };
12477 : return complete_seq (expand_encoding, operands);
12478 : }
12479 :
12480 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:4289 */
12481 : rtx
12482 : gen_vec_cmpuv2siv2si (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
12483 : {
12484 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
12485 : start_sequence ();
12486 : {
12487 : #define FAIL return (end_sequence (), nullptr)
12488 : #define DONE return end_sequence ()
12489 : #line 4295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12490 : {
12491 : bool ok = ix86_expand_int_vec_cmp (operands);
12492 : gcc_assert (ok);
12493 : DONE;
12494 : }
12495 : #undef DONE
12496 : #undef FAIL
12497 : }
12498 : static const uint8_t expand_encoding[] = {
12499 : 0x01, 0x1f, 0x01, 0x00, 0x03, 0x4a, 0x01, 0x01,
12500 : 0x02, 0x01, 0x03
12501 : };
12502 : return complete_seq (expand_encoding, operands);
12503 : }
12504 :
12505 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:4326 */
12506 : rtx
12507 : gen_vcond_mask_v2hiv2hi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
12508 : {
12509 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
12510 : start_sequence ();
12511 : {
12512 : #define FAIL _Pragma ("GCC error \"vcond_mask_v2hiv2hi cannot FAIL\"") (void)0
12513 : #define DONE return end_sequence ()
12514 : #line 4333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12515 : {
12516 : ix86_expand_sse_movcc (operands[0], operands[3],
12517 : operands[1], operands[2]);
12518 : DONE;
12519 : }
12520 : #undef DONE
12521 : #undef FAIL
12522 : }
12523 : static const uint8_t expand_encoding[] = {
12524 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x46, 0x01,
12525 : 0x01, 0x01, 0x02, 0x01, 0x03
12526 : };
12527 : return complete_seq (expand_encoding, operands);
12528 : }
12529 :
12530 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:4569 */
12531 : rtx
12532 : gen_one_cmplv2si2 (const rtx operand0, const rtx operand1)
12533 : {
12534 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1 };
12535 : start_sequence ();
12536 : {
12537 : #define FAIL return (end_sequence (), nullptr)
12538 : #define DONE return end_sequence ()
12539 : #line 4575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12540 : operands[2] = force_reg (V2SImode, CONSTM1_RTX (V2SImode));
12541 : #undef DONE
12542 : #undef FAIL
12543 : }
12544 : static const uint8_t expand_encoding[] = {
12545 : 0x01, 0x1f, 0x01, 0x00, 0x4b, 0x4a, 0x01, 0x01,
12546 : 0x01, 0x02
12547 : };
12548 : return complete_seq (expand_encoding, operands);
12549 : }
12550 :
12551 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:4650 */
12552 : extern rtx_insn *gen_split_1111 (rtx_insn *, rtx *);
12553 : rtx_insn *
12554 : gen_split_1111 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
12555 : {
12556 : if (dump_file)
12557 : fprintf (dump_file, "Splitting with gen_split_1111 (mmx.md:4650)\n");
12558 : start_sequence ();
12559 : #define FAIL return (end_sequence (), nullptr)
12560 : #define DONE return end_sequence ()
12561 : #line 4661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12562 : {
12563 : operands[2] = lowpart_subreg (SImode, operands[2], V4QImode);
12564 : operands[1] = lowpart_subreg (SImode, operands[1], V4QImode);
12565 : operands[0] = lowpart_subreg (SImode, operands[0], V4QImode);
12566 : }
12567 : #undef DONE
12568 : #undef FAIL
12569 : static const uint8_t expand_encoding[] = {
12570 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x49,
12571 : 0x11, 0x4c, 0x11, 0x01, 0x01, 0x01, 0x02, 0x05,
12572 : 0x02, 0x11
12573 : };
12574 : return complete_seq (expand_encoding, operands);
12575 : }
12576 :
12577 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:4701 */
12578 : rtx
12579 : gen_mmx_iorv8qi3 (const rtx operand0, const rtx operand1, const rtx operand2)
12580 : {
12581 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
12582 : start_sequence ();
12583 : {
12584 : #define FAIL return (end_sequence (), nullptr)
12585 : #define DONE return end_sequence ()
12586 : #line 4707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12587 : ix86_fixup_binary_operands_no_copy (IOR, V8QImode, operands);
12588 : #undef DONE
12589 : #undef FAIL
12590 : }
12591 : static const uint8_t expand_encoding[] = {
12592 : 0x01, 0x1f, 0x01, 0x00, 0x4a, 0x48, 0x01, 0x01,
12593 : 0x01, 0x02
12594 : };
12595 : return complete_seq (expand_encoding, operands);
12596 : }
12597 :
12598 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:4709 */
12599 : rtx
12600 : gen_xorv8qi3 (const rtx operand0, const rtx operand1, const rtx operand2)
12601 : {
12602 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
12603 : static const uint8_t expand_encoding[] = {
12604 : 0x1f, 0x01, 0x00, 0x4b, 0x48, 0x01, 0x01, 0x01,
12605 : 0x02
12606 : };
12607 : return expand_rtx (expand_encoding, operands);
12608 : }
12609 :
12610 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:4733 */
12611 : rtx
12612 : gen_andv2qi3 (const rtx operand0, const rtx operand1, const rtx operand2)
12613 : {
12614 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
12615 : start_sequence ();
12616 : {
12617 : #define FAIL return (end_sequence (), nullptr)
12618 : #define DONE return end_sequence ()
12619 : #line 4739 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12620 : ix86_expand_binary_operator (AND, V2QImode, operands); DONE;
12621 : #undef DONE
12622 : #undef FAIL
12623 : }
12624 : static const uint8_t expand_encoding[] = {
12625 : 0x01, 0x1f, 0x01, 0x00, 0x49, 0x44, 0x01, 0x01,
12626 : 0x01, 0x02
12627 : };
12628 : return complete_seq (expand_encoding, operands);
12629 : }
12630 :
12631 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:4753 */
12632 : extern rtx_insn *gen_split_1124 (rtx_insn *, rtx *);
12633 : rtx_insn *
12634 : gen_split_1124 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
12635 : {
12636 : if (dump_file)
12637 : fprintf (dump_file, "Splitting with gen_split_1124 (mmx.md:4753)\n");
12638 : start_sequence ();
12639 : #define FAIL return (end_sequence (), nullptr)
12640 : #define DONE return end_sequence ()
12641 : #line 4764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12642 : {
12643 : if (!register_operand (operands[2], V2QImode))
12644 : {
12645 : HOST_WIDE_INT val = ix86_convert_const_vector_to_integer (operands[2],
12646 : V2QImode);
12647 : operands[2] = GEN_INT (val);
12648 : }
12649 : else
12650 : operands[2] = lowpart_subreg (HImode, operands[2], V2QImode);
12651 : operands[1] = lowpart_subreg (HImode, operands[1], V2QImode);
12652 : operands[0] = lowpart_subreg (HImode, operands[0], V2QImode);
12653 : }
12654 : #undef DONE
12655 : #undef FAIL
12656 : static const uint8_t expand_encoding[] = {
12657 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x4a,
12658 : 0x10, 0x01, 0x01, 0x01, 0x02, 0x05, 0x02, 0x11
12659 : };
12660 : return complete_seq (expand_encoding, operands);
12661 : }
12662 :
12663 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:4777 */
12664 : extern rtx_insn *gen_split_1134 (rtx_insn *, rtx *);
12665 : rtx_insn *
12666 : gen_split_1134 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
12667 : {
12668 : if (dump_file)
12669 : fprintf (dump_file, "Splitting with gen_split_1134 (mmx.md:4777)\n");
12670 : start_sequence ();
12671 : #define FAIL return (end_sequence (), nullptr)
12672 : #define DONE return end_sequence ()
12673 : #line 4786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12674 : {
12675 : operands[2] = lowpart_subreg (V16QImode, operands[2], V2QImode);
12676 : operands[1] = lowpart_subreg (V16QImode, operands[1], V2QImode);
12677 : operands[0] = lowpart_subreg (V16QImode, operands[0], V2QImode);
12678 : }
12679 : #undef DONE
12680 : #undef FAIL
12681 : static const uint8_t expand_encoding[] = {
12682 : 0x01, 0x1f, 0x01, 0x00, 0x4b, 0x4f, 0x01, 0x01,
12683 : 0x01, 0x02
12684 : };
12685 : return complete_seq (expand_encoding, operands);
12686 : }
12687 :
12688 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:4954 */
12689 : extern rtx_insn *gen_split_1146 (rtx_insn *, rtx *);
12690 : rtx_insn *
12691 : gen_split_1146 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
12692 : {
12693 : if (dump_file)
12694 : fprintf (dump_file, "Splitting with gen_split_1146 (mmx.md:4954)\n");
12695 : start_sequence ();
12696 : #define FAIL return (end_sequence (), nullptr)
12697 : #define DONE return end_sequence ()
12698 : #line 4970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12699 : ix86_split_mmx_punpck (operands, true); DONE;
12700 : #undef DONE
12701 : #undef FAIL
12702 : static const uint8_t expand_encoding[] = {
12703 : 0x01, 0x27, 0x00
12704 : };
12705 : return complete_seq (expand_encoding, operands);
12706 : }
12707 :
12708 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:5147 */
12709 : rtx
12710 : gen_extendv2qiv2hi2 (const rtx operand0, const rtx operand1)
12711 : {
12712 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
12713 : start_sequence ();
12714 : {
12715 : #define FAIL return (end_sequence (), nullptr)
12716 : #define DONE return end_sequence ()
12717 : #line 5152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12718 : {
12719 : if (!TARGET_SSE4_1)
12720 : {
12721 : ix86_expand_sse_extend (operands[0], operands[1], false);
12722 : DONE;
12723 : }
12724 :
12725 : rtx op1 = force_reg (V2QImode, operands[1]);
12726 : op1 = lowpart_subreg (V4QImode, op1, V2QImode);
12727 : emit_insn (gen_sse4_1_sign_extendv2qiv2hi2 (operands[0], op1));
12728 : DONE;
12729 : }
12730 : #undef DONE
12731 : #undef FAIL
12732 : }
12733 : static const uint8_t expand_encoding[] = {
12734 : 0x01, 0x1f, 0x01, 0x00, 0x6e, 0x46, 0x01, 0x01
12735 : };
12736 : return complete_seq (expand_encoding, operands);
12737 : }
12738 :
12739 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:5251 */
12740 : rtx
12741 : gen_vec_unpacks_hi_v8qi (const rtx operand0, const rtx operand1)
12742 : {
12743 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
12744 : start_sequence ();
12745 : {
12746 : #define FAIL return (end_sequence (), nullptr)
12747 : #define DONE return end_sequence ()
12748 : #line 5255 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12749 : ix86_expand_sse_unpack (operands[0], operands[1], false, true); DONE;
12750 : #undef DONE
12751 : #undef FAIL
12752 : }
12753 : static const uint8_t expand_encoding[] = {
12754 : 0x02, 0x01, 0x00, 0x01, 0x01
12755 : };
12756 : return complete_seq (expand_encoding, operands);
12757 : }
12758 :
12759 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:5269 */
12760 : rtx
12761 : gen_vec_unpacks_lo_v4qi (const rtx operand0, const rtx operand1)
12762 : {
12763 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
12764 : start_sequence ();
12765 : {
12766 : #define FAIL return (end_sequence (), nullptr)
12767 : #define DONE return end_sequence ()
12768 : #line 5273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12769 : ix86_expand_sse_unpack (operands[0], operands[1], false, false); DONE;
12770 : #undef DONE
12771 : #undef FAIL
12772 : }
12773 : static const uint8_t expand_encoding[] = {
12774 : 0x02, 0x01, 0x00, 0x01, 0x01
12775 : };
12776 : return complete_seq (expand_encoding, operands);
12777 : }
12778 :
12779 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:5772 */
12780 : extern rtx_insn *gen_split_1154 (rtx_insn *, rtx *);
12781 : rtx_insn *
12782 : gen_split_1154 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
12783 : {
12784 : if (dump_file)
12785 : fprintf (dump_file, "Splitting with gen_split_1154 (mmx.md:5772)\n");
12786 : start_sequence ();
12787 : #define FAIL return (end_sequence (), nullptr)
12788 : #define DONE return end_sequence ()
12789 : #line 5782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12790 : operands[1] = gen_lowpart (SImode, operands[1]);
12791 : #undef DONE
12792 : #undef FAIL
12793 : static const uint8_t expand_encoding[] = {
12794 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
12795 : };
12796 : return complete_seq (expand_encoding, operands);
12797 : }
12798 :
12799 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:5923 */
12800 : rtx
12801 : gen_vec_setv4hi (const rtx operand0, const rtx operand1, const rtx operand2)
12802 : {
12803 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
12804 : start_sequence ();
12805 : {
12806 : #define FAIL _Pragma ("GCC error \"vec_setv4hi cannot FAIL\"") (void)0
12807 : #define DONE return end_sequence ()
12808 : #line 5928 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12809 : {
12810 : if (CONST_INT_P (operands[2]))
12811 : ix86_expand_vector_set (TARGET_MMX_WITH_SSE, operands[0], operands[1],
12812 : INTVAL (operands[2]));
12813 : else
12814 : ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
12815 : DONE;
12816 : }
12817 : #undef DONE
12818 : #undef FAIL
12819 : }
12820 : static const uint8_t expand_encoding[] = {
12821 : 0x03, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02
12822 : };
12823 : return complete_seq (expand_encoding, operands);
12824 : }
12825 :
12826 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:6210 */
12827 : rtx
12828 : gen_vec_extractv2hfhf (const rtx operand0, const rtx operand1, const rtx operand2)
12829 : {
12830 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
12831 : start_sequence ();
12832 : {
12833 : #define FAIL _Pragma ("GCC error \"vec_extractv2hfhf cannot FAIL\"") (void)0
12834 : #define DONE return end_sequence ()
12835 : #line 6215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12836 : {
12837 : ix86_expand_vector_extract (false, operands[0],
12838 : operands[1], INTVAL (operands[2]));
12839 : DONE;
12840 : }
12841 : #undef DONE
12842 : #undef FAIL
12843 : }
12844 : static const uint8_t expand_encoding[] = {
12845 : 0x03, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02
12846 : };
12847 : return complete_seq (expand_encoding, operands);
12848 : }
12849 :
12850 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:6246 */
12851 : extern rtx_insn *gen_split_1163 (rtx_insn *, rtx *);
12852 : rtx_insn *
12853 : gen_split_1163 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
12854 : {
12855 : if (dump_file)
12856 : fprintf (dump_file, "Splitting with gen_split_1163 (mmx.md:6246)\n");
12857 : start_sequence ();
12858 : #define FAIL return (end_sequence (), nullptr)
12859 : #define DONE return end_sequence ()
12860 : #line 6264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12861 : {
12862 : rtx dest = lowpart_subreg (V8HImode, operands[0], V2HImode);
12863 : rtx op1 = lowpart_subreg (V8HImode, operands[1], V2HImode);
12864 : rtx op2 = lowpart_subreg (V8HImode, operands[2], V2HImode);
12865 :
12866 : emit_insn (gen_vec_interleave_lowv8hi (dest, op1, op2));
12867 :
12868 : static const int map[4] = { 0, 2, 1, 3 };
12869 :
12870 : int sel0 = map[INTVAL (operands[3])];
12871 : int sel1 = map[INTVAL (operands[4])];
12872 :
12873 : if (sel0 == 0 && sel1 == 1)
12874 : DONE;
12875 :
12876 : operands[3] = GEN_INT (sel0);
12877 : operands[4] = GEN_INT (sel1);
12878 : operands[5] = dest;
12879 : }
12880 : #undef DONE
12881 : #undef FAIL
12882 : static const uint8_t expand_encoding[] = {
12883 : 0x01, 0x1f, 0x01, 0x05, 0x81, 0x0a, 0x50, 0x01,
12884 : 0x05, 0x17, 0x00, 0x08, 0x01, 0x03, 0x01, 0x04,
12885 : 0x27, 0x02, 0x27, 0x03, 0x27, 0x04, 0x27, 0x05,
12886 : 0x27, 0x06, 0x27, 0x07
12887 : };
12888 : return complete_seq (expand_encoding, operands);
12889 : }
12890 :
12891 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:6546 */
12892 : rtx
12893 : gen_reduc_xor_scal_v4hi (const rtx operand0, const rtx operand1)
12894 : {
12895 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
12896 : start_sequence ();
12897 : {
12898 : #define FAIL _Pragma ("GCC error \"reduc_xor_scal_v4hi cannot FAIL\"") (void)0
12899 : #define DONE return end_sequence ()
12900 : #line 6551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12901 : {
12902 : rtx tmp = gen_reg_rtx (V4HImode);
12903 : ix86_expand_reduc (gen_xorv4hi3, tmp, operands[1]);
12904 : emit_insn (gen_vec_extractv4hihi (operands[0],
12905 : tmp, const0_rtx));
12906 : DONE;
12907 : }
12908 : #undef DONE
12909 : #undef FAIL
12910 : }
12911 : static const uint8_t expand_encoding[] = {
12912 : 0x01, 0x4b, 0x49, 0x01, 0x00, 0x01, 0x01
12913 : };
12914 : return complete_seq (expand_encoding, operands);
12915 : }
12916 :
12917 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:6622 */
12918 : rtx
12919 : gen_reduc_umax_scal_v4hi (const rtx operand0, const rtx operand1)
12920 : {
12921 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
12922 : start_sequence ();
12923 : {
12924 : #define FAIL return (end_sequence (), nullptr)
12925 : #define DONE return end_sequence ()
12926 : #line 6627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12927 : {
12928 : rtx tmp = gen_reg_rtx (V4HImode);
12929 : ix86_expand_reduc (gen_umaxv4hi3, tmp, operands[1]);
12930 : emit_insn (gen_vec_extractv4hihi (operands[0], tmp, const0_rtx));
12931 : DONE;
12932 : }
12933 : #undef DONE
12934 : #undef FAIL
12935 : }
12936 : static const uint8_t expand_encoding[] = {
12937 : 0x01, 0x55, 0x49, 0x01, 0x00, 0x01, 0x01
12938 : };
12939 : return complete_seq (expand_encoding, operands);
12940 : }
12941 :
12942 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md:6835 */
12943 : rtx
12944 : gen_udot_prodv2siv4hi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
12945 : {
12946 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
12947 : start_sequence ();
12948 : {
12949 : #define FAIL return (end_sequence (), nullptr)
12950 : #define DONE return end_sequence ()
12951 : #line 6841 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
12952 : {
12953 : operands[1] = force_reg (V4HImode, operands[1]);
12954 : operands[2] = force_reg (V4HImode, operands[2]);
12955 : operands[3] = force_reg (V2SImode, operands[3]);
12956 :
12957 : rtx op1 = lowpart_subreg (V8HImode, operands[1], V4HImode);
12958 : rtx op2 = lowpart_subreg (V8HImode, operands[2], V4HImode);
12959 : rtx op3 = lowpart_subreg (V4SImode, operands[3], V2SImode);
12960 : rtx op0 = gen_reg_rtx (V4SImode);
12961 :
12962 : emit_insn (gen_udot_prodv4siv8hi (op0, op1, op2, op3));
12963 : emit_move_insn (operands[0], lowpart_subreg (V2SImode, op0, V4SImode));
12964 : DONE;
12965 : }
12966 : #undef DONE
12967 : #undef FAIL
12968 : }
12969 : static const uint8_t expand_encoding[] = {
12970 : 0x04, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
12971 : 0x03
12972 : };
12973 : return complete_seq (expand_encoding, operands);
12974 : }
12975 :
12976 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:1477 */
12977 : rtx
12978 : gen_movv16hi (const rtx operand0, const rtx operand1)
12979 : {
12980 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
12981 : start_sequence ();
12982 : {
12983 : #define FAIL return (end_sequence (), nullptr)
12984 : #define DONE return end_sequence ()
12985 : #line 1481 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12986 : {
12987 : ix86_expand_vector_move (V16HImode, operands);
12988 : DONE;
12989 : }
12990 : #undef DONE
12991 : #undef FAIL
12992 : }
12993 : static const uint8_t expand_encoding[] = {
12994 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
12995 : };
12996 : return complete_seq (expand_encoding, operands);
12997 : }
12998 :
12999 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:1477 */
13000 : rtx
13001 : gen_movv4ti (const rtx operand0, const rtx operand1)
13002 : {
13003 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
13004 : start_sequence ();
13005 : {
13006 : #define FAIL return (end_sequence (), nullptr)
13007 : #define DONE return end_sequence ()
13008 : #line 1481 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13009 : {
13010 : ix86_expand_vector_move (V4TImode, operands);
13011 : DONE;
13012 : }
13013 : #undef DONE
13014 : #undef FAIL
13015 : }
13016 : static const uint8_t expand_encoding[] = {
13017 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
13018 : };
13019 : return complete_seq (expand_encoding, operands);
13020 : }
13021 :
13022 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:1477 */
13023 : rtx
13024 : gen_movv8sf (const rtx operand0, const rtx operand1)
13025 : {
13026 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
13027 : start_sequence ();
13028 : {
13029 : #define FAIL return (end_sequence (), nullptr)
13030 : #define DONE return end_sequence ()
13031 : #line 1481 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13032 : {
13033 : ix86_expand_vector_move (V8SFmode, operands);
13034 : DONE;
13035 : }
13036 : #undef DONE
13037 : #undef FAIL
13038 : }
13039 : static const uint8_t expand_encoding[] = {
13040 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
13041 : };
13042 : return complete_seq (expand_encoding, operands);
13043 : }
13044 :
13045 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:1539 */
13046 : extern rtx_insn *gen_split_1170 (rtx_insn *, rtx *);
13047 : rtx_insn *
13048 : gen_split_1170 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
13049 : {
13050 : if (dump_file)
13051 : fprintf (dump_file, "Splitting with gen_split_1170 (sse.md:1539)\n");
13052 : start_sequence ();
13053 : #define FAIL return (end_sequence (), nullptr)
13054 : #define DONE return end_sequence ()
13055 : #line 1549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13056 : operands[2] = CONST0_RTX (V8HImode);
13057 : #undef DONE
13058 : #undef FAIL
13059 : static const uint8_t expand_encoding[] = {
13060 : 0x02, 0x1f, 0x01, 0x00, 0x01, 0x02, 0x17, 0x00,
13061 : 0x02, 0x1f, 0x01, 0x00, 0x01, 0x01, 0x1a, 0x00,
13062 : 0x01, 0x01, 0x00, 0x27
13063 : };
13064 : return complete_seq (expand_encoding, operands);
13065 : }
13066 :
13067 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:1539 */
13068 : extern rtx_insn *gen_split_1180 (rtx_insn *, rtx *);
13069 : rtx_insn *
13070 : gen_split_1180 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
13071 : {
13072 : if (dump_file)
13073 : fprintf (dump_file, "Splitting with gen_split_1180 (sse.md:1539)\n");
13074 : start_sequence ();
13075 : #define FAIL return (end_sequence (), nullptr)
13076 : #define DONE return end_sequence ()
13077 : #line 1549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13078 : operands[2] = CONST0_RTX (V32HFmode);
13079 : #undef DONE
13080 : #undef FAIL
13081 : static const uint8_t expand_encoding[] = {
13082 : 0x02, 0x1f, 0x01, 0x00, 0x01, 0x02, 0x17, 0x00,
13083 : 0x02, 0x1f, 0x01, 0x00, 0x01, 0x01, 0x1a, 0x00,
13084 : 0x01, 0x01, 0x00, 0x27
13085 : };
13086 : return complete_seq (expand_encoding, operands);
13087 : }
13088 :
13089 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:1539 */
13090 : extern rtx_insn *gen_split_1190 (rtx_insn *, rtx *);
13091 : rtx_insn *
13092 : gen_split_1190 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
13093 : {
13094 : if (dump_file)
13095 : fprintf (dump_file, "Splitting with gen_split_1190 (sse.md:1539)\n");
13096 : start_sequence ();
13097 : #define FAIL return (end_sequence (), nullptr)
13098 : #define DONE return end_sequence ()
13099 : #line 1549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13100 : operands[2] = CONST0_RTX (V4DFmode);
13101 : #undef DONE
13102 : #undef FAIL
13103 : static const uint8_t expand_encoding[] = {
13104 : 0x02, 0x1f, 0x01, 0x00, 0x01, 0x02, 0x17, 0x00,
13105 : 0x02, 0x1f, 0x01, 0x00, 0x01, 0x01, 0x1a, 0x00,
13106 : 0x01, 0x01, 0x00, 0x27
13107 : };
13108 : return complete_seq (expand_encoding, operands);
13109 : }
13110 :
13111 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:1568 */
13112 : rtx
13113 : gen_avx512vl_loadv4sf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
13114 : {
13115 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
13116 : start_sequence ();
13117 : {
13118 : #define FAIL return (end_sequence (), nullptr)
13119 : #define DONE return end_sequence ()
13120 : #line 1575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13121 : {
13122 : if (CONST_INT_P (operands[3]))
13123 : {
13124 : emit_insn (gen_rtx_SET (operands[0], operands[1]));
13125 : DONE;
13126 : }
13127 : else if (MEM_P (operands[1]))
13128 : operands[1] = gen_rtx_UNSPEC (V4SFmode,
13129 : gen_rtvec(1, operands[1]),
13130 : UNSPEC_MASKLOAD);
13131 : }
13132 : #undef DONE
13133 : #undef FAIL
13134 : }
13135 : static const uint8_t expand_encoding[] = {
13136 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6b, 0x01,
13137 : 0x01, 0x01, 0x02, 0x01, 0x03
13138 : };
13139 : return complete_seq (expand_encoding, operands);
13140 : }
13141 :
13142 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:1616 */
13143 : extern rtx_insn *gen_split_1199 (rtx_insn *, rtx *);
13144 : rtx_insn *
13145 : gen_split_1199 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
13146 : {
13147 : if (dump_file)
13148 : fprintf (dump_file, "Splitting with gen_split_1199 (sse.md:1616)\n");
13149 : start_sequence ();
13150 : static const uint8_t expand_encoding[] = {
13151 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
13152 : };
13153 : return complete_seq (expand_encoding, operands);
13154 : }
13155 :
13156 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:1645 */
13157 : extern rtx_insn *gen_split_1209 (rtx_insn *, rtx *);
13158 : rtx_insn *
13159 : gen_split_1209 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
13160 : {
13161 : if (dump_file)
13162 : fprintf (dump_file, "Splitting with gen_split_1209 (sse.md:1645)\n");
13163 : start_sequence ();
13164 : static const uint8_t expand_encoding[] = {
13165 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x52, 0x1a,
13166 : 0x52, 0x01, 0x01, 0x01, 0x81, 0x32, 0x01, 0x02,
13167 : 0x01, 0x03
13168 : };
13169 : return complete_seq (expand_encoding, operands);
13170 : }
13171 :
13172 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:1698 */
13173 : extern rtx_insn *gen_split_1213 (rtx_insn *, rtx *);
13174 : rtx_insn *
13175 : gen_split_1213 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
13176 : {
13177 : if (dump_file)
13178 : fprintf (dump_file, "Splitting with gen_split_1213 (sse.md:1698)\n");
13179 : start_sequence ();
13180 : static const uint8_t expand_encoding[] = {
13181 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
13182 : };
13183 : return complete_seq (expand_encoding, operands);
13184 : }
13185 :
13186 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:1698 */
13187 : extern rtx_insn *gen_split_1218 (rtx_insn *, rtx *);
13188 : rtx_insn *
13189 : gen_split_1218 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
13190 : {
13191 : if (dump_file)
13192 : fprintf (dump_file, "Splitting with gen_split_1218 (sse.md:1698)\n");
13193 : start_sequence ();
13194 : static const uint8_t expand_encoding[] = {
13195 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
13196 : };
13197 : return complete_seq (expand_encoding, operands);
13198 : }
13199 :
13200 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:1955 */
13201 : extern rtx_insn *gen_split_1224 (rtx_insn *, rtx *);
13202 : rtx_insn *
13203 : gen_split_1224 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
13204 : {
13205 : if (dump_file)
13206 : fprintf (dump_file, "Splitting with gen_split_1224 (sse.md:1955)\n");
13207 : start_sequence ();
13208 : #define FAIL return (end_sequence (), nullptr)
13209 : #define DONE return end_sequence ()
13210 : #line 1960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13211 : {
13212 : operands[1] = gen_lowpart (DFmode, operands[1]);
13213 : operands[2] = CONST0_RTX (DFmode);
13214 : }
13215 : #undef DONE
13216 : #undef FAIL
13217 : static const uint8_t expand_encoding[] = {
13218 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x6c, 0x01,
13219 : 0x01, 0x01, 0x02
13220 : };
13221 : return complete_seq (expand_encoding, operands);
13222 : }
13223 :
13224 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:1965 */
13225 : rtx
13226 : gen_movmisalignv4di (const rtx operand0, const rtx operand1)
13227 : {
13228 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
13229 : start_sequence ();
13230 : {
13231 : #define FAIL return (end_sequence (), nullptr)
13232 : #define DONE return end_sequence ()
13233 : #line 1969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13234 : {
13235 : ix86_expand_vector_move_misalign (V4DImode, operands);
13236 : DONE;
13237 : }
13238 : #undef DONE
13239 : #undef FAIL
13240 : }
13241 : static const uint8_t expand_encoding[] = {
13242 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
13243 : };
13244 : return complete_seq (expand_encoding, operands);
13245 : }
13246 :
13247 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:1965 */
13248 : rtx
13249 : gen_movmisalignv16bf (const rtx operand0, const rtx operand1)
13250 : {
13251 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
13252 : start_sequence ();
13253 : {
13254 : #define FAIL return (end_sequence (), nullptr)
13255 : #define DONE return end_sequence ()
13256 : #line 1969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13257 : {
13258 : ix86_expand_vector_move_misalign (V16BFmode, operands);
13259 : DONE;
13260 : }
13261 : #undef DONE
13262 : #undef FAIL
13263 : }
13264 : static const uint8_t expand_encoding[] = {
13265 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
13266 : };
13267 : return complete_seq (expand_encoding, operands);
13268 : }
13269 :
13270 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2001 */
13271 : extern rtx_insn *gen_peephole2_434 (rtx_insn *, rtx *);
13272 : rtx_insn *
13273 : gen_peephole2_434 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
13274 : {
13275 : if (dump_file)
13276 : fprintf (dump_file, "Splitting with gen_peephole2_434 (sse.md:2001)\n");
13277 : start_sequence ();
13278 : #define FAIL return (end_sequence (), nullptr)
13279 : #define DONE return end_sequence ()
13280 : #line 2011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13281 : operands[4] = adjust_address (operands[0], V2DFmode, 0);
13282 : #undef DONE
13283 : #undef FAIL
13284 : static const uint8_t expand_encoding[] = {
13285 : 0x01, 0x1f, 0x01, 0x04, 0x01, 0x01
13286 : };
13287 : return complete_seq (expand_encoding, operands);
13288 : }
13289 :
13290 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2087 */
13291 : rtx
13292 : gen_storentv2df (const rtx operand0, const rtx operand1)
13293 : {
13294 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
13295 : static const uint8_t expand_encoding[] = {
13296 : 0x1f, 0x01, 0x00, 0x1a, 0x6c, 0x01, 0x01, 0x01,
13297 : 0x76
13298 : };
13299 : return expand_rtx (expand_encoding, operands);
13300 : }
13301 :
13302 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2142 */
13303 : extern rtx_insn *gen_split_1231 (rtx_insn *, rtx *);
13304 : rtx_insn *
13305 : gen_split_1231 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
13306 : {
13307 : if (dump_file)
13308 : fprintf (dump_file, "Splitting with gen_split_1231 (sse.md:2142)\n");
13309 : start_sequence ();
13310 : static const uint8_t expand_encoding[] = {
13311 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x49,
13312 : 0x11, 0x01, 0x01, 0x01, 0x02, 0x1a, 0x00, 0x01,
13313 : 0x27, 0x00, 0x81, 0x2f
13314 : };
13315 : return complete_seq (expand_encoding, operands);
13316 : }
13317 :
13318 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2153 */
13319 : extern rtx_insn *gen_split_1241 (rtx_insn *, rtx *);
13320 : rtx_insn *
13321 : gen_split_1241 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
13322 : {
13323 : if (dump_file)
13324 : fprintf (dump_file, "Splitting with gen_split_1241 (sse.md:2153)\n");
13325 : start_sequence ();
13326 : static const uint8_t expand_encoding[] = {
13327 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x4a,
13328 : 0x10, 0x01, 0x01, 0x01, 0x02, 0x1a, 0x00, 0x01,
13329 : 0x27, 0x00, 0x81, 0x2f
13330 : };
13331 : return complete_seq (expand_encoding, operands);
13332 : }
13333 :
13334 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2188 */
13335 : extern rtx_insn *gen_split_1251 (rtx_insn *, rtx *);
13336 : rtx_insn *
13337 : gen_split_1251 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
13338 : {
13339 : if (dump_file)
13340 : fprintf (dump_file, "Splitting with gen_split_1251 (sse.md:2188)\n");
13341 : start_sequence ();
13342 : static const uint8_t expand_encoding[] = {
13343 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x49,
13344 : 0x11, 0x4c, 0x11, 0x01, 0x01, 0x01, 0x02, 0x1a,
13345 : 0x00, 0x01, 0x27, 0x00, 0x81, 0x2f
13346 : };
13347 : return complete_seq (expand_encoding, operands);
13348 : }
13349 :
13350 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2306 */
13351 : extern rtx_insn *gen_split_1261 (rtx_insn *, rtx *);
13352 : rtx_insn *
13353 : gen_split_1261 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
13354 : {
13355 : if (dump_file)
13356 : fprintf (dump_file, "Splitting with gen_split_1261 (sse.md:2306)\n");
13357 : start_sequence ();
13358 : static const uint8_t expand_encoding[] = {
13359 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x50,
13360 : 0x10, 0x01, 0x01, 0x01, 0x02, 0x1a, 0x00, 0x01,
13361 : 0x27, 0x00, 0x81, 0x2f
13362 : };
13363 : return complete_seq (expand_encoding, operands);
13364 : }
13365 :
13366 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2319 */
13367 : extern rtx_insn *gen_split_1271 (rtx_insn *, rtx *);
13368 : rtx_insn *
13369 : gen_split_1271 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
13370 : {
13371 : if (dump_file)
13372 : fprintf (dump_file, "Splitting with gen_split_1271 (sse.md:2319)\n");
13373 : start_sequence ();
13374 : static const uint8_t expand_encoding[] = {
13375 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x50,
13376 : 0x11, 0x01, 0x01, 0x01, 0x02, 0x1a, 0x00, 0x01,
13377 : 0x27, 0x00, 0x81, 0x2f
13378 : };
13379 : return complete_seq (expand_encoding, operands);
13380 : }
13381 :
13382 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2412 */
13383 : extern rtx_insn *gen_split_1277 (rtx_insn *, rtx *);
13384 : rtx_insn *
13385 : gen_split_1277 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
13386 : {
13387 : if (dump_file)
13388 : fprintf (dump_file, "Splitting with gen_split_1277 (sse.md:2412)\n");
13389 : start_sequence ();
13390 : #define FAIL return (end_sequence (), nullptr)
13391 : #define DONE return end_sequence ()
13392 : #line 2422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13393 : {
13394 : if (MASK_REGNO_P (REGNO (operands[2])))
13395 : {
13396 : emit_insn (gen_kortestsi_ccc (operands[2], operands[2]));
13397 : operands[4] = gen_rtx_REG (CCCmode, FLAGS_REG);
13398 : }
13399 : else
13400 : {
13401 : operands[4] = gen_rtx_REG (CCZmode, FLAGS_REG);
13402 : emit_insn (gen_rtx_SET (operands[4],
13403 : gen_rtx_COMPARE (CCZmode,
13404 : operands[2],
13405 : constm1_rtx)));
13406 : }
13407 : ix86_expand_setcc (operands[0],
13408 : GET_CODE (operands[1]),
13409 : operands[4],
13410 : const0_rtx);
13411 : DONE;
13412 : }
13413 : #undef DONE
13414 : #undef FAIL
13415 : static const uint8_t expand_encoding[] = {
13416 : 0x01, 0x27, 0x00
13417 : };
13418 : return complete_seq (expand_encoding, operands);
13419 : }
13420 :
13421 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2522 */
13422 : extern rtx_insn *gen_split_1287 (rtx_insn *, rtx *);
13423 : rtx_insn *
13424 : gen_split_1287 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
13425 : {
13426 : if (dump_file)
13427 : fprintf (dump_file, "Splitting with gen_split_1287 (sse.md:2522)\n");
13428 : start_sequence ();
13429 : #define FAIL return (end_sequence (), nullptr)
13430 : #define DONE return end_sequence ()
13431 : #line 2541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13432 : {
13433 : rtx flag_reg;
13434 : if (MASK_REGNO_P (REGNO (operands[4])))
13435 : {
13436 : emit_insn (gen_kortestqi_ccc (operands[4], operands[4]));
13437 : flag_reg = gen_rtx_REG (CCCmode, FLAGS_REG);
13438 : }
13439 : else
13440 : {
13441 : flag_reg = gen_rtx_REG (CCZmode, FLAGS_REG);
13442 : emit_insn (gen_rtx_SET (flag_reg,
13443 : gen_rtx_COMPARE (CCZmode,
13444 : operands[4],
13445 : constm1_rtx)));
13446 : }
13447 : operands[5] = gen_rtx_fmt_ee (GET_CODE (operands[1]), VOIDmode,
13448 : flag_reg,const0_rtx);
13449 : }
13450 : #undef DONE
13451 : #undef FAIL
13452 : static const uint8_t expand_encoding[] = {
13453 : 0x01, 0x1f, 0x01, 0x00, 0x39, 0x10, 0x01, 0x05,
13454 : 0x01, 0x02, 0x01, 0x03
13455 : };
13456 : return complete_seq (expand_encoding, operands);
13457 : }
13458 :
13459 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2522 */
13460 : extern rtx_insn *gen_split_1295 (rtx_insn *, rtx *);
13461 : rtx_insn *
13462 : gen_split_1295 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
13463 : {
13464 : if (dump_file)
13465 : fprintf (dump_file, "Splitting with gen_split_1295 (sse.md:2522)\n");
13466 : start_sequence ();
13467 : #define FAIL return (end_sequence (), nullptr)
13468 : #define DONE return end_sequence ()
13469 : #line 2541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13470 : {
13471 : rtx flag_reg;
13472 : if (MASK_REGNO_P (REGNO (operands[4])))
13473 : {
13474 : emit_insn (gen_kortestsi_ccc (operands[4], operands[4]));
13475 : flag_reg = gen_rtx_REG (CCCmode, FLAGS_REG);
13476 : }
13477 : else
13478 : {
13479 : flag_reg = gen_rtx_REG (CCZmode, FLAGS_REG);
13480 : emit_insn (gen_rtx_SET (flag_reg,
13481 : gen_rtx_COMPARE (CCZmode,
13482 : operands[4],
13483 : constm1_rtx)));
13484 : }
13485 : operands[5] = gen_rtx_fmt_ee (GET_CODE (operands[1]), VOIDmode,
13486 : flag_reg,const0_rtx);
13487 : }
13488 : #undef DONE
13489 : #undef FAIL
13490 : static const uint8_t expand_encoding[] = {
13491 : 0x01, 0x1f, 0x01, 0x00, 0x39, 0x12, 0x01, 0x05,
13492 : 0x01, 0x02, 0x01, 0x03
13493 : };
13494 : return complete_seq (expand_encoding, operands);
13495 : }
13496 :
13497 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2608 */
13498 : rtx
13499 : gen_absv16sf2 (const rtx operand0, const rtx operand1)
13500 : {
13501 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
13502 : start_sequence ();
13503 : {
13504 : #define FAIL return (end_sequence (), nullptr)
13505 : #define DONE return end_sequence ()
13506 : #line 2613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13507 : ix86_expand_fp_absneg_operator (ABS, V16SFmode, operands); DONE;
13508 : #undef DONE
13509 : #undef FAIL
13510 : }
13511 : static const uint8_t expand_encoding[] = {
13512 : 0x01, 0x1f, 0x01, 0x00, 0x7b, 0x74, 0x01, 0x01
13513 : };
13514 : return complete_seq (expand_encoding, operands);
13515 : }
13516 :
13517 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2608 */
13518 : rtx
13519 : gen_absv2df2 (const rtx operand0, const rtx operand1)
13520 : {
13521 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
13522 : start_sequence ();
13523 : {
13524 : #define FAIL return (end_sequence (), nullptr)
13525 : #define DONE return end_sequence ()
13526 : #line 2613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13527 : ix86_expand_fp_absneg_operator (ABS, V2DFmode, operands); DONE;
13528 : #undef DONE
13529 : #undef FAIL
13530 : }
13531 : static const uint8_t expand_encoding[] = {
13532 : 0x01, 0x1f, 0x01, 0x00, 0x7b, 0x6c, 0x01, 0x01
13533 : };
13534 : return complete_seq (expand_encoding, operands);
13535 : }
13536 :
13537 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2615 */
13538 : extern rtx_insn *gen_split_1307 (rtx_insn *, rtx *);
13539 : rtx_insn *
13540 : gen_split_1307 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
13541 : {
13542 : if (dump_file)
13543 : fprintf (dump_file, "Splitting with gen_split_1307 (sse.md:2615)\n");
13544 : start_sequence ();
13545 : #define FAIL return (end_sequence (), nullptr)
13546 : #define DONE return end_sequence ()
13547 : #line 2625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13548 : {
13549 : if (TARGET_AVX)
13550 : {
13551 : if (MEM_P (operands[1]))
13552 : std::swap (operands[1], operands[2]);
13553 : }
13554 : else
13555 : {
13556 : if (operands_match_p (operands[0], operands[2]))
13557 : std::swap (operands[1], operands[2]);
13558 : }
13559 : }
13560 : #undef DONE
13561 : #undef FAIL
13562 : static const uint8_t expand_encoding[] = {
13563 : 0x01, 0x1f, 0x01, 0x00, 0x49, 0x6e, 0x01, 0x01,
13564 : 0x01, 0x02
13565 : };
13566 : return complete_seq (expand_encoding, operands);
13567 : }
13568 :
13569 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2615 */
13570 : extern rtx_insn *gen_split_1317 (rtx_insn *, rtx *);
13571 : rtx_insn *
13572 : gen_split_1317 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
13573 : {
13574 : if (dump_file)
13575 : fprintf (dump_file, "Splitting with gen_split_1317 (sse.md:2615)\n");
13576 : start_sequence ();
13577 : #define FAIL return (end_sequence (), nullptr)
13578 : #define DONE return end_sequence ()
13579 : #line 2625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13580 : {
13581 : if (TARGET_AVX)
13582 : {
13583 : if (MEM_P (operands[1]))
13584 : std::swap (operands[1], operands[2]);
13585 : }
13586 : else
13587 : {
13588 : if (operands_match_p (operands[0], operands[2]))
13589 : std::swap (operands[1], operands[2]);
13590 : }
13591 : }
13592 : #undef DONE
13593 : #undef FAIL
13594 : static const uint8_t expand_encoding[] = {
13595 : 0x01, 0x1f, 0x01, 0x00, 0x49, 0x75, 0x01, 0x01,
13596 : 0x01, 0x02
13597 : };
13598 : return complete_seq (expand_encoding, operands);
13599 : }
13600 :
13601 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2639 */
13602 : extern rtx_insn *gen_split_1327 (rtx_insn *, rtx *);
13603 : rtx_insn *
13604 : gen_split_1327 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
13605 : {
13606 : if (dump_file)
13607 : fprintf (dump_file, "Splitting with gen_split_1327 (sse.md:2639)\n");
13608 : start_sequence ();
13609 : #define FAIL return (end_sequence (), nullptr)
13610 : #define DONE return end_sequence ()
13611 : #line 2650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13612 : {
13613 : if (TARGET_AVX)
13614 : {
13615 : if (MEM_P (operands[1]))
13616 : std::swap (operands[1], operands[2]);
13617 : }
13618 : else
13619 : {
13620 : if (operands_match_p (operands[0], operands[2]))
13621 : std::swap (operands[1], operands[2]);
13622 : }
13623 : }
13624 : #undef DONE
13625 : #undef FAIL
13626 : static const uint8_t expand_encoding[] = {
13627 : 0x01, 0x1f, 0x01, 0x00, 0x4a, 0x70, 0x01, 0x01,
13628 : 0x01, 0x02
13629 : };
13630 : return complete_seq (expand_encoding, operands);
13631 : }
13632 :
13633 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2664 */
13634 : rtx
13635 : gen_cond_addv8sf (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
13636 : {
13637 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
13638 : start_sequence ();
13639 : {
13640 : #define FAIL _Pragma ("GCC error \"cond_addv8sf cannot FAIL\"") (void)0
13641 : #define DONE return end_sequence ()
13642 : #line 2673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13643 : {
13644 : emit_insn (gen_addv8sf3_mask (operands[0],
13645 : operands[2],
13646 : operands[3],
13647 : operands[4],
13648 : operands[1]));
13649 : DONE;
13650 : }
13651 : #undef DONE
13652 : #undef FAIL
13653 : }
13654 : static const uint8_t expand_encoding[] = {
13655 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6f, 0x3b,
13656 : 0x6f, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01,
13657 : 0x01
13658 : };
13659 : return complete_seq (expand_encoding, operands);
13660 : }
13661 :
13662 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2682 */
13663 : rtx
13664 : gen_addv32hf3 (const rtx operand0, const rtx operand1, const rtx operand2)
13665 : {
13666 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
13667 : start_sequence ();
13668 : {
13669 : #define FAIL return (end_sequence (), nullptr)
13670 : #define DONE return end_sequence ()
13671 : #line 2688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13672 : ix86_fixup_binary_operands_no_copy (PLUS, V32HFmode, operands);
13673 : #undef DONE
13674 : #undef FAIL
13675 : }
13676 : static const uint8_t expand_encoding[] = {
13677 : 0x01, 0x1f, 0x01, 0x00, 0x3b, 0x73, 0x01, 0x01,
13678 : 0x01, 0x02
13679 : };
13680 : return complete_seq (expand_encoding, operands);
13681 : }
13682 :
13683 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2682 */
13684 : rtx
13685 : gen_addv16hf3 (const rtx operand0, const rtx operand1, const rtx operand2)
13686 : {
13687 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
13688 : start_sequence ();
13689 : {
13690 : #define FAIL return (end_sequence (), nullptr)
13691 : #define DONE return end_sequence ()
13692 : #line 2688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13693 : ix86_fixup_binary_operands_no_copy (PLUS, V16HFmode, operands);
13694 : #undef DONE
13695 : #undef FAIL
13696 : }
13697 : static const uint8_t expand_encoding[] = {
13698 : 0x01, 0x1f, 0x01, 0x00, 0x3b, 0x6e, 0x01, 0x01,
13699 : 0x01, 0x02
13700 : };
13701 : return complete_seq (expand_encoding, operands);
13702 : }
13703 :
13704 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2682 */
13705 : rtx
13706 : gen_addv16sf3_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
13707 : {
13708 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
13709 : start_sequence ();
13710 : {
13711 : #define FAIL return (end_sequence (), nullptr)
13712 : #define DONE return end_sequence ()
13713 : #line 2688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13714 : ix86_fixup_binary_operands_no_copy (PLUS, V16SFmode, operands);
13715 : #undef DONE
13716 : #undef FAIL
13717 : }
13718 : static const uint8_t expand_encoding[] = {
13719 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x74, 0x02, 0x3b,
13720 : 0x74, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
13721 : 0x33
13722 : };
13723 : return complete_seq (expand_encoding, operands);
13724 : }
13725 :
13726 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2682 */
13727 : rtx
13728 : gen_subv8sf3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
13729 : {
13730 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
13731 : start_sequence ();
13732 : {
13733 : #define FAIL return (end_sequence (), nullptr)
13734 : #define DONE return end_sequence ()
13735 : #line 2688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13736 : ix86_fixup_binary_operands_no_copy (MINUS, V8SFmode, operands);
13737 : #undef DONE
13738 : #undef FAIL
13739 : }
13740 : static const uint8_t expand_encoding[] = {
13741 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6f, 0x3c,
13742 : 0x6f, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01,
13743 : 0x04
13744 : };
13745 : return complete_seq (expand_encoding, operands);
13746 : }
13747 :
13748 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2682 */
13749 : rtx
13750 : gen_subv8df3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
13751 : {
13752 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
13753 : start_sequence ();
13754 : {
13755 : #define FAIL return (end_sequence (), nullptr)
13756 : #define DONE return end_sequence ()
13757 : #line 2688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13758 : ix86_fixup_binary_operands_no_copy (MINUS, V8DFmode, operands);
13759 : #undef DONE
13760 : #undef FAIL
13761 : }
13762 : static const uint8_t expand_encoding[] = {
13763 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x75, 0x3c,
13764 : 0x75, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01,
13765 : 0x04
13766 : };
13767 : return complete_seq (expand_encoding, operands);
13768 : }
13769 :
13770 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2682 */
13771 : rtx
13772 : gen_addv32bf3 (const rtx operand0, const rtx operand1, const rtx operand2)
13773 : {
13774 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
13775 : start_sequence ();
13776 : {
13777 : #define FAIL return (end_sequence (), nullptr)
13778 : #define DONE return end_sequence ()
13779 : #line 2688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13780 : ix86_fixup_binary_operands_no_copy (PLUS, V32BFmode, operands);
13781 : #undef DONE
13782 : #undef FAIL
13783 : }
13784 : static const uint8_t expand_encoding[] = {
13785 : 0x01, 0x1f, 0x01, 0x00, 0x3b, 0x72, 0x01, 0x01,
13786 : 0x01, 0x02
13787 : };
13788 : return complete_seq (expand_encoding, operands);
13789 : }
13790 :
13791 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2682 */
13792 : rtx
13793 : gen_addv8bf3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
13794 : {
13795 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
13796 : start_sequence ();
13797 : {
13798 : #define FAIL return (end_sequence (), nullptr)
13799 : #define DONE return end_sequence ()
13800 : #line 2688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13801 : ix86_fixup_binary_operands_no_copy (PLUS, V8BFmode, operands);
13802 : #undef DONE
13803 : #undef FAIL
13804 : }
13805 : static const uint8_t expand_encoding[] = {
13806 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x69, 0x3b,
13807 : 0x69, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01,
13808 : 0x04
13809 : };
13810 : return complete_seq (expand_encoding, operands);
13811 : }
13812 :
13813 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2753 */
13814 : rtx
13815 : gen_cond_mulv2df (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
13816 : {
13817 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
13818 : start_sequence ();
13819 : {
13820 : #define FAIL _Pragma ("GCC error \"cond_mulv2df cannot FAIL\"") (void)0
13821 : #define DONE return end_sequence ()
13822 : #line 2762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13823 : {
13824 : emit_insn (gen_mulv2df3_mask (operands[0],
13825 : operands[2],
13826 : operands[3],
13827 : operands[4],
13828 : operands[1]));
13829 : DONE;
13830 : }
13831 : #undef DONE
13832 : #undef FAIL
13833 : }
13834 : static const uint8_t expand_encoding[] = {
13835 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6c, 0x3e,
13836 : 0x6c, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01,
13837 : 0x01
13838 : };
13839 : return complete_seq (expand_encoding, operands);
13840 : }
13841 :
13842 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2771 */
13843 : rtx
13844 : gen_mulv16sf3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
13845 : {
13846 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
13847 : start_sequence ();
13848 : {
13849 : #define FAIL return (end_sequence (), nullptr)
13850 : #define DONE return end_sequence ()
13851 : #line 2777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13852 : ix86_fixup_binary_operands_no_copy (MULT, V16SFmode, operands);
13853 : #undef DONE
13854 : #undef FAIL
13855 : }
13856 : static const uint8_t expand_encoding[] = {
13857 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x74, 0x3e,
13858 : 0x74, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01,
13859 : 0x04
13860 : };
13861 : return complete_seq (expand_encoding, operands);
13862 : }
13863 :
13864 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2771 */
13865 : rtx
13866 : gen_mulv4df3 (const rtx operand0, const rtx operand1, const rtx operand2)
13867 : {
13868 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
13869 : start_sequence ();
13870 : {
13871 : #define FAIL return (end_sequence (), nullptr)
13872 : #define DONE return end_sequence ()
13873 : #line 2777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13874 : ix86_fixup_binary_operands_no_copy (MULT, V4DFmode, operands);
13875 : #undef DONE
13876 : #undef FAIL
13877 : }
13878 : static const uint8_t expand_encoding[] = {
13879 : 0x01, 0x1f, 0x01, 0x00, 0x3e, 0x70, 0x01, 0x01,
13880 : 0x01, 0x02
13881 : };
13882 : return complete_seq (expand_encoding, operands);
13883 : }
13884 :
13885 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2771 */
13886 : rtx
13887 : gen_mulv8bf3 (const rtx operand0, const rtx operand1, const rtx operand2)
13888 : {
13889 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
13890 : start_sequence ();
13891 : {
13892 : #define FAIL return (end_sequence (), nullptr)
13893 : #define DONE return end_sequence ()
13894 : #line 2777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13895 : ix86_fixup_binary_operands_no_copy (MULT, V8BFmode, operands);
13896 : #undef DONE
13897 : #undef FAIL
13898 : }
13899 : static const uint8_t expand_encoding[] = {
13900 : 0x01, 0x1f, 0x01, 0x00, 0x3e, 0x69, 0x01, 0x01,
13901 : 0x01, 0x02
13902 : };
13903 : return complete_seq (expand_encoding, operands);
13904 : }
13905 :
13906 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2890 */
13907 : rtx
13908 : gen_divv32bf3 (const rtx operand0, const rtx operand1, const rtx operand2)
13909 : {
13910 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
13911 : start_sequence ();
13912 : {
13913 : #define FAIL return (end_sequence (), nullptr)
13914 : #define DONE return end_sequence ()
13915 : #line 2896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13916 : {
13917 : if (TARGET_RECIP_VEC_DIV
13918 : && optimize_insn_for_speed_p ()
13919 : && flag_finite_math_only
13920 : && flag_unsafe_math_optimizations)
13921 : {
13922 : rtx op = gen_reg_rtx (V32BFmode);
13923 : operands[2] = force_reg (V32BFmode, operands[2]);
13924 : emit_insn (gen_avx10_2_rcpbf16_v32bf (op, operands[2]));
13925 : emit_insn (gen_avx10_2_mulbf16_v32bf (operands[0], operands[1], op));
13926 : DONE;
13927 : }
13928 : }
13929 : #undef DONE
13930 : #undef FAIL
13931 : }
13932 : static const uint8_t expand_encoding[] = {
13933 : 0x01, 0x1f, 0x01, 0x00, 0x43, 0x72, 0x01, 0x01,
13934 : 0x01, 0x02
13935 : };
13936 : return complete_seq (expand_encoding, operands);
13937 : }
13938 :
13939 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:2910 */
13940 : rtx
13941 : gen_cond_divv4df (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
13942 : {
13943 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
13944 : start_sequence ();
13945 : {
13946 : #define FAIL _Pragma ("GCC error \"cond_divv4df cannot FAIL\"") (void)0
13947 : #define DONE return end_sequence ()
13948 : #line 2919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13949 : {
13950 : emit_insn (gen_avx_divv4df3_mask (operands[0],
13951 : operands[2],
13952 : operands[3],
13953 : operands[4],
13954 : operands[1]));
13955 : DONE;
13956 : }
13957 : #undef DONE
13958 : #undef FAIL
13959 : }
13960 : static const uint8_t expand_encoding[] = {
13961 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x70, 0x43,
13962 : 0x70, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01,
13963 : 0x01
13964 : };
13965 : return complete_seq (expand_encoding, operands);
13966 : }
13967 :
13968 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3156 */
13969 : rtx
13970 : gen_rsqrtv8sf2 (const rtx operand0, const rtx operand1)
13971 : {
13972 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
13973 : start_sequence ();
13974 : {
13975 : #define FAIL _Pragma ("GCC error \"rsqrtv8sf2 cannot FAIL\"") (void)0
13976 : #define DONE return end_sequence ()
13977 : #line 3162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13978 : {
13979 : ix86_emit_swsqrtsf (operands[0], operands[1], V8SFmode, true);
13980 : DONE;
13981 : }
13982 : #undef DONE
13983 : #undef FAIL
13984 : }
13985 : static const uint8_t expand_encoding[] = {
13986 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6f, 0x01, 0x01,
13987 : 0x01, 0x38
13988 : };
13989 : return complete_seq (expand_encoding, operands);
13990 : }
13991 :
13992 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3303 */
13993 : rtx
13994 : gen_cond_sminv8hf (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
13995 : {
13996 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
13997 : start_sequence ();
13998 : {
13999 : #define FAIL return (end_sequence (), nullptr)
14000 : #define DONE return end_sequence ()
14001 : #line 3312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14002 : {
14003 : emit_insn (gen_sminv8hf3_mask (operands[0],
14004 : operands[2],
14005 : operands[3],
14006 : operands[4],
14007 : operands[1]));
14008 : DONE;
14009 : }
14010 : #undef DONE
14011 : #undef FAIL
14012 : }
14013 : static const uint8_t expand_encoding[] = {
14014 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6a, 0x52,
14015 : 0x6a, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01,
14016 : 0x01
14017 : };
14018 : return complete_seq (expand_encoding, operands);
14019 : }
14020 :
14021 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3303 */
14022 : rtx
14023 : gen_cond_sminv4df (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
14024 : {
14025 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
14026 : start_sequence ();
14027 : {
14028 : #define FAIL return (end_sequence (), nullptr)
14029 : #define DONE return end_sequence ()
14030 : #line 3312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14031 : {
14032 : emit_insn (gen_sminv4df3_mask (operands[0],
14033 : operands[2],
14034 : operands[3],
14035 : operands[4],
14036 : operands[1]));
14037 : DONE;
14038 : }
14039 : #undef DONE
14040 : #undef FAIL
14041 : }
14042 : static const uint8_t expand_encoding[] = {
14043 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x70, 0x52,
14044 : 0x70, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01,
14045 : 0x01
14046 : };
14047 : return complete_seq (expand_encoding, operands);
14048 : }
14049 :
14050 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3321 */
14051 : rtx
14052 : gen_sminv32hf3_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
14053 : {
14054 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
14055 : start_sequence ();
14056 : {
14057 : #define FAIL return (end_sequence (), nullptr)
14058 : #define DONE return end_sequence ()
14059 : #line 3328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14060 : {
14061 : if (!flag_finite_math_only || flag_signed_zeros)
14062 : {
14063 : operands[1] = force_reg (V32HFmode, operands[1]);
14064 : emit_insn (gen_ieee_minv32hf3_mask_round
14065 : (operands[0], operands[1], operands[2]
14066 : , operands[3], operands[4]
14067 : , operands[5]));
14068 : DONE;
14069 : }
14070 : else
14071 : ix86_fixup_binary_operands_no_copy (SMIN, V32HFmode, operands);
14072 : }
14073 : #undef DONE
14074 : #undef FAIL
14075 : }
14076 : static const uint8_t expand_encoding[] = {
14077 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x73, 0x02, 0x81,
14078 : 0x09, 0x73, 0x52, 0x73, 0x01, 0x01, 0x01, 0x02,
14079 : 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x81, 0x33
14080 : };
14081 : return complete_seq (expand_encoding, operands);
14082 : }
14083 :
14084 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3321 */
14085 : rtx
14086 : gen_sminv16sf3 (const rtx operand0, const rtx operand1, const rtx operand2)
14087 : {
14088 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
14089 : start_sequence ();
14090 : {
14091 : #define FAIL return (end_sequence (), nullptr)
14092 : #define DONE return end_sequence ()
14093 : #line 3328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14094 : {
14095 : if (!flag_finite_math_only || flag_signed_zeros)
14096 : {
14097 : operands[1] = force_reg (V16SFmode, operands[1]);
14098 : emit_insn (gen_ieee_minv16sf3
14099 : (operands[0], operands[1], operands[2]
14100 :
14101 : ));
14102 : DONE;
14103 : }
14104 : else
14105 : ix86_fixup_binary_operands_no_copy (SMIN, V16SFmode, operands);
14106 : }
14107 : #undef DONE
14108 : #undef FAIL
14109 : }
14110 : static const uint8_t expand_encoding[] = {
14111 : 0x01, 0x1f, 0x01, 0x00, 0x52, 0x74, 0x01, 0x01,
14112 : 0x01, 0x02
14113 : };
14114 : return complete_seq (expand_encoding, operands);
14115 : }
14116 :
14117 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3321 */
14118 : rtx
14119 : gen_smaxv4sf3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
14120 : {
14121 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
14122 : start_sequence ();
14123 : {
14124 : #define FAIL return (end_sequence (), nullptr)
14125 : #define DONE return end_sequence ()
14126 : #line 3328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14127 : {
14128 : if (!flag_finite_math_only || flag_signed_zeros)
14129 : {
14130 : operands[1] = force_reg (V4SFmode, operands[1]);
14131 : emit_insn (gen_ieee_maxv4sf3_mask
14132 : (operands[0], operands[1], operands[2]
14133 : , operands[3], operands[4]
14134 : ));
14135 : DONE;
14136 : }
14137 : else
14138 : ix86_fixup_binary_operands_no_copy (SMAX, V4SFmode, operands);
14139 : }
14140 : #undef DONE
14141 : #undef FAIL
14142 : }
14143 : static const uint8_t expand_encoding[] = {
14144 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6b, 0x53,
14145 : 0x6b, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01,
14146 : 0x04
14147 : };
14148 : return complete_seq (expand_encoding, operands);
14149 : }
14150 :
14151 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3321 */
14152 : rtx
14153 : gen_sminv8df3_mask_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
14154 : {
14155 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
14156 : start_sequence ();
14157 : {
14158 : #define FAIL return (end_sequence (), nullptr)
14159 : #define DONE return end_sequence ()
14160 : #line 3328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14161 : {
14162 : if (!flag_finite_math_only || flag_signed_zeros)
14163 : {
14164 : operands[1] = force_reg (V8DFmode, operands[1]);
14165 : emit_insn (gen_ieee_minv8df3_mask_round
14166 : (operands[0], operands[1], operands[2]
14167 : , operands[3], operands[4]
14168 : , operands[5]));
14169 : DONE;
14170 : }
14171 : else
14172 : ix86_fixup_binary_operands_no_copy (SMIN, V8DFmode, operands);
14173 : }
14174 : #undef DONE
14175 : #undef FAIL
14176 : }
14177 : static const uint8_t expand_encoding[] = {
14178 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x75, 0x02, 0x81,
14179 : 0x09, 0x75, 0x52, 0x75, 0x01, 0x01, 0x01, 0x02,
14180 : 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x81, 0x33
14181 : };
14182 : return complete_seq (expand_encoding, operands);
14183 : }
14184 :
14185 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3366 */
14186 : extern rtx_insn *gen_split_1331 (rtx_insn *, rtx *);
14187 : rtx_insn *
14188 : gen_split_1331 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
14189 : {
14190 : if (dump_file)
14191 : fprintf (dump_file, "Splitting with gen_split_1331 (sse.md:3366)\n");
14192 : start_sequence ();
14193 : #define FAIL return (end_sequence (), nullptr)
14194 : #define DONE return end_sequence ()
14195 : #line 3385 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14196 : {
14197 : int u = UNSPEC_IEEE_MIN;
14198 : rtx tmp = operands[2];
14199 : if ((INTVAL (operands[5]) == 1 && rtx_equal_p (operands[1], operands[4]))
14200 : || (INTVAL (operands[5]) == 14 && rtx_equal_p (operands[1], operands[3])))
14201 : u = UNSPEC_IEEE_MAX;
14202 :
14203 : if (MEM_P (operands[1]))
14204 : operands[1] = force_reg (V8HFmode, operands[1]);
14205 :
14206 : if (immediate_operand (operands[2], V8HFmode))
14207 : tmp = force_reg (V8HFmode, operands[2]);
14208 : rtvec v = gen_rtvec (2, operands[1], tmp);
14209 : operands[6] = gen_rtx_UNSPEC (V8HFmode, v, u);
14210 : }
14211 : #undef DONE
14212 : #undef FAIL
14213 : static const uint8_t expand_encoding[] = {
14214 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x06
14215 : };
14216 : return complete_seq (expand_encoding, operands);
14217 : }
14218 :
14219 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3401 */
14220 : extern rtx_insn *gen_split_1341 (rtx_insn *, rtx *);
14221 : rtx_insn *
14222 : gen_split_1341 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
14223 : {
14224 : if (dump_file)
14225 : fprintf (dump_file, "Splitting with gen_split_1341 (sse.md:3401)\n");
14226 : start_sequence ();
14227 : #define FAIL return (end_sequence (), nullptr)
14228 : #define DONE return end_sequence ()
14229 : #line 3418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14230 : {
14231 : int u = UNSPEC_IEEE_MIN;
14232 : if (rtx_equal_p (operands[1], operands[3]))
14233 : u = UNSPEC_IEEE_MAX;
14234 :
14235 : if (MEM_P (operands[2]))
14236 : operands[2] = force_reg (V2DFmode, operands[2]);
14237 : rtvec v = gen_rtvec (2, operands[2], operands[1]);
14238 : operands[5] = gen_rtx_UNSPEC (V2DFmode, v, u);
14239 : }
14240 : #undef DONE
14241 : #undef FAIL
14242 : static const uint8_t expand_encoding[] = {
14243 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x05
14244 : };
14245 : return complete_seq (expand_encoding, operands);
14246 : }
14247 :
14248 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3534 */
14249 : rtx
14250 : gen_avx512fp16_vmsmaxv8hf3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
14251 : {
14252 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
14253 : start_sequence ();
14254 : {
14255 : #define FAIL return (end_sequence (), nullptr)
14256 : #define DONE return end_sequence ()
14257 : #line 3543 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14258 : {
14259 : if (!flag_finite_math_only || flag_signed_zeros)
14260 : {
14261 : emit_insn (gen_avx512fp16_ieee_vmmaxv8hf3_mask
14262 : (operands[0], operands[1], operands[2]
14263 : , operands[3], operands[4]
14264 : ));
14265 : DONE;
14266 : }
14267 : }
14268 : #undef DONE
14269 : #undef FAIL
14270 : }
14271 : static const uint8_t expand_encoding[] = {
14272 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6a, 0x81,
14273 : 0x09, 0x6a, 0x53, 0x6a, 0x01, 0x01, 0x01, 0x02,
14274 : 0x01, 0x03, 0x01, 0x04, 0x01, 0x01, 0x27, 0x01
14275 : };
14276 : return complete_seq (expand_encoding, operands);
14277 : }
14278 :
14279 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3534 */
14280 : rtx
14281 : gen_sse_vmsminv4sf3 (const rtx operand0, const rtx operand1, const rtx operand2)
14282 : {
14283 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
14284 : start_sequence ();
14285 : {
14286 : #define FAIL return (end_sequence (), nullptr)
14287 : #define DONE return end_sequence ()
14288 : #line 3543 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14289 : {
14290 : if (!flag_finite_math_only || flag_signed_zeros)
14291 : {
14292 : emit_insn (gen_sse_ieee_vmminv4sf3
14293 : (operands[0], operands[1], operands[2]
14294 :
14295 : ));
14296 : DONE;
14297 : }
14298 : }
14299 : #undef DONE
14300 : #undef FAIL
14301 : }
14302 : static const uint8_t expand_encoding[] = {
14303 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6b, 0x52,
14304 : 0x6b, 0x01, 0x01, 0x01, 0x02, 0x01, 0x01, 0x27,
14305 : 0x01
14306 : };
14307 : return complete_seq (expand_encoding, operands);
14308 : }
14309 :
14310 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3534 */
14311 : rtx
14312 : gen_sse2_vmsminv2df3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
14313 : {
14314 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
14315 : start_sequence ();
14316 : {
14317 : #define FAIL return (end_sequence (), nullptr)
14318 : #define DONE return end_sequence ()
14319 : #line 3543 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14320 : {
14321 : if (!flag_finite_math_only || flag_signed_zeros)
14322 : {
14323 : emit_insn (gen_sse2_ieee_vmminv2df3_mask
14324 : (operands[0], operands[1], operands[2]
14325 : , operands[3], operands[4]
14326 : ));
14327 : DONE;
14328 : }
14329 : }
14330 : #undef DONE
14331 : #undef FAIL
14332 : }
14333 : static const uint8_t expand_encoding[] = {
14334 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6c, 0x81,
14335 : 0x09, 0x6c, 0x52, 0x6c, 0x01, 0x01, 0x01, 0x02,
14336 : 0x01, 0x03, 0x01, 0x04, 0x01, 0x01, 0x27, 0x01
14337 : };
14338 : return complete_seq (expand_encoding, operands);
14339 : }
14340 :
14341 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3674 */
14342 : extern rtx_insn *gen_split_1359 (rtx_insn *, rtx *);
14343 : rtx_insn *
14344 : gen_split_1359 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
14345 : {
14346 : if (dump_file)
14347 : fprintf (dump_file, "Splitting with gen_split_1359 (sse.md:3674)\n");
14348 : start_sequence ();
14349 : #define FAIL return (end_sequence (), nullptr)
14350 : #define DONE return end_sequence ()
14351 : #line 3697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14352 : {
14353 : int i, nelt = XVECLEN (operands[5], 0);
14354 : HOST_WIDE_INT ival = 0;
14355 :
14356 : for (i = 0; i < nelt; i++)
14357 : if (INTVAL (XVECEXP (operands[5], 0, i)) < GET_MODE_NUNITS (V4SFmode))
14358 : ival |= HOST_WIDE_INT_1 << i;
14359 :
14360 : operands[5] = GEN_INT (ival);
14361 : }
14362 : #undef DONE
14363 : #undef FAIL
14364 : static const uint8_t expand_encoding[] = {
14365 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6b, 0x3c,
14366 : 0x6b, 0x01, 0x01, 0x01, 0x02, 0x3b, 0x6b, 0x01,
14367 : 0x01, 0x01, 0x02, 0x01, 0x05
14368 : };
14369 : return complete_seq (expand_encoding, operands);
14370 : }
14371 :
14372 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:3964 */
14373 : rtx
14374 : gen_reduc_plus_scal_v8hf (const rtx operand0, const rtx operand1)
14375 : {
14376 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
14377 : start_sequence ();
14378 : {
14379 : #define FAIL _Pragma ("GCC error \"reduc_plus_scal_v8hf cannot FAIL\"") (void)0
14380 : #define DONE return end_sequence ()
14381 : #line 3969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14382 : {
14383 : rtx tmp = gen_reg_rtx (V8HFmode);
14384 : ix86_expand_reduc (gen_addv8hf3, tmp, operands[1]);
14385 : emit_insn (gen_vec_extractv8hfhf (operands[0], tmp,
14386 : const0_rtx));
14387 : DONE;
14388 : }
14389 : #undef DONE
14390 : #undef FAIL
14391 : }
14392 : static const uint8_t expand_encoding[] = {
14393 : 0x01, 0x3b, 0x6a, 0x01, 0x00, 0x01, 0x01
14394 : };
14395 : return complete_seq (expand_encoding, operands);
14396 : }
14397 :
14398 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4007 */
14399 : rtx
14400 : gen_reduc_plus_scal_v32hf (const rtx operand0, const rtx operand1)
14401 : {
14402 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
14403 : start_sequence ();
14404 : {
14405 : #define FAIL _Pragma ("GCC error \"reduc_plus_scal_v32hf cannot FAIL\"") (void)0
14406 : #define DONE return end_sequence ()
14407 : #line 4012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14408 : {
14409 : rtx tmp = gen_reg_rtx (V16HFmode);
14410 : rtx tmp2 = gen_reg_rtx (V16HFmode);
14411 : rtx tmp3 = gen_reg_rtx (V16HFmode);
14412 : emit_insn (gen_vec_extract_hi_v32hf (tmp, operands[1]));
14413 : emit_insn (gen_vec_extract_lo_v32hf (tmp2, operands[1]));
14414 : emit_insn (gen_addv16hf3 (tmp3, tmp, tmp2));
14415 : emit_insn (gen_reduc_plus_scal_v16hf (operands[0], tmp3));
14416 : DONE;
14417 : }
14418 : #undef DONE
14419 : #undef FAIL
14420 : }
14421 : static const uint8_t expand_encoding[] = {
14422 : 0x01, 0x3b, 0x73, 0x01, 0x00, 0x01, 0x01
14423 : };
14424 : return complete_seq (expand_encoding, operands);
14425 : }
14426 :
14427 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4030 */
14428 : rtx
14429 : gen_reduc_smin_scal_v8hf (const rtx operand0, const rtx operand1)
14430 : {
14431 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
14432 : start_sequence ();
14433 : {
14434 : #define FAIL return (end_sequence (), nullptr)
14435 : #define DONE return end_sequence ()
14436 : #line 4035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14437 : {
14438 : rtx tmp = gen_reg_rtx (V8HFmode);
14439 : ix86_expand_reduc (gen_sminv8hf3, tmp, operands[1]);
14440 : emit_insn (gen_vec_extractv8hfhf (operands[0], tmp,
14441 : const0_rtx));
14442 : DONE;
14443 : }
14444 : #undef DONE
14445 : #undef FAIL
14446 : }
14447 : static const uint8_t expand_encoding[] = {
14448 : 0x01, 0x52, 0x6a, 0x01, 0x00, 0x01, 0x01
14449 : };
14450 : return complete_seq (expand_encoding, operands);
14451 : }
14452 :
14453 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4030 */
14454 : rtx
14455 : gen_reduc_smin_scal_v8hi (const rtx operand0, const rtx operand1)
14456 : {
14457 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
14458 : start_sequence ();
14459 : {
14460 : #define FAIL return (end_sequence (), nullptr)
14461 : #define DONE return end_sequence ()
14462 : #line 4035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14463 : {
14464 : rtx tmp = gen_reg_rtx (V8HImode);
14465 : ix86_expand_reduc (gen_sminv8hi3, tmp, operands[1]);
14466 : emit_insn (gen_vec_extractv8hihi (operands[0], tmp,
14467 : const0_rtx));
14468 : DONE;
14469 : }
14470 : #undef DONE
14471 : #undef FAIL
14472 : }
14473 : static const uint8_t expand_encoding[] = {
14474 : 0x01, 0x52, 0x50, 0x01, 0x00, 0x01, 0x01
14475 : };
14476 : return complete_seq (expand_encoding, operands);
14477 : }
14478 :
14479 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4054 */
14480 : rtx
14481 : gen_reduc_smin_scal_v16hf (const rtx operand0, const rtx operand1)
14482 : {
14483 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
14484 : start_sequence ();
14485 : {
14486 : #define FAIL return (end_sequence (), nullptr)
14487 : #define DONE return end_sequence ()
14488 : #line 4059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14489 : {
14490 : rtx tmp = gen_reg_rtx (V8HFmode);
14491 : rtx tmp2 = gen_reg_rtx (V8HFmode);
14492 : rtx tmp3 = gen_reg_rtx (V8HFmode);
14493 : emit_insn (gen_vec_extract_hi_v16hf (tmp, operands[1]));
14494 : emit_insn (gen_vec_extract_lo_v16hf (tmp2, operands[1]));
14495 : emit_insn (gen_sminv8hf3 (tmp3, tmp, tmp2));
14496 : emit_insn (gen_reduc_smin_scal_v8hf (operands[0], tmp3));
14497 : DONE;
14498 : }
14499 : #undef DONE
14500 : #undef FAIL
14501 : }
14502 : static const uint8_t expand_encoding[] = {
14503 : 0x01, 0x52, 0x6e, 0x01, 0x00, 0x01, 0x01
14504 : };
14505 : return complete_seq (expand_encoding, operands);
14506 : }
14507 :
14508 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4054 */
14509 : rtx
14510 : gen_reduc_smin_scal_v64qi (const rtx operand0, const rtx operand1)
14511 : {
14512 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
14513 : start_sequence ();
14514 : {
14515 : #define FAIL return (end_sequence (), nullptr)
14516 : #define DONE return end_sequence ()
14517 : #line 4059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14518 : {
14519 : rtx tmp = gen_reg_rtx (V32QImode);
14520 : rtx tmp2 = gen_reg_rtx (V32QImode);
14521 : rtx tmp3 = gen_reg_rtx (V32QImode);
14522 : emit_insn (gen_vec_extract_hi_v64qi (tmp, operands[1]));
14523 : emit_insn (gen_vec_extract_lo_v64qi (tmp2, operands[1]));
14524 : emit_insn (gen_sminv32qi3 (tmp3, tmp, tmp2));
14525 : emit_insn (gen_reduc_smin_scal_v32qi (operands[0], tmp3));
14526 : DONE;
14527 : }
14528 : #undef DONE
14529 : #undef FAIL
14530 : }
14531 : static const uint8_t expand_encoding[] = {
14532 : 0x01, 0x52, 0x59, 0x01, 0x00, 0x01, 0x01
14533 : };
14534 : return complete_seq (expand_encoding, operands);
14535 : }
14536 :
14537 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4054 */
14538 : rtx
14539 : gen_reduc_smin_scal_v16sf (const rtx operand0, const rtx operand1)
14540 : {
14541 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
14542 : start_sequence ();
14543 : {
14544 : #define FAIL return (end_sequence (), nullptr)
14545 : #define DONE return end_sequence ()
14546 : #line 4059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14547 : {
14548 : rtx tmp = gen_reg_rtx (V8SFmode);
14549 : rtx tmp2 = gen_reg_rtx (V8SFmode);
14550 : rtx tmp3 = gen_reg_rtx (V8SFmode);
14551 : emit_insn (gen_vec_extract_hi_v16sf (tmp, operands[1]));
14552 : emit_insn (gen_vec_extract_lo_v16sf (tmp2, operands[1]));
14553 : emit_insn (gen_sminv8sf3 (tmp3, tmp, tmp2));
14554 : emit_insn (gen_reduc_smin_scal_v8sf (operands[0], tmp3));
14555 : DONE;
14556 : }
14557 : #undef DONE
14558 : #undef FAIL
14559 : }
14560 : static const uint8_t expand_encoding[] = {
14561 : 0x01, 0x52, 0x74, 0x01, 0x00, 0x01, 0x01
14562 : };
14563 : return complete_seq (expand_encoding, operands);
14564 : }
14565 :
14566 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4070 */
14567 : rtx
14568 : gen_reduc_umin_scal_v64qi (const rtx operand0, const rtx operand1)
14569 : {
14570 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
14571 : start_sequence ();
14572 : {
14573 : #define FAIL return (end_sequence (), nullptr)
14574 : #define DONE return end_sequence ()
14575 : #line 4075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14576 : {
14577 : rtx tmp = gen_reg_rtx (V32QImode);
14578 : rtx tmp2 = gen_reg_rtx (V32QImode);
14579 : rtx tmp3 = gen_reg_rtx (V32QImode);
14580 : emit_insn (gen_vec_extract_hi_v64qi (tmp, operands[1]));
14581 : emit_insn (gen_vec_extract_lo_v64qi (tmp2, operands[1]));
14582 : emit_insn (gen_uminv32qi3 (tmp3, tmp, tmp2));
14583 : emit_insn (gen_reduc_umin_scal_v32qi (operands[0], tmp3));
14584 : DONE;
14585 : }
14586 : #undef DONE
14587 : #undef FAIL
14588 : }
14589 : static const uint8_t expand_encoding[] = {
14590 : 0x01, 0x54, 0x59, 0x01, 0x00, 0x01, 0x01
14591 : };
14592 : return complete_seq (expand_encoding, operands);
14593 : }
14594 :
14595 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4117 */
14596 : rtx
14597 : gen_reduc_sbool_and_scal_qi (const rtx operand0, const rtx operand1, const rtx operand2)
14598 : {
14599 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
14600 : start_sequence ();
14601 : {
14602 : #define FAIL _Pragma ("GCC error \"reduc_sbool_and_scal_qi cannot FAIL\"") (void)0
14603 : #define DONE return end_sequence ()
14604 : #line 4122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14605 : {
14606 : int n_elt = INTVAL (operands[2]);
14607 : rtx op2 = CONSTM1_RTX (QImode);
14608 : rtx op1 = operands[1];
14609 : if (n_elt < 8)
14610 : {
14611 : op2 = gen_int_mode ((1u << n_elt) - 1, QImode);
14612 : op1 = gen_reg_rtx (QImode);
14613 : emit_insn (gen_andqi3 (op1, operands[1], op2));
14614 : }
14615 : ix86_expand_setcc (operands[0], EQ, op1, op2);
14616 : DONE;
14617 : }
14618 : #undef DONE
14619 : #undef FAIL
14620 : }
14621 : static const uint8_t expand_encoding[] = {
14622 : 0x03, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02
14623 : };
14624 : return complete_seq (expand_encoding, operands);
14625 : }
14626 :
14627 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4155 */
14628 : rtx
14629 : gen_reduc_sbool_xor_scal_hi (const rtx operand0, const rtx operand1, const rtx operand2)
14630 : {
14631 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
14632 : start_sequence ();
14633 : {
14634 : #define FAIL _Pragma ("GCC error \"reduc_sbool_xor_scal_hi cannot FAIL\"") (void)0
14635 : #define DONE return end_sequence ()
14636 : #line 4161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14637 : {
14638 : rtx popcnt1, op1 = operands[1];
14639 : int n_elt = INTVAL (operands[2]);
14640 : if (n_elt < 8)
14641 : {
14642 : rtx op2 = gen_int_mode ((1u << n_elt) - 1, QImode);
14643 : op1 = gen_reg_rtx (QImode);
14644 : emit_insn (gen_andqi3 (op1, operands[1], op2));
14645 : }
14646 :
14647 : switch (2)
14648 : {
14649 : case 1:
14650 : case 2:
14651 : op1 = gen_reg_rtx (SImode);
14652 : emit_move_insn (op1, gen_rtx_ZERO_EXTEND (SImode, operands[1]));
14653 : /* FALLTHRU. */
14654 : case 4:
14655 : popcnt1 = gen_reg_rtx (SImode);
14656 : emit_insn (gen_popcountsi2 (popcnt1, op1));
14657 : emit_insn (gen_andsi3 (popcnt1, popcnt1, GEN_INT (0x1)));
14658 : break;
14659 :
14660 : case 8:
14661 : popcnt1 = gen_reg_rtx (DImode);
14662 : emit_insn (gen_popcountdi2 (popcnt1, op1));
14663 : emit_insn (gen_anddi3 (popcnt1, popcnt1, GEN_INT (0x1)));
14664 : break;
14665 :
14666 : default:
14667 : gcc_unreachable ();
14668 :
14669 : }
14670 :
14671 : emit_move_insn (operands[0], gen_lowpart (QImode, popcnt1));
14672 : DONE;
14673 : }
14674 : #undef DONE
14675 : #undef FAIL
14676 : }
14677 : static const uint8_t expand_encoding[] = {
14678 : 0x03, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02
14679 : };
14680 : return complete_seq (expand_encoding, operands);
14681 : }
14682 :
14683 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4199 */
14684 : rtx
14685 : gen_reduc_sbool_and_scal_v2di (const rtx operand0, const rtx operand1)
14686 : {
14687 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
14688 : start_sequence ();
14689 : {
14690 : #define FAIL _Pragma ("GCC error \"reduc_sbool_and_scal_v2di cannot FAIL\"") (void)0
14691 : #define DONE return end_sequence ()
14692 : #line 4203 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14693 : {
14694 : rtx flags = gen_rtx_REG (CCZmode, FLAGS_REG);
14695 : rtx op2, tmp;
14696 : if (TARGET_AVX2 || 16 != 32)
14697 : {
14698 : op2 = force_reg (V2DImode, CONST0_RTX (V2DImode));
14699 : tmp = gen_reg_rtx (V2DImode);
14700 : rtx op1 = gen_rtx_EQ (V2DImode, operands[1], op2);
14701 : emit_insn (gen_vec_cmpv2div2di (tmp, op1, operands[1], op2));
14702 : }
14703 : else
14704 : {
14705 : op2 = force_reg (V2DImode, CONSTM1_RTX (V2DImode));
14706 : tmp = gen_reg_rtx (V2DImode);
14707 : rtx ops[3] = { tmp, operands[1], op2 };
14708 : ix86_expand_vector_logical_operator (XOR, V2DImode, ops);
14709 : }
14710 :
14711 : tmp = gen_rtx_UNSPEC (CCZmode, gen_rtvec(2, tmp, tmp), UNSPEC_PTEST);
14712 : emit_insn (gen_rtx_SET (flags, tmp));
14713 : rtx ret = gen_rtx_fmt_ee (EQ, VOIDmode, flags, const0_rtx);
14714 : PUT_MODE (ret, QImode);
14715 : emit_insn (gen_rtx_SET (operands[0], ret));
14716 : DONE;
14717 :
14718 : }
14719 : #undef DONE
14720 : #undef FAIL
14721 : }
14722 : static const uint8_t expand_encoding[] = {
14723 : 0x02, 0x01, 0x00, 0x01, 0x01
14724 : };
14725 : return complete_seq (expand_encoding, operands);
14726 : }
14727 :
14728 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4311 */
14729 : rtx
14730 : gen_reduc_ior_scal_v16qi (const rtx operand0, const rtx operand1)
14731 : {
14732 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
14733 : start_sequence ();
14734 : {
14735 : #define FAIL _Pragma ("GCC error \"reduc_ior_scal_v16qi cannot FAIL\"") (void)0
14736 : #define DONE return end_sequence ()
14737 : #line 4316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14738 : {
14739 : rtx tmp = gen_reg_rtx (V16QImode);
14740 : ix86_expand_reduc (gen_iorv16qi3, tmp, operands[1]);
14741 : emit_insn (gen_vec_extractv16qiqi (operands[0],
14742 : tmp, const0_rtx));
14743 : DONE;
14744 : }
14745 : #undef DONE
14746 : #undef FAIL
14747 : }
14748 : static const uint8_t expand_encoding[] = {
14749 : 0x01, 0x4a, 0x4f, 0x01, 0x00, 0x01, 0x01
14750 : };
14751 : return complete_seq (expand_encoding, operands);
14752 : }
14753 :
14754 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4311 */
14755 : rtx
14756 : gen_reduc_ior_scal_v2di (const rtx operand0, const rtx operand1)
14757 : {
14758 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
14759 : start_sequence ();
14760 : {
14761 : #define FAIL _Pragma ("GCC error \"reduc_ior_scal_v2di cannot FAIL\"") (void)0
14762 : #define DONE return end_sequence ()
14763 : #line 4316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14764 : {
14765 : rtx tmp = gen_reg_rtx (V2DImode);
14766 : ix86_expand_reduc (gen_iorv2di3, tmp, operands[1]);
14767 : emit_insn (gen_vec_extractv2didi (operands[0],
14768 : tmp, const0_rtx));
14769 : DONE;
14770 : }
14771 : #undef DONE
14772 : #undef FAIL
14773 : }
14774 : static const uint8_t expand_encoding[] = {
14775 : 0x01, 0x4a, 0x52, 0x01, 0x00, 0x01, 0x01
14776 : };
14777 : return complete_seq (expand_encoding, operands);
14778 : }
14779 :
14780 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4330 */
14781 : rtx
14782 : gen_reduc_xor_scal_v8si (const rtx operand0, const rtx operand1)
14783 : {
14784 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
14785 : start_sequence ();
14786 : {
14787 : #define FAIL _Pragma ("GCC error \"reduc_xor_scal_v8si cannot FAIL\"") (void)0
14788 : #define DONE return end_sequence ()
14789 : #line 4335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14790 : {
14791 : rtx tmp = gen_reg_rtx (V4SImode);
14792 : rtx tmp2 = gen_reg_rtx (V4SImode);
14793 : rtx tmp3 = gen_reg_rtx (V4SImode);
14794 : emit_insn (gen_vec_extract_hi_v8si (tmp, operands[1]));
14795 : emit_insn (gen_vec_extract_lo_v8si (tmp2, operands[1]));
14796 : emit_insn (gen_xorv4si3 (tmp3, tmp, tmp2));
14797 : emit_insn (gen_reduc_xor_scal_v4si (operands[0], tmp3));
14798 : DONE;
14799 : }
14800 : #undef DONE
14801 : #undef FAIL
14802 : }
14803 : static const uint8_t expand_encoding[] = {
14804 : 0x01, 0x4b, 0x56, 0x01, 0x00, 0x01, 0x01
14805 : };
14806 : return complete_seq (expand_encoding, operands);
14807 : }
14808 :
14809 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4330 */
14810 : rtx
14811 : gen_reduc_and_scal_v16si (const rtx operand0, const rtx operand1)
14812 : {
14813 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
14814 : start_sequence ();
14815 : {
14816 : #define FAIL _Pragma ("GCC error \"reduc_and_scal_v16si cannot FAIL\"") (void)0
14817 : #define DONE return end_sequence ()
14818 : #line 4335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14819 : {
14820 : rtx tmp = gen_reg_rtx (V8SImode);
14821 : rtx tmp2 = gen_reg_rtx (V8SImode);
14822 : rtx tmp3 = gen_reg_rtx (V8SImode);
14823 : emit_insn (gen_vec_extract_hi_v16si (tmp, operands[1]));
14824 : emit_insn (gen_vec_extract_lo_v16si (tmp2, operands[1]));
14825 : emit_insn (gen_andv8si3 (tmp3, tmp, tmp2));
14826 : emit_insn (gen_reduc_and_scal_v8si (operands[0], tmp3));
14827 : DONE;
14828 : }
14829 : #undef DONE
14830 : #undef FAIL
14831 : }
14832 : static const uint8_t expand_encoding[] = {
14833 : 0x01, 0x49, 0x5b, 0x01, 0x00, 0x01, 0x01
14834 : };
14835 : return complete_seq (expand_encoding, operands);
14836 : }
14837 :
14838 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4396 */
14839 : extern rtx_insn *gen_split_1370 (rtx_insn *, rtx *);
14840 : rtx_insn *
14841 : gen_split_1370 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
14842 : {
14843 : if (dump_file)
14844 : fprintf (dump_file, "Splitting with gen_split_1370 (sse.md:4396)\n");
14845 : start_sequence ();
14846 : #define FAIL return (end_sequence (), nullptr)
14847 : #define DONE return end_sequence ()
14848 : #line 4417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14849 : {
14850 : operands[5] = GEN_INT (INTVAL (operands[5]) ^ 4);
14851 : operands[6] = gen_reg_rtx (V8SFmode);
14852 : operands[7]
14853 : = lowpart_subreg (GET_MODE (operands[0]), operands[6], V8SFmode);
14854 : }
14855 : #undef DONE
14856 : #undef FAIL
14857 : static const uint8_t expand_encoding[] = {
14858 : 0x02, 0x1f, 0x01, 0x06, 0x1a, 0x6f, 0x03, 0x01,
14859 : 0x03, 0x01, 0x04, 0x01, 0x05, 0x3c, 0x1f, 0x01,
14860 : 0x00, 0x01, 0x07
14861 : };
14862 : return complete_seq (expand_encoding, operands);
14863 : }
14864 :
14865 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4444 */
14866 : extern rtx_insn *gen_split_1380 (rtx_insn *, rtx *);
14867 : rtx_insn *
14868 : gen_split_1380 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
14869 : {
14870 : if (dump_file)
14871 : fprintf (dump_file, "Splitting with gen_split_1380 (sse.md:4444)\n");
14872 : start_sequence ();
14873 : #define FAIL return (end_sequence (), nullptr)
14874 : #define DONE return end_sequence ()
14875 : #line 4464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14876 : operands[5] = GEN_INT (INTVAL (operands[5]) ^ 4);
14877 : #undef DONE
14878 : #undef FAIL
14879 : static const uint8_t expand_encoding[] = {
14880 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x70, 0x03, 0x01,
14881 : 0x03, 0x01, 0x04, 0x01, 0x05, 0x3c
14882 : };
14883 : return complete_seq (expand_encoding, operands);
14884 : }
14885 :
14886 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4528 */
14887 : extern rtx_insn *gen_split_1390 (rtx_insn *, rtx *);
14888 : rtx_insn *
14889 : gen_split_1390 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
14890 : {
14891 : if (dump_file)
14892 : fprintf (dump_file, "Splitting with gen_split_1390 (sse.md:4528)\n");
14893 : start_sequence ();
14894 : #define FAIL return (end_sequence (), nullptr)
14895 : #define DONE return end_sequence ()
14896 : #line 4554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14897 : {
14898 : if (INTVAL (operands[5]) == 5)
14899 : std::swap (operands[1], operands[2]);
14900 : operands[0] = gen_lowpart (V16QImode, operands[0]);
14901 : operands[1] = force_reg (V16QImode,
14902 : gen_lowpart (V16QImode, operands[1]));
14903 : operands[2] = gen_lowpart (V16QImode, operands[2]);
14904 :
14905 : operands[3] = force_reg (V16QImode, operands[3]);
14906 : operands[3] = lowpart_subreg (V4SImode, operands[3], V16QImode);
14907 : }
14908 : #undef DONE
14909 : #undef FAIL
14910 : static const uint8_t expand_encoding[] = {
14911 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x4f, 0x03, 0x01,
14912 : 0x01, 0x01, 0x02, 0x32, 0x4f, 0x61, 0x51, 0x01,
14913 : 0x03, 0x01, 0x04, 0x00, 0x34
14914 : };
14915 : return complete_seq (expand_encoding, operands);
14916 : }
14917 :
14918 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4685 */
14919 : extern rtx_insn *gen_split_1400 (rtx_insn *, rtx *);
14920 : rtx_insn *
14921 : gen_split_1400 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
14922 : {
14923 : if (dump_file)
14924 : fprintf (dump_file, "Splitting with gen_split_1400 (sse.md:4685)\n");
14925 : start_sequence ();
14926 : #define FAIL return (end_sequence (), nullptr)
14927 : #define DONE return end_sequence ()
14928 : #line 4714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14929 : {
14930 : operands[5] = lowpart_subreg (QImode,
14931 : operands[0], HImode);
14932 : if (SUBREG_P (operands[5]))
14933 : {
14934 : SUBREG_PROMOTED_VAR_P (operands[5]) = 1;
14935 : SUBREG_PROMOTED_SET (operands[5], 1);
14936 : }
14937 : }
14938 : #undef DONE
14939 : #undef FAIL
14940 : static const uint8_t expand_encoding[] = {
14941 : 0x02, 0x1f, 0x01, 0x00, 0x6f, 0x10, 0x1a, 0x0f,
14942 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x3c,
14943 : 0x1f, 0x01, 0x04, 0x01, 0x05
14944 : };
14945 : return complete_seq (expand_encoding, operands);
14946 : }
14947 :
14948 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4685 */
14949 : extern rtx_insn *gen_split_1410 (rtx_insn *, rtx *);
14950 : rtx_insn *
14951 : gen_split_1410 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
14952 : {
14953 : if (dump_file)
14954 : fprintf (dump_file, "Splitting with gen_split_1410 (sse.md:4685)\n");
14955 : start_sequence ();
14956 : #define FAIL return (end_sequence (), nullptr)
14957 : #define DONE return end_sequence ()
14958 : #line 4714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14959 : {
14960 : operands[5] = lowpart_subreg (QImode,
14961 : operands[0], SImode);
14962 : if (SUBREG_P (operands[5]))
14963 : {
14964 : SUBREG_PROMOTED_VAR_P (operands[5]) = 1;
14965 : SUBREG_PROMOTED_SET (operands[5], 1);
14966 : }
14967 : }
14968 : #undef DONE
14969 : #undef FAIL
14970 : static const uint8_t expand_encoding[] = {
14971 : 0x02, 0x1f, 0x01, 0x00, 0x6f, 0x11, 0x1a, 0x0f,
14972 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x3c,
14973 : 0x1f, 0x01, 0x04, 0x01, 0x05
14974 : };
14975 : return complete_seq (expand_encoding, operands);
14976 : }
14977 :
14978 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4685 */
14979 : extern rtx_insn *gen_split_1420 (rtx_insn *, rtx *);
14980 : rtx_insn *
14981 : gen_split_1420 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
14982 : {
14983 : if (dump_file)
14984 : fprintf (dump_file, "Splitting with gen_split_1420 (sse.md:4685)\n");
14985 : start_sequence ();
14986 : #define FAIL return (end_sequence (), nullptr)
14987 : #define DONE return end_sequence ()
14988 : #line 4714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14989 : {
14990 : operands[5] = lowpart_subreg (QImode,
14991 : operands[0], DImode);
14992 : if (SUBREG_P (operands[5]))
14993 : {
14994 : SUBREG_PROMOTED_VAR_P (operands[5]) = 1;
14995 : SUBREG_PROMOTED_SET (operands[5], 1);
14996 : }
14997 : }
14998 : #undef DONE
14999 : #undef FAIL
15000 : static const uint8_t expand_encoding[] = {
15001 : 0x02, 0x1f, 0x01, 0x00, 0x6f, 0x12, 0x1a, 0x0f,
15002 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x3c,
15003 : 0x1f, 0x01, 0x04, 0x01, 0x05
15004 : };
15005 : return complete_seq (expand_encoding, operands);
15006 : }
15007 :
15008 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4685 */
15009 : extern rtx_insn *gen_split_1430 (rtx_insn *, rtx *);
15010 : rtx_insn *
15011 : gen_split_1430 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
15012 : {
15013 : if (dump_file)
15014 : fprintf (dump_file, "Splitting with gen_split_1430 (sse.md:4685)\n");
15015 : start_sequence ();
15016 : #define FAIL return (end_sequence (), nullptr)
15017 : #define DONE return end_sequence ()
15018 : #line 4714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15019 : {
15020 : operands[5] = lowpart_subreg (QImode,
15021 : operands[0], HImode);
15022 : if (SUBREG_P (operands[5]))
15023 : {
15024 : SUBREG_PROMOTED_VAR_P (operands[5]) = 1;
15025 : SUBREG_PROMOTED_SET (operands[5], 1);
15026 : }
15027 : }
15028 : #undef DONE
15029 : #undef FAIL
15030 : static const uint8_t expand_encoding[] = {
15031 : 0x02, 0x1f, 0x01, 0x00, 0x6f, 0x10, 0x1a, 0x0f,
15032 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x3c,
15033 : 0x1f, 0x01, 0x04, 0x01, 0x05
15034 : };
15035 : return complete_seq (expand_encoding, operands);
15036 : }
15037 :
15038 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4724 */
15039 : extern rtx_insn *gen_split_1440 (rtx_insn *, rtx *);
15040 : rtx_insn *
15041 : gen_split_1440 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
15042 : {
15043 : if (dump_file)
15044 : fprintf (dump_file, "Splitting with gen_split_1440 (sse.md:4724)\n");
15045 : start_sequence ();
15046 : #define FAIL return (end_sequence (), nullptr)
15047 : #define DONE return end_sequence ()
15048 : #line 4742 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15049 : operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
15050 : #undef DONE
15051 : #undef FAIL
15052 : static const uint8_t expand_encoding[] = {
15053 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x0f, 0x03, 0x01,
15054 : 0x01, 0x01, 0x02, 0x01, 0x04, 0x3c
15055 : };
15056 : return complete_seq (expand_encoding, operands);
15057 : }
15058 :
15059 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4724 */
15060 : extern rtx_insn *gen_split_1450 (rtx_insn *, rtx *);
15061 : rtx_insn *
15062 : gen_split_1450 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
15063 : {
15064 : if (dump_file)
15065 : fprintf (dump_file, "Splitting with gen_split_1450 (sse.md:4724)\n");
15066 : start_sequence ();
15067 : #define FAIL return (end_sequence (), nullptr)
15068 : #define DONE return end_sequence ()
15069 : #line 4742 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15070 : operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
15071 : #undef DONE
15072 : #undef FAIL
15073 : static const uint8_t expand_encoding[] = {
15074 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x0f, 0x03, 0x01,
15075 : 0x01, 0x01, 0x02, 0x01, 0x04, 0x3c
15076 : };
15077 : return complete_seq (expand_encoding, operands);
15078 : }
15079 :
15080 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4877 */
15081 : extern rtx_insn *gen_split_1460 (rtx_insn *, rtx *);
15082 : rtx_insn *
15083 : gen_split_1460 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
15084 : {
15085 : if (dump_file)
15086 : fprintf (dump_file, "Splitting with gen_split_1460 (sse.md:4877)\n");
15087 : start_sequence ();
15088 : #define FAIL return (end_sequence (), nullptr)
15089 : #define DONE return end_sequence ()
15090 : #line 4905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15091 : {
15092 : operands[5] = lowpart_subreg (SImode,
15093 : operands[0], HImode);
15094 : if (SUBREG_P (operands[5]))
15095 : {
15096 : SUBREG_PROMOTED_VAR_P (operands[5]) = 1;
15097 : SUBREG_PROMOTED_SET (operands[5], 1);
15098 : }
15099 : }
15100 : #undef DONE
15101 : #undef FAIL
15102 : static const uint8_t expand_encoding[] = {
15103 : 0x02, 0x1f, 0x01, 0x00, 0x6f, 0x10, 0x1a, 0x11,
15104 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x3c,
15105 : 0x1f, 0x01, 0x04, 0x01, 0x05
15106 : };
15107 : return complete_seq (expand_encoding, operands);
15108 : }
15109 :
15110 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4877 */
15111 : extern rtx_insn *gen_split_1470 (rtx_insn *, rtx *);
15112 : rtx_insn *
15113 : gen_split_1470 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
15114 : {
15115 : if (dump_file)
15116 : fprintf (dump_file, "Splitting with gen_split_1470 (sse.md:4877)\n");
15117 : start_sequence ();
15118 : #define FAIL return (end_sequence (), nullptr)
15119 : #define DONE return end_sequence ()
15120 : #line 4905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15121 : {
15122 : operands[5] = lowpart_subreg (QImode,
15123 : operands[0], SImode);
15124 : if (SUBREG_P (operands[5]))
15125 : {
15126 : SUBREG_PROMOTED_VAR_P (operands[5]) = 1;
15127 : SUBREG_PROMOTED_SET (operands[5], 1);
15128 : }
15129 : }
15130 : #undef DONE
15131 : #undef FAIL
15132 : static const uint8_t expand_encoding[] = {
15133 : 0x02, 0x1f, 0x01, 0x00, 0x6f, 0x11, 0x1a, 0x0f,
15134 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x3c,
15135 : 0x1f, 0x01, 0x04, 0x01, 0x05
15136 : };
15137 : return complete_seq (expand_encoding, operands);
15138 : }
15139 :
15140 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4919 */
15141 : extern rtx_insn *gen_split_1480 (rtx_insn *, rtx *);
15142 : rtx_insn *
15143 : gen_split_1480 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
15144 : {
15145 : if (dump_file)
15146 : fprintf (dump_file, "Splitting with gen_split_1480 (sse.md:4919)\n");
15147 : start_sequence ();
15148 : #define FAIL return (end_sequence (), nullptr)
15149 : #define DONE return end_sequence ()
15150 : #line 4936 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15151 : operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
15152 : #undef DONE
15153 : #undef FAIL
15154 : static const uint8_t expand_encoding[] = {
15155 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x10, 0x03, 0x01,
15156 : 0x01, 0x01, 0x02, 0x01, 0x04, 0x3c
15157 : };
15158 : return complete_seq (expand_encoding, operands);
15159 : }
15160 :
15161 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4938 */
15162 : extern rtx_insn *gen_split_1490 (rtx_insn *, rtx *);
15163 : rtx_insn *
15164 : gen_split_1490 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
15165 : {
15166 : if (dump_file)
15167 : fprintf (dump_file, "Splitting with gen_split_1490 (sse.md:4938)\n");
15168 : start_sequence ();
15169 : #define FAIL return (end_sequence (), nullptr)
15170 : #define DONE return end_sequence ()
15171 : #line 4951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15172 : {
15173 : int cmp_imm = INTVAL (operands[3]);
15174 : rtx res = CONST0_RTX (SImode);
15175 : /* EQ/LE/NLT/TRUE. */
15176 : if (cmp_imm == 0 || cmp_imm == 2 || cmp_imm == 5 || cmp_imm == 7)
15177 : {
15178 : int nelts = GET_MODE_NUNITS (V32HImode);
15179 : if (nelts >= 8)
15180 : res = CONSTM1_RTX (SImode);
15181 : else
15182 : res = gen_int_mode ((1u << nelts) - 1, QImode);
15183 : }
15184 : operands[4] = res;
15185 : }
15186 : #undef DONE
15187 : #undef FAIL
15188 : static const uint8_t expand_encoding[] = {
15189 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x04
15190 : };
15191 : return complete_seq (expand_encoding, operands);
15192 : }
15193 :
15194 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4938 */
15195 : extern rtx_insn *gen_split_1500 (rtx_insn *, rtx *);
15196 : rtx_insn *
15197 : gen_split_1500 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
15198 : {
15199 : if (dump_file)
15200 : fprintf (dump_file, "Splitting with gen_split_1500 (sse.md:4938)\n");
15201 : start_sequence ();
15202 : #define FAIL return (end_sequence (), nullptr)
15203 : #define DONE return end_sequence ()
15204 : #line 4951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15205 : {
15206 : int cmp_imm = INTVAL (operands[3]);
15207 : rtx res = CONST0_RTX (QImode);
15208 : /* EQ/LE/NLT/TRUE. */
15209 : if (cmp_imm == 0 || cmp_imm == 2 || cmp_imm == 5 || cmp_imm == 7)
15210 : {
15211 : int nelts = GET_MODE_NUNITS (V4SImode);
15212 : if (nelts >= 8)
15213 : res = CONSTM1_RTX (QImode);
15214 : else
15215 : res = gen_int_mode ((1u << nelts) - 1, QImode);
15216 : }
15217 : operands[4] = res;
15218 : }
15219 : #undef DONE
15220 : #undef FAIL
15221 : static const uint8_t expand_encoding[] = {
15222 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x04
15223 : };
15224 : return complete_seq (expand_encoding, operands);
15225 : }
15226 :
15227 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4999 */
15228 : extern rtx_insn *gen_split_1510 (rtx_insn *, rtx *);
15229 : rtx_insn *
15230 : gen_split_1510 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
15231 : {
15232 : if (dump_file)
15233 : fprintf (dump_file, "Splitting with gen_split_1510 (sse.md:4999)\n");
15234 : start_sequence ();
15235 : #define FAIL return (end_sequence (), nullptr)
15236 : #define DONE return end_sequence ()
15237 : #line 5028 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15238 : {
15239 : operands[5] = lowpart_subreg (DImode,
15240 : operands[0], DImode);
15241 : if (SUBREG_P (operands[5]))
15242 : {
15243 : SUBREG_PROMOTED_VAR_P (operands[5]) = 1;
15244 : SUBREG_PROMOTED_SET (operands[5], 1);
15245 : }
15246 : }
15247 : #undef DONE
15248 : #undef FAIL
15249 : static const uint8_t expand_encoding[] = {
15250 : 0x02, 0x1f, 0x01, 0x00, 0x6f, 0x12, 0x1a, 0x12,
15251 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
15252 : 0x1e, 0x1f, 0x01, 0x04, 0x01, 0x05
15253 : };
15254 : return complete_seq (expand_encoding, operands);
15255 : }
15256 :
15257 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:4999 */
15258 : extern rtx_insn *gen_split_1520 (rtx_insn *, rtx *);
15259 : rtx_insn *
15260 : gen_split_1520 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
15261 : {
15262 : if (dump_file)
15263 : fprintf (dump_file, "Splitting with gen_split_1520 (sse.md:4999)\n");
15264 : start_sequence ();
15265 : #define FAIL return (end_sequence (), nullptr)
15266 : #define DONE return end_sequence ()
15267 : #line 5028 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15268 : {
15269 : operands[5] = lowpart_subreg (HImode,
15270 : operands[0], HImode);
15271 : if (SUBREG_P (operands[5]))
15272 : {
15273 : SUBREG_PROMOTED_VAR_P (operands[5]) = 1;
15274 : SUBREG_PROMOTED_SET (operands[5], 1);
15275 : }
15276 : }
15277 : #undef DONE
15278 : #undef FAIL
15279 : static const uint8_t expand_encoding[] = {
15280 : 0x02, 0x1f, 0x01, 0x00, 0x6f, 0x10, 0x1a, 0x10,
15281 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
15282 : 0x1e, 0x1f, 0x01, 0x04, 0x01, 0x05
15283 : };
15284 : return complete_seq (expand_encoding, operands);
15285 : }
15286 :
15287 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5091 */
15288 : extern rtx_insn *gen_split_1530 (rtx_insn *, rtx *);
15289 : rtx_insn *
15290 : gen_split_1530 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
15291 : {
15292 : if (dump_file)
15293 : fprintf (dump_file, "Splitting with gen_split_1530 (sse.md:5091)\n");
15294 : start_sequence ();
15295 : #define FAIL return (end_sequence (), nullptr)
15296 : #define DONE return end_sequence ()
15297 : #line 5120 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15298 : {
15299 : operands[5] = lowpart_subreg (QImode,
15300 : operands[0], HImode);
15301 : if (SUBREG_P (operands[5]))
15302 : {
15303 : SUBREG_PROMOTED_VAR_P (operands[5]) = 1;
15304 : SUBREG_PROMOTED_SET (operands[5], 1);
15305 : }
15306 : }
15307 : #undef DONE
15308 : #undef FAIL
15309 : static const uint8_t expand_encoding[] = {
15310 : 0x02, 0x1f, 0x01, 0x00, 0x6f, 0x10, 0x1a, 0x0f,
15311 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
15312 : 0x1e, 0x1f, 0x01, 0x04, 0x01, 0x05
15313 : };
15314 : return complete_seq (expand_encoding, operands);
15315 : }
15316 :
15317 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5091 */
15318 : extern rtx_insn *gen_split_1540 (rtx_insn *, rtx *);
15319 : rtx_insn *
15320 : gen_split_1540 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
15321 : {
15322 : if (dump_file)
15323 : fprintf (dump_file, "Splitting with gen_split_1540 (sse.md:5091)\n");
15324 : start_sequence ();
15325 : #define FAIL return (end_sequence (), nullptr)
15326 : #define DONE return end_sequence ()
15327 : #line 5120 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15328 : {
15329 : operands[5] = lowpart_subreg (QImode,
15330 : operands[0], DImode);
15331 : if (SUBREG_P (operands[5]))
15332 : {
15333 : SUBREG_PROMOTED_VAR_P (operands[5]) = 1;
15334 : SUBREG_PROMOTED_SET (operands[5], 1);
15335 : }
15336 : }
15337 : #undef DONE
15338 : #undef FAIL
15339 : static const uint8_t expand_encoding[] = {
15340 : 0x02, 0x1f, 0x01, 0x00, 0x6f, 0x12, 0x1a, 0x0f,
15341 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x81,
15342 : 0x1e, 0x1f, 0x01, 0x04, 0x01, 0x05
15343 : };
15344 : return complete_seq (expand_encoding, operands);
15345 : }
15346 :
15347 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5161 */
15348 : extern rtx_insn *gen_split_1550 (rtx_insn *, rtx *);
15349 : rtx_insn *
15350 : gen_split_1550 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
15351 : {
15352 : if (dump_file)
15353 : fprintf (dump_file, "Splitting with gen_split_1550 (sse.md:5161)\n");
15354 : start_sequence ();
15355 : #define FAIL return (end_sequence (), nullptr)
15356 : #define DONE return end_sequence ()
15357 : #line 5176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15358 : {
15359 : /* LE: 2, NLT: 5, NLE: 6, LT: 1 */
15360 : int cmp_predicate = 2; /* LE */
15361 : if (MEM_P (operands[1]))
15362 : {
15363 : std::swap (operands[1], operands[2]);
15364 : cmp_predicate = 5; /* NLT (GE) */
15365 : }
15366 : if ((INTVAL (operands[4]) & 4) != 0)
15367 : cmp_predicate ^= 4; /* Invert the comparison to NLE (GT) or LT. */
15368 : emit_insn (gen_avx512bw_ucmpv64qi3 (operands[0], operands[1],operands[2],
15369 : GEN_INT (cmp_predicate)));
15370 : DONE;
15371 : }
15372 : #undef DONE
15373 : #undef FAIL
15374 : static const uint8_t expand_encoding[] = {
15375 : 0x01, 0x27, 0x00
15376 : };
15377 : return complete_seq (expand_encoding, operands);
15378 : }
15379 :
15380 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5161 */
15381 : extern rtx_insn *gen_split_1560 (rtx_insn *, rtx *);
15382 : rtx_insn *
15383 : gen_split_1560 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
15384 : {
15385 : if (dump_file)
15386 : fprintf (dump_file, "Splitting with gen_split_1560 (sse.md:5161)\n");
15387 : start_sequence ();
15388 : #define FAIL return (end_sequence (), nullptr)
15389 : #define DONE return end_sequence ()
15390 : #line 5176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15391 : {
15392 : /* LE: 2, NLT: 5, NLE: 6, LT: 1 */
15393 : int cmp_predicate = 2; /* LE */
15394 : if (MEM_P (operands[1]))
15395 : {
15396 : std::swap (operands[1], operands[2]);
15397 : cmp_predicate = 5; /* NLT (GE) */
15398 : }
15399 : if ((INTVAL (operands[4]) & 4) != 0)
15400 : cmp_predicate ^= 4; /* Invert the comparison to NLE (GT) or LT. */
15401 : emit_insn (gen_avx512vl_ucmpv8hi3 (operands[0], operands[1],operands[2],
15402 : GEN_INT (cmp_predicate)));
15403 : DONE;
15404 : }
15405 : #undef DONE
15406 : #undef FAIL
15407 : static const uint8_t expand_encoding[] = {
15408 : 0x01, 0x27, 0x00
15409 : };
15410 : return complete_seq (expand_encoding, operands);
15411 : }
15412 :
15413 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5275 */
15414 : rtx
15415 : gen_vec_cmpv8sfqi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
15416 : {
15417 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
15418 : start_sequence ();
15419 : {
15420 : #define FAIL return (end_sequence (), nullptr)
15421 : #define DONE return end_sequence ()
15422 : #line 5281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15423 : {
15424 : bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
15425 : operands[2], operands[3]);
15426 : gcc_assert (ok);
15427 : DONE;
15428 : }
15429 : #undef DONE
15430 : #undef FAIL
15431 : }
15432 : static const uint8_t expand_encoding[] = {
15433 : 0x01, 0x1f, 0x01, 0x00, 0x03, 0x0f, 0x01, 0x01,
15434 : 0x02, 0x01, 0x03
15435 : };
15436 : return complete_seq (expand_encoding, operands);
15437 : }
15438 :
15439 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5288 */
15440 : rtx
15441 : gen_vec_cmpv8hiqi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
15442 : {
15443 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
15444 : start_sequence ();
15445 : {
15446 : #define FAIL return (end_sequence (), nullptr)
15447 : #define DONE return end_sequence ()
15448 : #line 5294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15449 : {
15450 : bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
15451 : operands[2], operands[3]);
15452 : gcc_assert (ok);
15453 : DONE;
15454 : }
15455 : #undef DONE
15456 : #undef FAIL
15457 : }
15458 : static const uint8_t expand_encoding[] = {
15459 : 0x01, 0x1f, 0x01, 0x00, 0x03, 0x0f, 0x01, 0x01,
15460 : 0x02, 0x01, 0x03
15461 : };
15462 : return complete_seq (expand_encoding, operands);
15463 : }
15464 :
15465 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5326 */
15466 : rtx
15467 : gen_vec_cmpv4siv4si (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
15468 : {
15469 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
15470 : start_sequence ();
15471 : {
15472 : #define FAIL return (end_sequence (), nullptr)
15473 : #define DONE return end_sequence ()
15474 : #line 5332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15475 : {
15476 : bool ok = ix86_expand_int_vec_cmp (operands);
15477 : gcc_assert (ok);
15478 : DONE;
15479 : }
15480 : #undef DONE
15481 : #undef FAIL
15482 : }
15483 : static const uint8_t expand_encoding[] = {
15484 : 0x01, 0x1f, 0x01, 0x00, 0x03, 0x51, 0x01, 0x01,
15485 : 0x02, 0x01, 0x03
15486 : };
15487 : return complete_seq (expand_encoding, operands);
15488 : }
15489 :
15490 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5374 */
15491 : rtx
15492 : gen_vec_cmpuv4diqi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
15493 : {
15494 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
15495 : start_sequence ();
15496 : {
15497 : #define FAIL return (end_sequence (), nullptr)
15498 : #define DONE return end_sequence ()
15499 : #line 5380 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15500 : {
15501 : bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
15502 : operands[2], operands[3]);
15503 : gcc_assert (ok);
15504 : DONE;
15505 : }
15506 : #undef DONE
15507 : #undef FAIL
15508 : }
15509 : static const uint8_t expand_encoding[] = {
15510 : 0x01, 0x1f, 0x01, 0x00, 0x03, 0x0f, 0x01, 0x01,
15511 : 0x02, 0x01, 0x03
15512 : };
15513 : return complete_seq (expand_encoding, operands);
15514 : }
15515 :
15516 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5400 */
15517 : rtx
15518 : gen_vec_cmpuv8siv8si (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
15519 : {
15520 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
15521 : start_sequence ();
15522 : {
15523 : #define FAIL return (end_sequence (), nullptr)
15524 : #define DONE return end_sequence ()
15525 : #line 5406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15526 : {
15527 : bool ok = ix86_expand_int_vec_cmp (operands);
15528 : gcc_assert (ok);
15529 : DONE;
15530 : }
15531 : #undef DONE
15532 : #undef FAIL
15533 : }
15534 : static const uint8_t expand_encoding[] = {
15535 : 0x01, 0x1f, 0x01, 0x00, 0x03, 0x56, 0x01, 0x01,
15536 : 0x02, 0x01, 0x03
15537 : };
15538 : return complete_seq (expand_encoding, operands);
15539 : }
15540 :
15541 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5498 */
15542 : rtx
15543 : gen_vcond_mask_v4siqi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
15544 : {
15545 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
15546 : static const uint8_t expand_encoding[] = {
15547 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x51, 0x01, 0x01,
15548 : 0x01, 0x02, 0x01, 0x03
15549 : };
15550 : return expand_rtx (expand_encoding, operands);
15551 : }
15552 :
15553 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5498 */
15554 : rtx
15555 : gen_vcond_mask_v4dfqi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
15556 : {
15557 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
15558 : static const uint8_t expand_encoding[] = {
15559 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x70, 0x01, 0x01,
15560 : 0x01, 0x02, 0x01, 0x03
15561 : };
15562 : return expand_rtx (expand_encoding, operands);
15563 : }
15564 :
15565 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5506 */
15566 : rtx
15567 : gen_vcond_mask_v32hfsi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
15568 : {
15569 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
15570 : static const uint8_t expand_encoding[] = {
15571 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x73, 0x01, 0x01,
15572 : 0x01, 0x02, 0x01, 0x03
15573 : };
15574 : return expand_rtx (expand_encoding, operands);
15575 : }
15576 :
15577 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5533 */
15578 : rtx
15579 : gen_vcond_mask_v16qiv16qi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
15580 : {
15581 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
15582 : start_sequence ();
15583 : {
15584 : #define FAIL _Pragma ("GCC error \"vcond_mask_v16qiv16qi cannot FAIL\"") (void)0
15585 : #define DONE return end_sequence ()
15586 : #line 5540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15587 : {
15588 : ix86_expand_sse_movcc (operands[0], operands[3],
15589 : operands[1], operands[2]);
15590 : DONE;
15591 : }
15592 : #undef DONE
15593 : #undef FAIL
15594 : }
15595 : static const uint8_t expand_encoding[] = {
15596 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x4f, 0x01,
15597 : 0x01, 0x01, 0x02, 0x01, 0x03
15598 : };
15599 : return complete_seq (expand_encoding, operands);
15600 : }
15601 :
15602 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5585 */
15603 : rtx
15604 : gen_vcond_mask_hihi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
15605 : {
15606 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
15607 : start_sequence ();
15608 : {
15609 : #define FAIL _Pragma ("GCC error \"vcond_mask_hihi cannot FAIL\"") (void)0
15610 : #define DONE return end_sequence ()
15611 : #line 5591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15612 : {
15613 : /* (operand[1] & operand[3]) | (operand[2] & ~operand[3]) */
15614 : rtx op1 = gen_reg_rtx (HImode);
15615 : rtx op2 = gen_reg_rtx (HImode);
15616 : rtx op3 = gen_reg_rtx (HImode);
15617 :
15618 : emit_insn (gen_andhi3 (op1, operands[1], operands[3]));
15619 : emit_insn (gen_one_cmplhi2 (op3, operands[3]));
15620 : emit_insn (gen_andhi3 (op2, operands[2], op3));
15621 : emit_insn (gen_iorhi3 (operands[0], op1, op2));
15622 :
15623 : DONE;
15624 : }
15625 : #undef DONE
15626 : #undef FAIL
15627 : }
15628 : static const uint8_t expand_encoding[] = {
15629 : 0x04, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
15630 : 0x03
15631 : };
15632 : return complete_seq (expand_encoding, operands);
15633 : }
15634 :
15635 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5724 */
15636 : rtx
15637 : gen_iorv8hf3 (const rtx operand0, const rtx operand1, const rtx operand2)
15638 : {
15639 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
15640 : start_sequence ();
15641 : {
15642 : #define FAIL return (end_sequence (), nullptr)
15643 : #define DONE return end_sequence ()
15644 : #line 5731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15645 : ix86_fixup_binary_operands_no_copy (IOR, V8HFmode, operands);
15646 : #undef DONE
15647 : #undef FAIL
15648 : }
15649 : static const uint8_t expand_encoding[] = {
15650 : 0x01, 0x1f, 0x01, 0x00, 0x4a, 0x6a, 0x01, 0x01,
15651 : 0x01, 0x02
15652 : };
15653 : return complete_seq (expand_encoding, operands);
15654 : }
15655 :
15656 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5724 */
15657 : rtx
15658 : gen_iorv4sf3 (const rtx operand0, const rtx operand1, const rtx operand2)
15659 : {
15660 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
15661 : start_sequence ();
15662 : {
15663 : #define FAIL return (end_sequence (), nullptr)
15664 : #define DONE return end_sequence ()
15665 : #line 5731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15666 : ix86_fixup_binary_operands_no_copy (IOR, V4SFmode, operands);
15667 : #undef DONE
15668 : #undef FAIL
15669 : }
15670 : static const uint8_t expand_encoding[] = {
15671 : 0x01, 0x1f, 0x01, 0x00, 0x4a, 0x6b, 0x01, 0x01,
15672 : 0x01, 0x02
15673 : };
15674 : return complete_seq (expand_encoding, operands);
15675 : }
15676 :
15677 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5724 */
15678 : rtx
15679 : gen_andv2df3 (const rtx operand0, const rtx operand1, const rtx operand2)
15680 : {
15681 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
15682 : start_sequence ();
15683 : {
15684 : #define FAIL return (end_sequence (), nullptr)
15685 : #define DONE return end_sequence ()
15686 : #line 5731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15687 : ix86_fixup_binary_operands_no_copy (AND, V2DFmode, operands);
15688 : #undef DONE
15689 : #undef FAIL
15690 : }
15691 : static const uint8_t expand_encoding[] = {
15692 : 0x01, 0x1f, 0x01, 0x00, 0x49, 0x6c, 0x01, 0x01,
15693 : 0x01, 0x02
15694 : };
15695 : return complete_seq (expand_encoding, operands);
15696 : }
15697 :
15698 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5733 */
15699 : rtx
15700 : gen_iorv32hf3 (const rtx operand0, const rtx operand1, const rtx operand2)
15701 : {
15702 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
15703 : start_sequence ();
15704 : {
15705 : #define FAIL return (end_sequence (), nullptr)
15706 : #define DONE return end_sequence ()
15707 : #line 5739 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15708 : ix86_fixup_binary_operands_no_copy (IOR, V32HFmode, operands);
15709 : #undef DONE
15710 : #undef FAIL
15711 : }
15712 : static const uint8_t expand_encoding[] = {
15713 : 0x01, 0x1f, 0x01, 0x00, 0x4a, 0x73, 0x01, 0x01,
15714 : 0x01, 0x02
15715 : };
15716 : return complete_seq (expand_encoding, operands);
15717 : }
15718 :
15719 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5733 */
15720 : rtx
15721 : gen_iorv8df3 (const rtx operand0, const rtx operand1, const rtx operand2)
15722 : {
15723 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
15724 : start_sequence ();
15725 : {
15726 : #define FAIL return (end_sequence (), nullptr)
15727 : #define DONE return end_sequence ()
15728 : #line 5739 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15729 : ix86_fixup_binary_operands_no_copy (IOR, V8DFmode, operands);
15730 : #undef DONE
15731 : #undef FAIL
15732 : }
15733 : static const uint8_t expand_encoding[] = {
15734 : 0x01, 0x1f, 0x01, 0x00, 0x4a, 0x75, 0x01, 0x01,
15735 : 0x01, 0x02
15736 : };
15737 : return complete_seq (expand_encoding, operands);
15738 : }
15739 :
15740 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5852 */
15741 : extern rtx_insn *gen_split_1567 (rtx_insn *, rtx *);
15742 : rtx_insn *
15743 : gen_split_1567 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
15744 : {
15745 : if (dump_file)
15746 : fprintf (dump_file, "Splitting with gen_split_1567 (sse.md:5852)\n");
15747 : start_sequence ();
15748 : #define FAIL return (end_sequence (), nullptr)
15749 : #define DONE return end_sequence ()
15750 : #line 5860 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15751 : operands[1] = force_reg (V8HFmode, operands[1]);
15752 : #undef DONE
15753 : #undef FAIL
15754 : static const uint8_t expand_encoding[] = {
15755 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
15756 : };
15757 : return complete_seq (expand_encoding, operands);
15758 : }
15759 :
15760 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5862 */
15761 : rtx
15762 : gen_copysignv32hf3 (const rtx operand0, const rtx operand1, const rtx operand2)
15763 : {
15764 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
15765 : start_sequence ();
15766 : {
15767 : #define FAIL _Pragma ("GCC error \"copysignv32hf3 cannot FAIL\"") (void)0
15768 : #define DONE return end_sequence ()
15769 : #line 5873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15770 : {
15771 : operands[3] = ix86_build_signbit_mask (V32HFmode, 1, 0);
15772 :
15773 : operands[4] = gen_reg_rtx (V32HFmode);
15774 : operands[5] = gen_reg_rtx (V32HFmode);
15775 : }
15776 : #undef DONE
15777 : #undef FAIL
15778 : }
15779 : static const uint8_t expand_encoding[] = {
15780 : 0x03, 0x1f, 0x01, 0x04, 0x49, 0x73, 0x4c, 0x73,
15781 : 0x01, 0x03, 0x01, 0x01, 0x1f, 0x01, 0x05, 0x49,
15782 : 0x73, 0x01, 0x03, 0x01, 0x02, 0x1f, 0x01, 0x00,
15783 : 0x4a, 0x73, 0x01, 0x04, 0x01, 0x05
15784 : };
15785 : return complete_seq (expand_encoding, operands);
15786 : }
15787 :
15788 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5880 */
15789 : rtx
15790 : gen_xorsignv16bf3 (const rtx operand0, const rtx operand1, const rtx operand2)
15791 : {
15792 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
15793 : start_sequence ();
15794 : {
15795 : #define FAIL _Pragma ("GCC error \"xorsignv16bf3 cannot FAIL\"") (void)0
15796 : #define DONE return end_sequence ()
15797 : #line 5888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15798 : {
15799 : operands[3] = ix86_build_signbit_mask (V16BFmode, 1, 0);
15800 :
15801 : operands[4] = gen_reg_rtx (V16BFmode);
15802 : }
15803 : #undef DONE
15804 : #undef FAIL
15805 : }
15806 : static const uint8_t expand_encoding[] = {
15807 : 0x02, 0x1f, 0x01, 0x04, 0x49, 0x6d, 0x01, 0x03,
15808 : 0x01, 0x02, 0x1f, 0x01, 0x00, 0x4b, 0x6d, 0x01,
15809 : 0x04, 0x01, 0x01
15810 : };
15811 : return complete_seq (expand_encoding, operands);
15812 : }
15813 :
15814 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:5880 */
15815 : rtx
15816 : gen_xorsignv2df3 (const rtx operand0, const rtx operand1, const rtx operand2)
15817 : {
15818 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
15819 : start_sequence ();
15820 : {
15821 : #define FAIL _Pragma ("GCC error \"xorsignv2df3 cannot FAIL\"") (void)0
15822 : #define DONE return end_sequence ()
15823 : #line 5888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15824 : {
15825 : operands[3] = ix86_build_signbit_mask (V2DFmode, 1, 0);
15826 :
15827 : operands[4] = gen_reg_rtx (V2DFmode);
15828 : }
15829 : #undef DONE
15830 : #undef FAIL
15831 : }
15832 : static const uint8_t expand_encoding[] = {
15833 : 0x02, 0x1f, 0x01, 0x04, 0x49, 0x6c, 0x01, 0x03,
15834 : 0x01, 0x02, 0x1f, 0x01, 0x00, 0x4b, 0x6c, 0x01,
15835 : 0x04, 0x01, 0x01
15836 : };
15837 : return complete_seq (expand_encoding, operands);
15838 : }
15839 :
15840 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6204 */
15841 : rtx
15842 : gen_fmav2df4 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
15843 : {
15844 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
15845 : static const uint8_t expand_encoding[] = {
15846 : 0x1f, 0x01, 0x00, 0x81, 0x19, 0x6c, 0x01, 0x01,
15847 : 0x01, 0x02, 0x01, 0x03
15848 : };
15849 : return expand_rtx (expand_encoding, operands);
15850 : }
15851 :
15852 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6204 */
15853 : rtx
15854 : gen_fmav16bf4 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
15855 : {
15856 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
15857 : static const uint8_t expand_encoding[] = {
15858 : 0x1f, 0x01, 0x00, 0x81, 0x19, 0x6d, 0x01, 0x01,
15859 : 0x01, 0x02, 0x01, 0x03
15860 : };
15861 : return expand_rtx (expand_encoding, operands);
15862 : }
15863 :
15864 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6211 */
15865 : rtx
15866 : gen_fmshf4 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
15867 : {
15868 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
15869 : static const uint8_t expand_encoding[] = {
15870 : 0x1f, 0x01, 0x00, 0x81, 0x19, 0x2b, 0x01, 0x01,
15871 : 0x01, 0x02, 0x3d, 0x2b, 0x01, 0x03
15872 : };
15873 : return expand_rtx (expand_encoding, operands);
15874 : }
15875 :
15876 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6218 */
15877 : rtx
15878 : gen_fnmav2df4 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
15879 : {
15880 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
15881 : static const uint8_t expand_encoding[] = {
15882 : 0x1f, 0x01, 0x00, 0x81, 0x19, 0x6c, 0x3d, 0x6c,
15883 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
15884 : };
15885 : return expand_rtx (expand_encoding, operands);
15886 : }
15887 :
15888 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6218 */
15889 : rtx
15890 : gen_fnmav16bf4 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
15891 : {
15892 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
15893 : static const uint8_t expand_encoding[] = {
15894 : 0x1f, 0x01, 0x00, 0x81, 0x19, 0x6d, 0x3d, 0x6d,
15895 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
15896 : };
15897 : return expand_rtx (expand_encoding, operands);
15898 : }
15899 :
15900 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6225 */
15901 : rtx
15902 : gen_fnmshf4 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
15903 : {
15904 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
15905 : static const uint8_t expand_encoding[] = {
15906 : 0x1f, 0x01, 0x00, 0x81, 0x19, 0x2b, 0x3d, 0x2b,
15907 : 0x01, 0x01, 0x01, 0x02, 0x3d, 0x2b, 0x01, 0x03
15908 : };
15909 : return expand_rtx (expand_encoding, operands);
15910 : }
15911 :
15912 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6245 */
15913 : rtx
15914 : gen_fma4i_fmadd_v2df (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
15915 : {
15916 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
15917 : static const uint8_t expand_encoding[] = {
15918 : 0x1f, 0x01, 0x00, 0x81, 0x19, 0x6c, 0x01, 0x01,
15919 : 0x01, 0x02, 0x01, 0x03
15920 : };
15921 : return expand_rtx (expand_encoding, operands);
15922 : }
15923 :
15924 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6252 */
15925 : rtx
15926 : gen_fma4i_fmsub_v4df (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
15927 : {
15928 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
15929 : static const uint8_t expand_encoding[] = {
15930 : 0x1f, 0x01, 0x00, 0x81, 0x19, 0x70, 0x01, 0x01,
15931 : 0x01, 0x02, 0x3d, 0x70, 0x01, 0x03
15932 : };
15933 : return expand_rtx (expand_encoding, operands);
15934 : }
15935 :
15936 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6260 */
15937 : rtx
15938 : gen_fma4i_fnmadd_v8df (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
15939 : {
15940 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
15941 : static const uint8_t expand_encoding[] = {
15942 : 0x1f, 0x01, 0x00, 0x81, 0x19, 0x75, 0x3d, 0x75,
15943 : 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
15944 : };
15945 : return expand_rtx (expand_encoding, operands);
15946 : }
15947 :
15948 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6277 */
15949 : rtx
15950 : gen_avx512bw_fmadd_v32hf_maskz_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
15951 : {
15952 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
15953 : start_sequence ();
15954 : {
15955 : #define FAIL return (end_sequence (), nullptr)
15956 : #define DONE return end_sequence ()
15957 : #line 6284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15958 : {
15959 : emit_insn (gen_fma_fmadd_v32hf_maskz_1_round (
15960 : operands[0], operands[1], operands[2], operands[3],
15961 : CONST0_RTX (V32HFmode), operands[4], operands[5]));
15962 : DONE;
15963 : }
15964 : #undef DONE
15965 : #undef FAIL
15966 : }
15967 : static const uint8_t expand_encoding[] = {
15968 : 0x06, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
15969 : 0x03, 0x01, 0x04, 0x1a, 0x00, 0x01, 0x01, 0x05,
15970 : 0x81, 0x33
15971 : };
15972 : return complete_seq (expand_encoding, operands);
15973 : }
15974 :
15975 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6277 */
15976 : rtx
15977 : gen_avx512f_fmadd_v8df_maskz (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
15978 : {
15979 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
15980 : start_sequence ();
15981 : {
15982 : #define FAIL return (end_sequence (), nullptr)
15983 : #define DONE return end_sequence ()
15984 : #line 6284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15985 : {
15986 : emit_insn (gen_fma_fmadd_v8df_maskz_1 (
15987 : operands[0], operands[1], operands[2], operands[3],
15988 : CONST0_RTX (V8DFmode), operands[4]));
15989 : DONE;
15990 : }
15991 : #undef DONE
15992 : #undef FAIL
15993 : }
15994 : static const uint8_t expand_encoding[] = {
15995 : 0x05, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
15996 : 0x03, 0x01, 0x04
15997 : };
15998 : return complete_seq (expand_encoding, operands);
15999 : }
16000 :
16001 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6332 */
16002 : rtx
16003 : gen_cond_fmav16sf (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
16004 : {
16005 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
16006 : start_sequence ();
16007 : {
16008 : #define FAIL _Pragma ("GCC error \"cond_fmav16sf cannot FAIL\"") (void)0
16009 : #define DONE return end_sequence ()
16010 : #line 6342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16011 : {
16012 : rtx tmp = gen_reg_rtx (V16SFmode);
16013 : emit_insn (gen_fmav16sf4 (tmp,
16014 : operands[2],
16015 : operands[3],
16016 : operands[4]));
16017 : emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V16SFmode,
16018 : tmp,
16019 : operands[5],
16020 : operands[1]));
16021 : DONE;
16022 : }
16023 : #undef DONE
16024 : #undef FAIL
16025 : }
16026 : static const uint8_t expand_encoding[] = {
16027 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x74, 0x81,
16028 : 0x19, 0x74, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04,
16029 : 0x01, 0x05, 0x01, 0x01
16030 : };
16031 : return complete_seq (expand_encoding, operands);
16032 : }
16033 :
16034 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6405 */
16035 : rtx
16036 : gen_avx512fp16_fmsub_v8hf_maskz (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
16037 : {
16038 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
16039 : start_sequence ();
16040 : {
16041 : #define FAIL return (end_sequence (), nullptr)
16042 : #define DONE return end_sequence ()
16043 : #line 6412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16044 : {
16045 : emit_insn (gen_fma_fmsub_v8hf_maskz_1 (
16046 : operands[0], operands[1], operands[2], operands[3],
16047 : CONST0_RTX (V8HFmode), operands[4]));
16048 : DONE;
16049 : }
16050 : #undef DONE
16051 : #undef FAIL
16052 : }
16053 : static const uint8_t expand_encoding[] = {
16054 : 0x05, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
16055 : 0x03, 0x01, 0x04
16056 : };
16057 : return complete_seq (expand_encoding, operands);
16058 : }
16059 :
16060 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6405 */
16061 : rtx
16062 : gen_avx512vl_fmsub_v4df_maskz (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
16063 : {
16064 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
16065 : start_sequence ();
16066 : {
16067 : #define FAIL return (end_sequence (), nullptr)
16068 : #define DONE return end_sequence ()
16069 : #line 6412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16070 : {
16071 : emit_insn (gen_fma_fmsub_v4df_maskz_1 (
16072 : operands[0], operands[1], operands[2], operands[3],
16073 : CONST0_RTX (V4DFmode), operands[4]));
16074 : DONE;
16075 : }
16076 : #undef DONE
16077 : #undef FAIL
16078 : }
16079 : static const uint8_t expand_encoding[] = {
16080 : 0x05, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
16081 : 0x03, 0x01, 0x04
16082 : };
16083 : return complete_seq (expand_encoding, operands);
16084 : }
16085 :
16086 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6435 */
16087 : rtx
16088 : gen_cond_fmsv4sf (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
16089 : {
16090 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
16091 : start_sequence ();
16092 : {
16093 : #define FAIL _Pragma ("GCC error \"cond_fmsv4sf cannot FAIL\"") (void)0
16094 : #define DONE return end_sequence ()
16095 : #line 6446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16096 : {
16097 : rtx tmp = gen_reg_rtx (V4SFmode);
16098 : emit_insn (gen_fmsv4sf4 (tmp,
16099 : operands[2],
16100 : operands[3],
16101 : operands[4]));
16102 : emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V4SFmode,
16103 : tmp,
16104 : operands[5],
16105 : operands[1]));
16106 : DONE;
16107 : }
16108 : #undef DONE
16109 : #undef FAIL
16110 : }
16111 : static const uint8_t expand_encoding[] = {
16112 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6b, 0x81,
16113 : 0x19, 0x6b, 0x01, 0x02, 0x01, 0x03, 0x3d, 0x6b,
16114 : 0x01, 0x04, 0x01, 0x05, 0x01, 0x01
16115 : };
16116 : return complete_seq (expand_encoding, operands);
16117 : }
16118 :
16119 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6511 */
16120 : rtx
16121 : gen_avx512f_fnmadd_v16sf_maskz (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
16122 : {
16123 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
16124 : start_sequence ();
16125 : {
16126 : #define FAIL return (end_sequence (), nullptr)
16127 : #define DONE return end_sequence ()
16128 : #line 6518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16129 : {
16130 : emit_insn (gen_fma_fnmadd_v16sf_maskz_1 (
16131 : operands[0], operands[1], operands[2], operands[3],
16132 : CONST0_RTX (V16SFmode), operands[4]));
16133 : DONE;
16134 : }
16135 : #undef DONE
16136 : #undef FAIL
16137 : }
16138 : static const uint8_t expand_encoding[] = {
16139 : 0x05, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
16140 : 0x03, 0x01, 0x04
16141 : };
16142 : return complete_seq (expand_encoding, operands);
16143 : }
16144 :
16145 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6511 */
16146 : rtx
16147 : gen_avx512vl_fnmadd_v2df_maskz (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
16148 : {
16149 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
16150 : start_sequence ();
16151 : {
16152 : #define FAIL return (end_sequence (), nullptr)
16153 : #define DONE return end_sequence ()
16154 : #line 6518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16155 : {
16156 : emit_insn (gen_fma_fnmadd_v2df_maskz_1 (
16157 : operands[0], operands[1], operands[2], operands[3],
16158 : CONST0_RTX (V2DFmode), operands[4]));
16159 : DONE;
16160 : }
16161 : #undef DONE
16162 : #undef FAIL
16163 : }
16164 : static const uint8_t expand_encoding[] = {
16165 : 0x05, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
16166 : 0x03, 0x01, 0x04
16167 : };
16168 : return complete_seq (expand_encoding, operands);
16169 : }
16170 :
16171 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6541 */
16172 : rtx
16173 : gen_cond_fnmav2df (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
16174 : {
16175 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
16176 : start_sequence ();
16177 : {
16178 : #define FAIL _Pragma ("GCC error \"cond_fnmav2df cannot FAIL\"") (void)0
16179 : #define DONE return end_sequence ()
16180 : #line 6552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16181 : {
16182 : rtx tmp = gen_reg_rtx (V2DFmode);
16183 : emit_insn (gen_fnmav2df4 (tmp,
16184 : operands[2],
16185 : operands[3],
16186 : operands[4]));
16187 : emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V2DFmode,
16188 : tmp,
16189 : operands[5],
16190 : operands[1]));
16191 : DONE;
16192 : }
16193 : #undef DONE
16194 : #undef FAIL
16195 : }
16196 : static const uint8_t expand_encoding[] = {
16197 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6c, 0x81,
16198 : 0x19, 0x6c, 0x3d, 0x6c, 0x01, 0x02, 0x01, 0x03,
16199 : 0x01, 0x04, 0x01, 0x05, 0x01, 0x01
16200 : };
16201 : return complete_seq (expand_encoding, operands);
16202 : }
16203 :
16204 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6618 */
16205 : rtx
16206 : gen_avx512vl_fnmsub_v4sf_maskz (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
16207 : {
16208 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
16209 : start_sequence ();
16210 : {
16211 : #define FAIL return (end_sequence (), nullptr)
16212 : #define DONE return end_sequence ()
16213 : #line 6625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16214 : {
16215 : emit_insn (gen_fma_fnmsub_v4sf_maskz_1 (
16216 : operands[0], operands[1], operands[2], operands[3],
16217 : CONST0_RTX (V4SFmode), operands[4]));
16218 : DONE;
16219 : }
16220 : #undef DONE
16221 : #undef FAIL
16222 : }
16223 : static const uint8_t expand_encoding[] = {
16224 : 0x05, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
16225 : 0x03, 0x01, 0x04
16226 : };
16227 : return complete_seq (expand_encoding, operands);
16228 : }
16229 :
16230 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6649 */
16231 : rtx
16232 : gen_cond_fnmsv16hf (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
16233 : {
16234 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
16235 : start_sequence ();
16236 : {
16237 : #define FAIL _Pragma ("GCC error \"cond_fnmsv16hf cannot FAIL\"") (void)0
16238 : #define DONE return end_sequence ()
16239 : #line 6661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16240 : {
16241 : rtx tmp = gen_reg_rtx (V16HFmode);
16242 : emit_insn (gen_fnmsv16hf4 (tmp,
16243 : operands[2],
16244 : operands[3],
16245 : operands[4]));
16246 : emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V16HFmode,
16247 : tmp,
16248 : operands[5],
16249 : operands[1]));
16250 : DONE;
16251 : }
16252 : #undef DONE
16253 : #undef FAIL
16254 : }
16255 : static const uint8_t expand_encoding[] = {
16256 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6e, 0x81,
16257 : 0x19, 0x6e, 0x3d, 0x6e, 0x01, 0x02, 0x01, 0x03,
16258 : 0x3d, 0x6e, 0x01, 0x04, 0x01, 0x05, 0x01, 0x01
16259 : };
16260 : return complete_seq (expand_encoding, operands);
16261 : }
16262 :
16263 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6721 */
16264 : rtx
16265 : gen_vec_fmaddsubv8hf4 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
16266 : {
16267 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
16268 : static const uint8_t expand_encoding[] = {
16269 : 0x1f, 0x01, 0x00, 0x1a, 0x6a, 0x03, 0x01, 0x01,
16270 : 0x01, 0x02, 0x01, 0x03, 0x81, 0x06
16271 : };
16272 : return expand_rtx (expand_encoding, operands);
16273 : }
16274 :
16275 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6730 */
16276 : rtx
16277 : gen_vec_fmsubaddv16hf4 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
16278 : {
16279 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
16280 : static const uint8_t expand_encoding[] = {
16281 : 0x1f, 0x01, 0x00, 0x1a, 0x6e, 0x03, 0x01, 0x01,
16282 : 0x01, 0x02, 0x3d, 0x6e, 0x01, 0x03, 0x81, 0x06
16283 : };
16284 : return expand_rtx (expand_encoding, operands);
16285 : }
16286 :
16287 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6740 */
16288 : rtx
16289 : gen_fmaddsub_v4sf (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
16290 : {
16291 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
16292 : static const uint8_t expand_encoding[] = {
16293 : 0x1f, 0x01, 0x00, 0x1a, 0x6b, 0x03, 0x01, 0x01,
16294 : 0x01, 0x02, 0x01, 0x03, 0x81, 0x06
16295 : };
16296 : return expand_rtx (expand_encoding, operands);
16297 : }
16298 :
16299 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6749 */
16300 : rtx
16301 : gen_avx512f_fmaddsub_v16sf_maskz (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
16302 : {
16303 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
16304 : start_sequence ();
16305 : {
16306 : #define FAIL return (end_sequence (), nullptr)
16307 : #define DONE return end_sequence ()
16308 : #line 6756 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16309 : {
16310 : emit_insn (gen_fma_fmaddsub_v16sf_maskz_1 (
16311 : operands[0], operands[1], operands[2], operands[3],
16312 : CONST0_RTX (V16SFmode), operands[4]));
16313 : DONE;
16314 : }
16315 : #undef DONE
16316 : #undef FAIL
16317 : }
16318 : static const uint8_t expand_encoding[] = {
16319 : 0x05, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
16320 : 0x03, 0x01, 0x04
16321 : };
16322 : return complete_seq (expand_encoding, operands);
16323 : }
16324 :
16325 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6749 */
16326 : rtx
16327 : gen_avx512vl_fmaddsub_v4df_maskz_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
16328 : {
16329 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
16330 : start_sequence ();
16331 : {
16332 : #define FAIL return (end_sequence (), nullptr)
16333 : #define DONE return end_sequence ()
16334 : #line 6756 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16335 : {
16336 : emit_insn (gen_fma_fmaddsub_v4df_maskz_1_round (
16337 : operands[0], operands[1], operands[2], operands[3],
16338 : CONST0_RTX (V4DFmode), operands[4], operands[5]));
16339 : DONE;
16340 : }
16341 : #undef DONE
16342 : #undef FAIL
16343 : }
16344 : static const uint8_t expand_encoding[] = {
16345 : 0x06, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
16346 : 0x03, 0x01, 0x04, 0x1a, 0x00, 0x01, 0x01, 0x05,
16347 : 0x81, 0x33
16348 : };
16349 : return complete_seq (expand_encoding, operands);
16350 : }
16351 :
16352 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6763 */
16353 : rtx
16354 : gen_avx512vl_fmsubadd_v8sf_maskz (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
16355 : {
16356 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
16357 : start_sequence ();
16358 : {
16359 : #define FAIL return (end_sequence (), nullptr)
16360 : #define DONE return end_sequence ()
16361 : #line 6770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16362 : {
16363 : emit_insn (gen_fma_fmsubadd_v8sf_maskz_1 (
16364 : operands[0], operands[1], operands[2], operands[3],
16365 : CONST0_RTX (V8SFmode), operands[4]));
16366 : DONE;
16367 : }
16368 : #undef DONE
16369 : #undef FAIL
16370 : }
16371 : static const uint8_t expand_encoding[] = {
16372 : 0x05, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
16373 : 0x03, 0x01, 0x04
16374 : };
16375 : return complete_seq (expand_encoding, operands);
16376 : }
16377 :
16378 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6763 */
16379 : rtx
16380 : gen_avx512vl_fmsubadd_v2df_maskz_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
16381 : {
16382 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
16383 : start_sequence ();
16384 : {
16385 : #define FAIL return (end_sequence (), nullptr)
16386 : #define DONE return end_sequence ()
16387 : #line 6770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16388 : {
16389 : emit_insn (gen_fma_fmsubadd_v2df_maskz_1_round (
16390 : operands[0], operands[1], operands[2], operands[3],
16391 : CONST0_RTX (V2DFmode), operands[4], operands[5]));
16392 : DONE;
16393 : }
16394 : #undef DONE
16395 : #undef FAIL
16396 : }
16397 : static const uint8_t expand_encoding[] = {
16398 : 0x06, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
16399 : 0x03, 0x01, 0x04, 0x1a, 0x00, 0x01, 0x01, 0x05,
16400 : 0x81, 0x33
16401 : };
16402 : return complete_seq (expand_encoding, operands);
16403 : }
16404 :
16405 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6943 */
16406 : rtx
16407 : gen_fmai_vmfnmadd_v4sf (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
16408 : {
16409 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
16410 : static const uint8_t expand_encoding[] = {
16411 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6b, 0x81, 0x19,
16412 : 0x6b, 0x3d, 0x6b, 0x01, 0x01, 0x01, 0x02, 0x01,
16413 : 0x03, 0x01, 0x01, 0x27, 0x01
16414 : };
16415 : return expand_rtx (expand_encoding, operands);
16416 : }
16417 :
16418 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:6955 */
16419 : rtx
16420 : gen_fmai_vmfnmsub_v2df (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
16421 : {
16422 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
16423 : static const uint8_t expand_encoding[] = {
16424 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6c, 0x81, 0x19,
16425 : 0x6c, 0x3d, 0x6c, 0x01, 0x01, 0x01, 0x02, 0x3d,
16426 : 0x6c, 0x01, 0x03, 0x01, 0x01, 0x27, 0x01
16427 : };
16428 : return expand_rtx (expand_encoding, operands);
16429 : }
16430 :
16431 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:7213 */
16432 : rtx
16433 : gen_avx512f_vmfnmadd_v8hf_maskz_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
16434 : {
16435 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
16436 : start_sequence ();
16437 : {
16438 : #define FAIL return (end_sequence (), nullptr)
16439 : #define DONE return end_sequence ()
16440 : #line 7220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16441 : {
16442 : emit_insn (gen_avx512f_vmfnmadd_v8hf_maskz_1_round (
16443 : operands[0], operands[1], operands[2], operands[3],
16444 : CONST0_RTX (V8HFmode), operands[4], operands[5]));
16445 : DONE;
16446 : }
16447 : #undef DONE
16448 : #undef FAIL
16449 : }
16450 : static const uint8_t expand_encoding[] = {
16451 : 0x06, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
16452 : 0x03, 0x01, 0x04, 0x1a, 0x00, 0x01, 0x01, 0x05,
16453 : 0x81, 0x33
16454 : };
16455 : return complete_seq (expand_encoding, operands);
16456 : }
16457 :
16458 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:7435 */
16459 : rtx
16460 : gen_avx512fp16_fmaddc_v8hf_mask1 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
16461 : {
16462 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
16463 : start_sequence ();
16464 : {
16465 : #define FAIL return (end_sequence (), nullptr)
16466 : #define DONE return end_sequence ()
16467 : #line 7442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16468 : {
16469 : rtx op0, op1, dest;
16470 : if (0)
16471 : emit_insn (gen_avx512fp16_fmaddc_v8hf_mask (
16472 : operands[0], operands[1], operands[2], operands[3],
16473 : operands[4]));
16474 : else
16475 : emit_insn (gen_avx512fp16_fmaddc_v8hf_mask (operands[0],
16476 : operands[1], operands[2], operands[3], operands[4]));
16477 :
16478 : op0 = lowpart_subreg (V4SFmode,
16479 : force_reg (V8HFmode, operands[0]),
16480 : V8HFmode);
16481 : dest = gen_reg_rtx (V4SFmode);
16482 : if (!MEM_P (operands[1]))
16483 : operands[1] = force_reg (V8HFmode, operands[1]);
16484 : op1 = lowpart_subreg (V4SFmode, operands[1], V8HFmode);
16485 : emit_insn (gen_avx512vl_loadv4sf_mask (dest, op0, op1, operands[4]));
16486 : emit_move_insn (operands[0],
16487 : lowpart_subreg (V8HFmode, dest, V4SFmode));
16488 : DONE;
16489 : }
16490 : #undef DONE
16491 : #undef FAIL
16492 : }
16493 : static const uint8_t expand_encoding[] = {
16494 : 0x05, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
16495 : 0x03, 0x01, 0x04
16496 : };
16497 : return complete_seq (expand_encoding, operands);
16498 : }
16499 :
16500 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:7479 */
16501 : rtx
16502 : gen_avx512vl_fcmaddc_v16hf_mask1_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
16503 : {
16504 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
16505 : start_sequence ();
16506 : {
16507 : #define FAIL return (end_sequence (), nullptr)
16508 : #define DONE return end_sequence ()
16509 : #line 7486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16510 : {
16511 : rtx op0, op1, dest;
16512 : if (!(CONST_INT_P (operands[5])
16513 : && (INTVAL (operands[5])
16514 : == NO_ROUND)))
16515 : emit_insn (gen_avx512vl_fcmaddc_v16hf_mask_round (
16516 : operands[0], operands[1], operands[2], operands[3],
16517 : operands[4], operands[5]));
16518 : else
16519 : {
16520 : emit_insn (gen_avx512vl_fcmaddc_v16hf_mask (operands[0],
16521 : operands[1], operands[2], operands[3], operands[4]));
16522 : }
16523 :
16524 : op0 = lowpart_subreg (V8SFmode,
16525 : force_reg (V16HFmode, operands[0]),
16526 : V16HFmode);
16527 : dest = gen_reg_rtx (V8SFmode);
16528 : if (!MEM_P (operands[1]))
16529 : operands[1] = force_reg (V16HFmode, operands[1]);
16530 : op1 = lowpart_subreg (V8SFmode, operands[1], V16HFmode);
16531 : emit_insn (gen_avx512vl_loadv8sf_mask (dest, op0, op1, operands[4]));
16532 : emit_move_insn (operands[0],
16533 : lowpart_subreg (V16HFmode, dest, V8SFmode));
16534 : DONE;
16535 : }
16536 : #undef DONE
16537 : #undef FAIL
16538 : }
16539 : static const uint8_t expand_encoding[] = {
16540 : 0x06, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
16541 : 0x03, 0x01, 0x04, 0x1a, 0x00, 0x01, 0x01, 0x05,
16542 : 0x81, 0x33
16543 : };
16544 : return complete_seq (expand_encoding, operands);
16545 : }
16546 :
16547 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:7525 */
16548 : rtx
16549 : gen_cmla_conjv8hf4 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
16550 : {
16551 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
16552 : static const uint8_t expand_encoding[] = {
16553 : 0x1f, 0x01, 0x00, 0x1a, 0x6a, 0x03, 0x01, 0x01,
16554 : 0x01, 0x02, 0x01, 0x03, 0x81, 0x5c
16555 : };
16556 : return expand_rtx (expand_encoding, operands);
16557 : }
16558 :
16559 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:7581 */
16560 : extern rtx_insn *gen_split_1582 (rtx_insn *, rtx *);
16561 : rtx_insn *
16562 : gen_split_1582 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
16563 : {
16564 : if (dump_file)
16565 : fprintf (dump_file, "Splitting with gen_split_1582 (sse.md:7581)\n");
16566 : start_sequence ();
16567 : static const uint8_t expand_encoding[] = {
16568 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6e, 0x03, 0x01,
16569 : 0x01, 0x01, 0x02, 0x01, 0x04, 0x81, 0x5a
16570 : };
16571 : return complete_seq (expand_encoding, operands);
16572 : }
16573 :
16574 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:7685 */
16575 : rtx
16576 : gen_cmulv32hf3 (const rtx operand0, const rtx operand1, const rtx operand2)
16577 : {
16578 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
16579 : static const uint8_t expand_encoding[] = {
16580 : 0x1f, 0x01, 0x00, 0x1a, 0x73, 0x02, 0x01, 0x01,
16581 : 0x01, 0x02, 0x81, 0x5e
16582 : };
16583 : return expand_rtx (expand_encoding, operands);
16584 : }
16585 :
16586 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:7685 */
16587 : rtx
16588 : gen_cmulv8hf3 (const rtx operand0, const rtx operand1, const rtx operand2)
16589 : {
16590 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
16591 : static const uint8_t expand_encoding[] = {
16592 : 0x1f, 0x01, 0x00, 0x1a, 0x6a, 0x02, 0x01, 0x01,
16593 : 0x01, 0x02, 0x81, 0x5e
16594 : };
16595 : return expand_rtx (expand_encoding, operands);
16596 : }
16597 :
16598 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:7724 */
16599 : rtx
16600 : gen_avx512fp16_fmaddcsh_v8hf_mask1 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
16601 : {
16602 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
16603 : start_sequence ();
16604 : {
16605 : #define FAIL return (end_sequence (), nullptr)
16606 : #define DONE return end_sequence ()
16607 : #line 7731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16608 : {
16609 : rtx op0, op1, dest;
16610 :
16611 : if (0)
16612 : emit_insn (gen_avx512fp16_fmaddcsh_v8hf_mask (
16613 : operands[0], operands[1], operands[2], operands[3],
16614 : operands[4]));
16615 : else
16616 : emit_insn (gen_avx512fp16_fmaddcsh_v8hf_mask (operands[0],
16617 : operands[1], operands[2], operands[3], operands[4]));
16618 :
16619 : op0 = lowpart_subreg (V4SFmode, force_reg (V8HFmode, operands[0]),
16620 : V8HFmode);
16621 : if (!MEM_P (operands[1]))
16622 : operands[1] = force_reg (V8HFmode, operands[1]);
16623 : op1 = lowpart_subreg (V4SFmode, operands[1], V8HFmode);
16624 : dest = gen_reg_rtx (V4SFmode);
16625 : emit_insn (gen_avx512f_movsf_mask (dest, op1, op0, op1, operands[4]));
16626 : emit_move_insn (operands[0], lowpart_subreg (V8HFmode, dest,
16627 : V4SFmode));
16628 : DONE;
16629 : }
16630 : #undef DONE
16631 : #undef FAIL
16632 : }
16633 : static const uint8_t expand_encoding[] = {
16634 : 0x05, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
16635 : 0x03, 0x01, 0x04
16636 : };
16637 : return complete_seq (expand_encoding, operands);
16638 : }
16639 :
16640 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:7937 */
16641 : rtx
16642 : gen_vec_unpacks_lo_v8hf (const rtx operand0, const rtx operand1)
16643 : {
16644 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
16645 : start_sequence ();
16646 : {
16647 : #define FAIL return (end_sequence (), nullptr)
16648 : #define DONE return end_sequence ()
16649 : #line 7941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16650 : {
16651 : rtx tem = operands[1];
16652 : rtx (*gen) (rtx, rtx);
16653 : if (V8HFmode != V8HFmode)
16654 : {
16655 : tem = gen_reg_rtx (V4HFmode);
16656 : emit_insn (gen_vec_extract_lo_v16hf (tem,
16657 : operands[1]));
16658 : gen = gen_extendv4hfv4sf2;
16659 : }
16660 : else
16661 : gen = gen_avx512fp16_float_extend_phv4sf2;
16662 :
16663 : emit_insn (gen (operands[0], tem));
16664 : DONE;
16665 : }
16666 : #undef DONE
16667 : #undef FAIL
16668 : }
16669 : static const uint8_t expand_encoding[] = {
16670 : 0x02, 0x01, 0x00, 0x01, 0x01
16671 : };
16672 : return complete_seq (expand_encoding, operands);
16673 : }
16674 :
16675 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8017 */
16676 : rtx
16677 : gen_floatunsv32hiv32hf2 (const rtx operand0, const rtx operand1)
16678 : {
16679 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
16680 : static const uint8_t expand_encoding[] = {
16681 : 0x1f, 0x01, 0x00, 0x75, 0x73, 0x01, 0x01
16682 : };
16683 : return expand_rtx (expand_encoding, operands);
16684 : }
16685 :
16686 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8033 */
16687 : rtx
16688 : gen_floatv4siv4hf2 (const rtx operand0, const rtx operand1)
16689 : {
16690 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
16691 : start_sequence ();
16692 : {
16693 : #define FAIL return (end_sequence (), nullptr)
16694 : #define DONE return end_sequence ()
16695 : #line 8038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16696 : {
16697 : rtx dest = gen_reg_rtx (V8HFmode);
16698 : emit_insn (gen_avx512fp16_floatv4siv4hf2 (dest,
16699 : operands[1]));
16700 : emit_move_insn (operands[0], lowpart_subreg (V4HFmode, dest, V8HFmode));
16701 : DONE;
16702 : }
16703 : #undef DONE
16704 : #undef FAIL
16705 : }
16706 : static const uint8_t expand_encoding[] = {
16707 : 0x01, 0x1f, 0x01, 0x00, 0x73, 0x66, 0x01, 0x01
16708 : };
16709 : return complete_seq (expand_encoding, operands);
16710 : }
16711 :
16712 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8065 */
16713 : rtx
16714 : gen_avx512fp16_vcvtqq2ph_v4di_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
16715 : {
16716 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
16717 : start_sequence ();
16718 : {
16719 : #define FAIL return (end_sequence (), nullptr)
16720 : #define DONE return end_sequence ()
16721 : #line 8076 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16722 : operands[4] = CONST0_RTX (V4HFmode);
16723 : #undef DONE
16724 : #undef FAIL
16725 : }
16726 : static const uint8_t expand_encoding[] = {
16727 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x6a, 0x81,
16728 : 0x09, 0x66, 0x73, 0x66, 0x01, 0x01, 0x81, 0x0a,
16729 : 0x66, 0x01, 0x02, 0x17, 0x00, 0x04, 0x27, 0x00,
16730 : 0x27, 0x01, 0x27, 0x02, 0x27, 0x03, 0x01, 0x03,
16731 : 0x01, 0x04
16732 : };
16733 : return complete_seq (expand_encoding, operands);
16734 : }
16735 :
16736 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8225 */
16737 : rtx
16738 : gen_fix_truncv16hfv16si2 (const rtx operand0, const rtx operand1)
16739 : {
16740 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
16741 : static const uint8_t expand_encoding[] = {
16742 : 0x1f, 0x01, 0x00, 0x74, 0x5b, 0x01, 0x01
16743 : };
16744 : return expand_rtx (expand_encoding, operands);
16745 : }
16746 :
16747 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8389 */
16748 : rtx
16749 : gen_extendv8hfv8df2 (const rtx operand0, const rtx operand1)
16750 : {
16751 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
16752 : static const uint8_t expand_encoding[] = {
16753 : 0x1f, 0x01, 0x00, 0x71, 0x75, 0x01, 0x01
16754 : };
16755 : return expand_rtx (expand_encoding, operands);
16756 : }
16757 :
16758 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8405 */
16759 : rtx
16760 : gen_extendv4hfv4sf2 (const rtx operand0, const rtx operand1)
16761 : {
16762 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
16763 : start_sequence ();
16764 : {
16765 : #define FAIL return (end_sequence (), nullptr)
16766 : #define DONE return end_sequence ()
16767 : #line 8410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16768 : {
16769 : if (!MEM_P (operands[1]))
16770 : {
16771 : operands[1] = lowpart_subreg (V8HFmode,
16772 : force_reg (V4HFmode, operands[1]),
16773 : V4HFmode);
16774 : emit_insn (gen_avx512fp16_float_extend_phv4sf2
16775 : (operands[0], operands[1]));
16776 : DONE;
16777 : }
16778 : }
16779 : #undef DONE
16780 : #undef FAIL
16781 : }
16782 : static const uint8_t expand_encoding[] = {
16783 : 0x01, 0x1f, 0x01, 0x00, 0x71, 0x6b, 0x01, 0x01
16784 : };
16785 : return complete_seq (expand_encoding, operands);
16786 : }
16787 :
16788 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:8611 */
16789 : rtx
16790 : gen_avx512fp16_vcvtpd2ph_v2df_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
16791 : {
16792 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
16793 : start_sequence ();
16794 : {
16795 : #define FAIL return (end_sequence (), nullptr)
16796 : #define DONE return end_sequence ()
16797 : #line 8623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16798 : operands[4] = CONST0_RTX (V6HFmode);
16799 : #undef DONE
16800 : #undef FAIL
16801 : }
16802 : static const uint8_t expand_encoding[] = {
16803 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x6a, 0x81,
16804 : 0x09, 0x63, 0x72, 0x63, 0x01, 0x01, 0x81, 0x0a,
16805 : 0x63, 0x01, 0x02, 0x17, 0x00, 0x02, 0x27, 0x00,
16806 : 0x27, 0x01, 0x01, 0x03, 0x01, 0x04
16807 : };
16808 : return complete_seq (expand_encoding, operands);
16809 : }
16810 :
16811 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:9246 */
16812 : rtx
16813 : gen_floatv2siv2df2 (const rtx operand0, const rtx operand1)
16814 : {
16815 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
16816 : static const uint8_t expand_encoding[] = {
16817 : 0x1f, 0x01, 0x00, 0x73, 0x6c, 0x01, 0x01
16818 : };
16819 : return expand_rtx (expand_encoding, operands);
16820 : }
16821 :
16822 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:9560 */
16823 : rtx
16824 : gen_avx512dq_floatv2div2sf2 (const rtx operand0, const rtx operand1)
16825 : {
16826 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1 };
16827 : start_sequence ();
16828 : {
16829 : #define FAIL return (end_sequence (), nullptr)
16830 : #define DONE return end_sequence ()
16831 : #line 9566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16832 : operands[2] = CONST0_RTX (V2SFmode);
16833 : #undef DONE
16834 : #undef FAIL
16835 : }
16836 : static const uint8_t expand_encoding[] = {
16837 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x6b, 0x73,
16838 : 0x67, 0x01, 0x01, 0x01, 0x02
16839 : };
16840 : return complete_seq (expand_encoding, operands);
16841 : }
16842 :
16843 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:9606 */
16844 : rtx
16845 : gen_vec_packu_float_v2di (const rtx operand0, const rtx operand1, const rtx operand2)
16846 : {
16847 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
16848 : start_sequence ();
16849 : {
16850 : #define FAIL return (end_sequence (), nullptr)
16851 : #define DONE return end_sequence ()
16852 : #line 9612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16853 : {
16854 : rtx r1 = gen_reg_rtx (V4SFmode);
16855 : rtx r2 = gen_reg_rtx (V4SFmode);
16856 : rtx (*gen) (rtx, rtx);
16857 :
16858 : if (V2DImode == V2DImode)
16859 : gen = gen_avx512dq_floatunsv2div2sf2;
16860 : else
16861 : gen = gen_floatunsv2div2sf2;
16862 : emit_insn (gen (r1, operands[1]));
16863 : emit_insn (gen (r2, operands[2]));
16864 : if (V2DImode == V2DImode)
16865 : emit_insn (gen_sse_movlhps (operands[0], r1, r2));
16866 : else
16867 : emit_insn (gen_avx_vec_concatv8sf (operands[0],
16868 : r1, r2));
16869 : DONE;
16870 : }
16871 : #undef DONE
16872 : #undef FAIL
16873 : }
16874 : static const uint8_t expand_encoding[] = {
16875 : 0x03, 0x01, 0x00, 0x75, 0x6b, 0x01, 0x01, 0x01,
16876 : 0x02
16877 : };
16878 : return complete_seq (expand_encoding, operands);
16879 : }
16880 :
16881 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:10137 */
16882 : rtx
16883 : gen_fix_truncv2sfv2di2 (const rtx operand0, const rtx operand1)
16884 : {
16885 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
16886 : start_sequence ();
16887 : {
16888 : #define FAIL return (end_sequence (), nullptr)
16889 : #define DONE return end_sequence ()
16890 : #line 10142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16891 : {
16892 : rtx op1 = force_reg (V2SFmode, operands[1]);
16893 : op1 = lowpart_subreg (V4SFmode, op1, V2SFmode);
16894 : emit_insn (gen_avx512dq_fix_truncv2sfv2di2
16895 : (operands[0], op1));
16896 : DONE;
16897 : }
16898 : #undef DONE
16899 : #undef FAIL
16900 : }
16901 : static const uint8_t expand_encoding[] = {
16902 : 0x01, 0x1f, 0x01, 0x00, 0x74, 0x52, 0x01, 0x01
16903 : };
16904 : return complete_seq (expand_encoding, operands);
16905 : }
16906 :
16907 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:10183 */
16908 : rtx
16909 : gen_vec_unpack_sfix_trunc_hi_v8sf (const rtx operand0, const rtx operand1)
16910 : {
16911 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
16912 : start_sequence ();
16913 : {
16914 : #define FAIL return (end_sequence (), nullptr)
16915 : #define DONE return end_sequence ()
16916 : #line 10188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16917 : {
16918 : rtx tem;
16919 : rtx (*gen) (rtx, rtx);
16920 :
16921 : if (V8SFmode != V4SFmode)
16922 : {
16923 : tem = gen_reg_rtx (V4SFmode);
16924 : emit_insn (gen_vec_extract_hi_v8sf (tem,
16925 : operands[1]));
16926 : gen = gen_fix_truncv4sfv4di2;
16927 : }
16928 : else
16929 : {
16930 : tem = gen_reg_rtx (V4SFmode);
16931 : emit_insn (gen_avx_vpermilv4sf (tem, operands[1], GEN_INT (0x4e)));
16932 : gen = gen_avx512dq_fix_truncv2sfv2di2;
16933 : }
16934 :
16935 : emit_insn (gen (operands[0], tem));
16936 : DONE;
16937 : }
16938 : #undef DONE
16939 : #undef FAIL
16940 : }
16941 : static const uint8_t expand_encoding[] = {
16942 : 0x02, 0x01, 0x00, 0x74, 0x57, 0x01, 0x01
16943 : };
16944 : return complete_seq (expand_encoding, operands);
16945 : }
16946 :
16947 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:10232 */
16948 : rtx
16949 : gen_vec_unpack_sfix_trunc_hi_v32hf (const rtx operand0, const rtx operand1)
16950 : {
16951 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
16952 : start_sequence ();
16953 : {
16954 : #define FAIL return (end_sequence (), nullptr)
16955 : #define DONE return end_sequence ()
16956 : #line 10237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16957 : {
16958 : rtx tem = operands[1];
16959 : rtx (*gen) (rtx, rtx);
16960 : if (V32HFmode != V8HFmode)
16961 : {
16962 : tem = gen_reg_rtx (V16HFmode);
16963 : emit_insn (gen_vec_extract_hi_v32hf (tem,
16964 : operands[1]));
16965 : gen = gen_fix_truncv16hfv16si2;
16966 : }
16967 : else
16968 : {
16969 : tem = gen_reg_rtx (V8HFmode);
16970 : rtvec tmp = rtvec_alloc (8);
16971 : for (int i = 0; i != 8; i++)
16972 : RTVEC_ELT (tmp, i) = GEN_INT ((i + 4) % 8);
16973 :
16974 : rtx selector = gen_rtx_PARALLEL (VOIDmode, tmp);
16975 : emit_move_insn (tem,
16976 : gen_rtx_VEC_SELECT (V8HFmode, operands[1], selector));
16977 : gen = gen_avx512fp16_fix_truncv16si2;
16978 : }
16979 :
16980 : emit_insn (gen (operands[0], tem));
16981 : DONE;
16982 : }
16983 : #undef DONE
16984 : #undef FAIL
16985 : }
16986 : static const uint8_t expand_encoding[] = {
16987 : 0x02, 0x01, 0x00, 0x74, 0x5b, 0x01, 0x01
16988 : };
16989 : return complete_seq (expand_encoding, operands);
16990 : }
16991 :
16992 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:10576 */
16993 : rtx
16994 : gen_extendv4sfv4df2 (const rtx operand0, const rtx operand1)
16995 : {
16996 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
16997 : static const uint8_t expand_encoding[] = {
16998 : 0x1f, 0x01, 0x00, 0x71, 0x70, 0x01, 0x01
16999 : };
17000 : return expand_rtx (expand_encoding, operands);
17001 : }
17002 :
17003 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:10663 */
17004 : rtx
17005 : gen_avx512vl_cvtmask2dv8si (const rtx operand0, const rtx operand1)
17006 : {
17007 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1 };
17008 : start_sequence ();
17009 : {
17010 : #define FAIL return (end_sequence (), nullptr)
17011 : #define DONE return end_sequence ()
17012 : #line 10670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17013 : {
17014 : operands[2] = CONSTM1_RTX (V8SImode);
17015 : operands[3] = CONST0_RTX (V8SImode);
17016 : }
17017 : #undef DONE
17018 : #undef FAIL
17019 : }
17020 : static const uint8_t expand_encoding[] = {
17021 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x56, 0x01,
17022 : 0x02, 0x01, 0x03, 0x01, 0x01
17023 : };
17024 : return complete_seq (expand_encoding, operands);
17025 : }
17026 :
17027 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:10675 */
17028 : extern rtx_insn *gen_split_1600 (rtx_insn *, rtx *);
17029 : rtx_insn *
17030 : gen_split_1600 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
17031 : {
17032 : if (dump_file)
17033 : fprintf (dump_file, "Splitting with gen_split_1600 (sse.md:10675)\n");
17034 : start_sequence ();
17035 : #define FAIL return (end_sequence (), nullptr)
17036 : #define DONE return end_sequence ()
17037 : #line 10695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17038 : operands[4] = CONST0_RTX (V4DImode);
17039 : #undef DONE
17040 : #undef FAIL
17041 : static const uint8_t expand_encoding[] = {
17042 : 0x02, 0x1f, 0x01, 0x00, 0x01, 0x04, 0x17, 0x00,
17043 : 0x02, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x57, 0x01,
17044 : 0x02, 0x01, 0x03, 0x01, 0x01, 0x1a, 0x00, 0x01,
17045 : 0x01, 0x00, 0x27
17046 : };
17047 : return complete_seq (expand_encoding, operands);
17048 : }
17049 :
17050 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:10701 */
17051 : extern rtx_insn *gen_split_1611 (rtx_insn *, rtx *);
17052 : rtx_insn *
17053 : gen_split_1611 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
17054 : {
17055 : if (dump_file)
17056 : fprintf (dump_file, "Splitting with gen_split_1611 (sse.md:10701)\n");
17057 : start_sequence ();
17058 : #define FAIL return (end_sequence (), nullptr)
17059 : #define DONE return end_sequence ()
17060 : #line 10717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17061 : operands[4] = gen_reg_rtx (QImode);
17062 : #undef DONE
17063 : #undef FAIL
17064 : static const uint8_t expand_encoding[] = {
17065 : 0x02, 0x1f, 0x01, 0x04, 0x4c, 0x0f, 0x01, 0x01,
17066 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5c, 0x01, 0x03,
17067 : 0x01, 0x02, 0x01, 0x04
17068 : };
17069 : return complete_seq (expand_encoding, operands);
17070 : }
17071 :
17072 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:10852 */
17073 : rtx
17074 : gen_vec_unpacks_float_hi_v16hi (const rtx operand0, const rtx operand1)
17075 : {
17076 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
17077 : start_sequence ();
17078 : {
17079 : #define FAIL return (end_sequence (), nullptr)
17080 : #define DONE return end_sequence ()
17081 : #line 10856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17082 : {
17083 : rtx tmp = gen_reg_rtx (V8SImode);
17084 :
17085 : emit_insn (gen_vec_unpacks_hi_v16hi (tmp, operands[1]));
17086 : emit_insn (gen_rtx_SET (operands[0],
17087 : gen_rtx_FLOAT (V8SFmode, tmp)));
17088 : DONE;
17089 : }
17090 : #undef DONE
17091 : #undef FAIL
17092 : }
17093 : static const uint8_t expand_encoding[] = {
17094 : 0x02, 0x01, 0x00, 0x01, 0x01
17095 : };
17096 : return complete_seq (expand_encoding, operands);
17097 : }
17098 :
17099 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:10891 */
17100 : rtx
17101 : gen_vec_unpacku_float_lo_v8hi (const rtx operand0, const rtx operand1)
17102 : {
17103 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
17104 : start_sequence ();
17105 : {
17106 : #define FAIL return (end_sequence (), nullptr)
17107 : #define DONE return end_sequence ()
17108 : #line 10895 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17109 : {
17110 : rtx tmp = gen_reg_rtx (V4SImode);
17111 :
17112 : emit_insn (gen_vec_unpacku_lo_v8hi (tmp, operands[1]));
17113 : emit_insn (gen_rtx_SET (operands[0],
17114 : gen_rtx_FLOAT (V4SFmode, tmp)));
17115 : DONE;
17116 : }
17117 : #undef DONE
17118 : #undef FAIL
17119 : }
17120 : static const uint8_t expand_encoding[] = {
17121 : 0x02, 0x01, 0x00, 0x01, 0x01
17122 : };
17123 : return complete_seq (expand_encoding, operands);
17124 : }
17125 :
17126 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:11063 */
17127 : rtx
17128 : gen_vec_unpacku_float_hi_v16si (const rtx operand0, const rtx operand1)
17129 : {
17130 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
17131 : start_sequence ();
17132 : {
17133 : #define FAIL return (end_sequence (), nullptr)
17134 : #define DONE return end_sequence ()
17135 : #line 11067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17136 : {
17137 : REAL_VALUE_TYPE TWO32r;
17138 : rtx k, x, tmp[4];
17139 :
17140 : real_ldexp (&TWO32r, &dconst1, 32);
17141 : x = const_double_from_real_value (TWO32r, DFmode);
17142 :
17143 : tmp[0] = force_reg (V8DFmode, CONST0_RTX (V8DFmode));
17144 : tmp[1] = force_reg (V8DFmode, ix86_build_const_vector (V8DFmode, 1, x));
17145 : tmp[2] = gen_reg_rtx (V8DFmode);
17146 : tmp[3] = gen_reg_rtx (V8SImode);
17147 : k = gen_reg_rtx (QImode);
17148 :
17149 : emit_insn (gen_vec_extract_hi_v16si (tmp[3], operands[1]));
17150 : emit_insn (gen_floatv8siv8df2 (tmp[2], tmp[3]));
17151 : ix86_expand_mask_vec_cmp (k, LT, tmp[2], tmp[0]);
17152 : emit_insn (gen_addv8df3_mask (tmp[2], tmp[2], tmp[1], tmp[2], k));
17153 : emit_move_insn (operands[0], tmp[2]);
17154 : DONE;
17155 : }
17156 : #undef DONE
17157 : #undef FAIL
17158 : }
17159 : static const uint8_t expand_encoding[] = {
17160 : 0x02, 0x01, 0x00, 0x01, 0x01
17161 : };
17162 : return complete_seq (expand_encoding, operands);
17163 : }
17164 :
17165 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:11239 */
17166 : rtx
17167 : gen_vec_pack_sfix_trunc_v2df (const rtx operand0, const rtx operand1, const rtx operand2)
17168 : {
17169 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
17170 : start_sequence ();
17171 : {
17172 : #define FAIL return (end_sequence (), nullptr)
17173 : #define DONE return end_sequence ()
17174 : #line 11244 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17175 : {
17176 : rtx tmp0, tmp1, tmp2;
17177 :
17178 : if (TARGET_AVX && !TARGET_PREFER_AVX128 && optimize_insn_for_speed_p ())
17179 : {
17180 : tmp0 = gen_reg_rtx (V4DFmode);
17181 : tmp1 = force_reg (V2DFmode, operands[1]);
17182 :
17183 : emit_insn (gen_avx_vec_concatv4df (tmp0, tmp1, operands[2]));
17184 : emit_insn (gen_fix_truncv4dfv4si2 (operands[0], tmp0));
17185 : }
17186 : else
17187 : {
17188 : tmp0 = gen_reg_rtx (V4SImode);
17189 : tmp1 = gen_reg_rtx (V4SImode);
17190 : tmp2 = gen_reg_rtx (V2DImode);
17191 :
17192 : emit_insn (gen_sse2_cvttpd2dq (tmp0, operands[1]));
17193 : emit_insn (gen_sse2_cvttpd2dq (tmp1, operands[2]));
17194 : emit_insn (gen_vec_interleave_lowv2di (tmp2,
17195 : gen_lowpart (V2DImode, tmp0),
17196 : gen_lowpart (V2DImode, tmp1)));
17197 : emit_move_insn (operands[0], gen_lowpart (V4SImode, tmp2));
17198 : }
17199 : DONE;
17200 : }
17201 : #undef DONE
17202 : #undef FAIL
17203 : }
17204 : static const uint8_t expand_encoding[] = {
17205 : 0x03, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02
17206 : };
17207 : return complete_seq (expand_encoding, operands);
17208 : }
17209 :
17210 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:11804 */
17211 : rtx
17212 : gen_avx_shufps256_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
17213 : {
17214 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
17215 : start_sequence ();
17216 : {
17217 : #define FAIL return (end_sequence (), nullptr)
17218 : #define DONE return end_sequence ()
17219 : #line 11810 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17220 : {
17221 : int mask = INTVAL (operands[3]);
17222 : emit_insn (gen_avx_shufps256_1_mask (operands[0],
17223 : operands[1],
17224 : operands[2],
17225 : GEN_INT ((mask >> 0) & 3),
17226 : GEN_INT ((mask >> 2) & 3),
17227 : GEN_INT (((mask >> 4) & 3) + 8),
17228 : GEN_INT (((mask >> 6) & 3) + 8),
17229 : GEN_INT (((mask >> 0) & 3) + 4),
17230 : GEN_INT (((mask >> 2) & 3) + 4),
17231 : GEN_INT (((mask >> 4) & 3) + 12),
17232 : GEN_INT (((mask >> 6) & 3) + 12)
17233 : , operands[4], operands[5]));
17234 : DONE;
17235 : }
17236 : #undef DONE
17237 : #undef FAIL
17238 : }
17239 : static const uint8_t expand_encoding[] = {
17240 : 0x06, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
17241 : 0x03, 0x01, 0x04, 0x01, 0x05
17242 : };
17243 : return complete_seq (expand_encoding, operands);
17244 : }
17245 :
17246 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:12445 */
17247 : extern rtx_insn *gen_split_1619 (rtx_insn *, rtx *);
17248 : rtx_insn *
17249 : gen_split_1619 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
17250 : {
17251 : if (dump_file)
17252 : fprintf (dump_file, "Splitting with gen_split_1619 (sse.md:12445)\n");
17253 : start_sequence ();
17254 : #define FAIL return (end_sequence (), nullptr)
17255 : #define DONE return end_sequence ()
17256 : #line 12457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17257 : {
17258 : rtx dest = gen_reg_rtx (V8HImode);
17259 : emit_insn (gen_vec_setv8hi_0 (dest,
17260 : CONST0_RTX (V8HImode),
17261 : operands[1]));
17262 : emit_move_insn (operands[0],
17263 : lowpart_subreg (V4SImode, dest, V8HImode));
17264 : DONE;
17265 : }
17266 : #undef DONE
17267 : #undef FAIL
17268 : static const uint8_t expand_encoding[] = {
17269 : 0x01, 0x27, 0x00
17270 : };
17271 : return complete_seq (expand_encoding, operands);
17272 : }
17273 :
17274 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:12636 */
17275 : extern rtx_insn *gen_split_1629 (rtx_insn *, rtx *);
17276 : rtx_insn *
17277 : gen_split_1629 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
17278 : {
17279 : if (dump_file)
17280 : fprintf (dump_file, "Splitting with gen_split_1629 (sse.md:12636)\n");
17281 : start_sequence ();
17282 : #define FAIL return (end_sequence (), nullptr)
17283 : #define DONE return end_sequence ()
17284 : #line 12645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17285 : operands[0] = adjust_address (operands[0], SFmode, 0);
17286 : #undef DONE
17287 : #undef FAIL
17288 : static const uint8_t expand_encoding[] = {
17289 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
17290 : };
17291 : return complete_seq (expand_encoding, operands);
17292 : }
17293 :
17294 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:12680 */
17295 : rtx
17296 : gen_vec_setv16hi (const rtx operand0, const rtx operand1, const rtx operand2)
17297 : {
17298 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
17299 : start_sequence ();
17300 : {
17301 : #define FAIL _Pragma ("GCC error \"vec_setv16hi cannot FAIL\"") (void)0
17302 : #define DONE return end_sequence ()
17303 : #line 12685 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17304 : {
17305 : if (CONST_INT_P (operands[2]))
17306 : ix86_expand_vector_set (false, operands[0], operands[1],
17307 : INTVAL (operands[2]));
17308 : else
17309 : ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
17310 : DONE;
17311 : }
17312 : #undef DONE
17313 : #undef FAIL
17314 : }
17315 : static const uint8_t expand_encoding[] = {
17316 : 0x03, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02
17317 : };
17318 : return complete_seq (expand_encoding, operands);
17319 : }
17320 :
17321 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:12680 */
17322 : rtx
17323 : gen_vec_setv32bf (const rtx operand0, const rtx operand1, const rtx operand2)
17324 : {
17325 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
17326 : start_sequence ();
17327 : {
17328 : #define FAIL _Pragma ("GCC error \"vec_setv32bf cannot FAIL\"") (void)0
17329 : #define DONE return end_sequence ()
17330 : #line 12685 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17331 : {
17332 : if (CONST_INT_P (operands[2]))
17333 : ix86_expand_vector_set (false, operands[0], operands[1],
17334 : INTVAL (operands[2]));
17335 : else
17336 : ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
17337 : DONE;
17338 : }
17339 : #undef DONE
17340 : #undef FAIL
17341 : }
17342 : static const uint8_t expand_encoding[] = {
17343 : 0x03, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02
17344 : };
17345 : return complete_seq (expand_encoding, operands);
17346 : }
17347 :
17348 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:12772 */
17349 : rtx
17350 : gen_avx512f_vextractf32x4_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
17351 : {
17352 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
17353 : start_sequence ();
17354 : {
17355 : #define FAIL return (end_sequence (), nullptr)
17356 : #define DONE return end_sequence ()
17357 : #line 12779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17358 : {
17359 : int mask;
17360 : mask = INTVAL (operands[2]);
17361 : rtx dest = operands[0];
17362 :
17363 : if (MEM_P (operands[0]) && !rtx_equal_p (operands[0], operands[3]))
17364 : dest = gen_reg_rtx (V4SFmode);
17365 :
17366 : if (V16SFmode == V16SImode || V16SFmode == V16SFmode)
17367 : emit_insn (gen_avx512f_vextractf32x4_1_mask (dest,
17368 : operands[1], GEN_INT (mask * 4), GEN_INT (mask * 4 + 1),
17369 : GEN_INT (mask * 4 + 2), GEN_INT (mask * 4 + 3), operands[3],
17370 : operands[4]));
17371 : else
17372 : emit_insn (gen_avx512dq_vextractf64x2_1_mask (dest,
17373 : operands[1], GEN_INT (mask * 2), GEN_INT (mask * 2 + 1), operands[3],
17374 : operands[4]));
17375 : if (dest != operands[0])
17376 : emit_move_insn (operands[0], dest);
17377 : DONE;
17378 : }
17379 : #undef DONE
17380 : #undef FAIL
17381 : }
17382 : static const uint8_t expand_encoding[] = {
17383 : 0x05, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
17384 : 0x03, 0x01, 0x04
17385 : };
17386 : return complete_seq (expand_encoding, operands);
17387 : }
17388 :
17389 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:13093 */
17390 : rtx
17391 : gen_avx512vl_vextractf128v4di (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
17392 : {
17393 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
17394 : start_sequence ();
17395 : {
17396 : #define FAIL return (end_sequence (), nullptr)
17397 : #define DONE return end_sequence ()
17398 : #line 13100 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17399 : {
17400 : rtx (*insn)(rtx, rtx, rtx, rtx);
17401 : rtx dest = operands[0];
17402 :
17403 : if (MEM_P (dest)
17404 : && (GET_MODE_SIZE (GET_MODE_INNER (V4DImode)) == 4
17405 : /* For V8S[IF]mode there are maskm insns with =m and 0
17406 : constraints. */
17407 : ? !rtx_equal_p (dest, operands[3])
17408 : /* For V4D[IF]mode, hi insns don't allow memory, and
17409 : lo insns have =m and 0C constraints. */
17410 : : (operands[2] != const0_rtx
17411 : || (!rtx_equal_p (dest, operands[3])
17412 : && !CONST_VECTOR_P (operands[3])))))
17413 : dest = gen_reg_rtx (V2DImode);
17414 : switch (INTVAL (operands[2]))
17415 : {
17416 : case 0:
17417 : insn = gen_vec_extract_lo_v4di_mask;
17418 : break;
17419 : case 1:
17420 : insn = gen_vec_extract_hi_v4di_mask;
17421 : break;
17422 : default:
17423 : gcc_unreachable ();
17424 : }
17425 :
17426 : emit_insn (insn (dest, operands[1], operands[3], operands[4]));
17427 : if (dest != operands[0])
17428 : emit_move_insn (operands[0], dest);
17429 : DONE;
17430 : }
17431 : #undef DONE
17432 : #undef FAIL
17433 : }
17434 : static const uint8_t expand_encoding[] = {
17435 : 0x05, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
17436 : 0x03, 0x01, 0x04
17437 : };
17438 : return complete_seq (expand_encoding, operands);
17439 : }
17440 :
17441 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:13257 */
17442 : extern rtx_insn *gen_split_1642 (rtx_insn *, rtx *);
17443 : rtx_insn *
17444 : gen_split_1642 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
17445 : {
17446 : if (dump_file)
17447 : fprintf (dump_file, "Splitting with gen_split_1642 (sse.md:13257)\n");
17448 : start_sequence ();
17449 : #define FAIL return (end_sequence (), nullptr)
17450 : #define DONE return end_sequence ()
17451 : #line 13265 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17452 : operands[1] = gen_lowpart (V2DFmode, operands[1]);
17453 : #undef DONE
17454 : #undef FAIL
17455 : static const uint8_t expand_encoding[] = {
17456 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
17457 : };
17458 : return complete_seq (expand_encoding, operands);
17459 : }
17460 :
17461 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:13480 */
17462 : extern rtx_insn *gen_split_1651 (rtx_insn *, rtx *);
17463 : rtx_insn *
17464 : gen_split_1651 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
17465 : {
17466 : if (dump_file)
17467 : fprintf (dump_file, "Splitting with gen_split_1651 (sse.md:13480)\n");
17468 : start_sequence ();
17469 : #define FAIL return (end_sequence (), nullptr)
17470 : #define DONE return end_sequence ()
17471 : #line 13515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17472 : {
17473 : if (!TARGET_AVX512VL
17474 : && REG_P (operands[0])
17475 : && EXT_REX_SSE_REG_P (operands[1]))
17476 : operands[0] = lowpart_subreg (V64QImode, operands[0], V32QImode);
17477 : else
17478 : operands[1] = gen_lowpart (V32QImode, operands[1]);
17479 : }
17480 : #undef DONE
17481 : #undef FAIL
17482 : static const uint8_t expand_encoding[] = {
17483 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
17484 : };
17485 : return complete_seq (expand_encoding, operands);
17486 : }
17487 :
17488 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:13658 */
17489 : rtx
17490 : gen_vec_extractv16hihi (const rtx operand0, const rtx operand1, const rtx operand2)
17491 : {
17492 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
17493 : start_sequence ();
17494 : {
17495 : #define FAIL _Pragma ("GCC error \"vec_extractv16hihi cannot FAIL\"") (void)0
17496 : #define DONE return end_sequence ()
17497 : #line 13663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17498 : {
17499 : ix86_expand_vector_extract (false, operands[0], operands[1],
17500 : INTVAL (operands[2]));
17501 : DONE;
17502 : }
17503 : #undef DONE
17504 : #undef FAIL
17505 : }
17506 : static const uint8_t expand_encoding[] = {
17507 : 0x03, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02
17508 : };
17509 : return complete_seq (expand_encoding, operands);
17510 : }
17511 :
17512 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:13658 */
17513 : rtx
17514 : gen_vec_extractv8hfhf (const rtx operand0, const rtx operand1, const rtx operand2)
17515 : {
17516 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
17517 : start_sequence ();
17518 : {
17519 : #define FAIL _Pragma ("GCC error \"vec_extractv8hfhf cannot FAIL\"") (void)0
17520 : #define DONE return end_sequence ()
17521 : #line 13663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17522 : {
17523 : ix86_expand_vector_extract (false, operands[0], operands[1],
17524 : INTVAL (operands[2]));
17525 : DONE;
17526 : }
17527 : #undef DONE
17528 : #undef FAIL
17529 : }
17530 : static const uint8_t expand_encoding[] = {
17531 : 0x03, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02
17532 : };
17533 : return complete_seq (expand_encoding, operands);
17534 : }
17535 :
17536 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:13658 */
17537 : rtx
17538 : gen_vec_extractv4titi (const rtx operand0, const rtx operand1, const rtx operand2)
17539 : {
17540 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
17541 : start_sequence ();
17542 : {
17543 : #define FAIL _Pragma ("GCC error \"vec_extractv4titi cannot FAIL\"") (void)0
17544 : #define DONE return end_sequence ()
17545 : #line 13663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17546 : {
17547 : ix86_expand_vector_extract (false, operands[0], operands[1],
17548 : INTVAL (operands[2]));
17549 : DONE;
17550 : }
17551 : #undef DONE
17552 : #undef FAIL
17553 : }
17554 : static const uint8_t expand_encoding[] = {
17555 : 0x03, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02
17556 : };
17557 : return complete_seq (expand_encoding, operands);
17558 : }
17559 :
17560 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:13669 */
17561 : rtx
17562 : gen_vec_extractv64qiv32qi (const rtx operand0, const rtx operand1, const rtx operand2)
17563 : {
17564 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
17565 : start_sequence ();
17566 : {
17567 : #define FAIL _Pragma ("GCC error \"vec_extractv64qiv32qi cannot FAIL\"") (void)0
17568 : #define DONE return end_sequence ()
17569 : #line 13674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17570 : {
17571 : if (INTVAL (operands[2]))
17572 : emit_insn (gen_vec_extract_hi_v64qi (operands[0], operands[1]));
17573 : else
17574 : emit_insn (gen_vec_extract_lo_v64qi (operands[0], operands[1]));
17575 : DONE;
17576 : }
17577 : #undef DONE
17578 : #undef FAIL
17579 : }
17580 : static const uint8_t expand_encoding[] = {
17581 : 0x03, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02
17582 : };
17583 : return complete_seq (expand_encoding, operands);
17584 : }
17585 :
17586 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:13863 */
17587 : rtx
17588 : gen_vec_interleave_lowv4df (const rtx operand0, const rtx operand1, const rtx operand2)
17589 : {
17590 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
17591 : start_sequence ();
17592 : {
17593 : #define FAIL return (end_sequence (), nullptr)
17594 : #define DONE return end_sequence ()
17595 : #line 13886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17596 : {
17597 : operands[3] = gen_reg_rtx (V4DFmode);
17598 : operands[4] = gen_reg_rtx (V4DFmode);
17599 : }
17600 : #undef DONE
17601 : #undef FAIL
17602 : }
17603 : static const uint8_t expand_encoding[] = {
17604 : 0x03, 0x1f, 0x01, 0x03, 0x81, 0x0a, 0x70, 0x81,
17605 : 0x0b, 0x75, 0x01, 0x01, 0x01, 0x02, 0x17, 0x00,
17606 : 0x04, 0x27, 0x00, 0x27, 0x04, 0x27, 0x02, 0x27,
17607 : 0x06, 0x1f, 0x01, 0x04, 0x81, 0x0a, 0x70, 0x81,
17608 : 0x0b, 0x75, 0x01, 0x01, 0x01, 0x02, 0x17, 0x00,
17609 : 0x04, 0x27, 0x01, 0x27, 0x05, 0x27, 0x03, 0x27,
17610 : 0x07, 0x1f, 0x01, 0x00, 0x81, 0x0a, 0x70, 0x81,
17611 : 0x0b, 0x75, 0x01, 0x03, 0x01, 0x04, 0x17, 0x00,
17612 : 0x04, 0x27, 0x00, 0x27, 0x01, 0x27, 0x04, 0x27,
17613 : 0x05
17614 : };
17615 : return complete_seq (expand_encoding, operands);
17616 : }
17617 :
17618 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14065 */
17619 : extern rtx_insn *gen_split_1662 (rtx_insn *, rtx *);
17620 : rtx_insn *
17621 : gen_split_1662 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
17622 : {
17623 : if (dump_file)
17624 : fprintf (dump_file, "Splitting with gen_split_1662 (sse.md:14065)\n");
17625 : start_sequence ();
17626 : static const uint8_t expand_encoding[] = {
17627 : 0x02, 0x1f, 0x01, 0x00, 0x01, 0x03, 0x1f, 0x01,
17628 : 0x00, 0x1a, 0x54, 0x04, 0x01, 0x00, 0x01, 0x00,
17629 : 0x01, 0x00, 0x01, 0x04, 0x81, 0x25
17630 : };
17631 : return complete_seq (expand_encoding, operands);
17632 : }
17633 :
17634 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14065 */
17635 : extern rtx_insn *gen_split_1671 (rtx_insn *, rtx *);
17636 : rtx_insn *
17637 : gen_split_1671 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
17638 : {
17639 : if (dump_file)
17640 : fprintf (dump_file, "Splitting with gen_split_1671 (sse.md:14065)\n");
17641 : start_sequence ();
17642 : static const uint8_t expand_encoding[] = {
17643 : 0x02, 0x1f, 0x01, 0x00, 0x01, 0x03, 0x1f, 0x01,
17644 : 0x00, 0x1a, 0x57, 0x04, 0x01, 0x00, 0x01, 0x00,
17645 : 0x01, 0x00, 0x01, 0x04, 0x81, 0x25
17646 : };
17647 : return complete_seq (expand_encoding, operands);
17648 : }
17649 :
17650 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14065 */
17651 : extern rtx_insn *gen_split_1681 (rtx_insn *, rtx *);
17652 : rtx_insn *
17653 : gen_split_1681 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
17654 : {
17655 : if (dump_file)
17656 : fprintf (dump_file, "Splitting with gen_split_1681 (sse.md:14065)\n");
17657 : start_sequence ();
17658 : static const uint8_t expand_encoding[] = {
17659 : 0x02, 0x1f, 0x01, 0x00, 0x01, 0x03, 0x1f, 0x01,
17660 : 0x00, 0x1a, 0x6b, 0x04, 0x01, 0x00, 0x01, 0x00,
17661 : 0x01, 0x00, 0x01, 0x04, 0x81, 0x25
17662 : };
17663 : return complete_seq (expand_encoding, operands);
17664 : }
17665 :
17666 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14086 */
17667 : extern rtx_insn *gen_split_1691 (rtx_insn *, rtx *);
17668 : rtx_insn *
17669 : gen_split_1691 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
17670 : {
17671 : if (dump_file)
17672 : fprintf (dump_file, "Splitting with gen_split_1691 (sse.md:14086)\n");
17673 : start_sequence ();
17674 : #define FAIL return (end_sequence (), nullptr)
17675 : #define DONE return end_sequence ()
17676 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17677 : substitute_vpternlog_operands (operands);
17678 : #undef DONE
17679 : #undef FAIL
17680 : static const uint8_t expand_encoding[] = {
17681 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x5b, 0x04, 0x01,
17682 : 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x81,
17683 : 0x25
17684 : };
17685 : return complete_seq (expand_encoding, operands);
17686 : }
17687 :
17688 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14086 */
17689 : extern rtx_insn *gen_split_1701 (rtx_insn *, rtx *);
17690 : rtx_insn *
17691 : gen_split_1701 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
17692 : {
17693 : if (dump_file)
17694 : fprintf (dump_file, "Splitting with gen_split_1701 (sse.md:14086)\n");
17695 : start_sequence ();
17696 : #define FAIL return (end_sequence (), nullptr)
17697 : #define DONE return end_sequence ()
17698 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17699 : substitute_vpternlog_operands (operands);
17700 : #undef DONE
17701 : #undef FAIL
17702 : static const uint8_t expand_encoding[] = {
17703 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6d, 0x04, 0x01,
17704 : 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x81,
17705 : 0x25
17706 : };
17707 : return complete_seq (expand_encoding, operands);
17708 : }
17709 :
17710 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14118 */
17711 : extern rtx_insn *gen_split_1711 (rtx_insn *, rtx *);
17712 : rtx_insn *
17713 : gen_split_1711 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
17714 : {
17715 : if (dump_file)
17716 : fprintf (dump_file, "Splitting with gen_split_1711 (sse.md:14118)\n");
17717 : start_sequence ();
17718 : #define FAIL return (end_sequence (), nullptr)
17719 : #define DONE return end_sequence ()
17720 : #line 14127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17721 : {
17722 : rtx args[3];
17723 : args[0] = NULL_RTX;
17724 : args[1] = NULL_RTX;
17725 : args[2] = NULL_RTX;
17726 : int idx = ix86_ternlog_idx (operands[1], args);
17727 : ix86_expand_ternlog (V16QImode, args[0], args[1], args[2], idx,
17728 : operands[0]);
17729 : DONE;
17730 : }
17731 : #undef DONE
17732 : #undef FAIL
17733 : static const uint8_t expand_encoding[] = {
17734 : 0x01, 0x27, 0x00
17735 : };
17736 : return complete_seq (expand_encoding, operands);
17737 : }
17738 :
17739 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14118 */
17740 : extern rtx_insn *gen_split_1721 (rtx_insn *, rtx *);
17741 : rtx_insn *
17742 : gen_split_1721 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
17743 : {
17744 : if (dump_file)
17745 : fprintf (dump_file, "Splitting with gen_split_1721 (sse.md:14118)\n");
17746 : start_sequence ();
17747 : #define FAIL return (end_sequence (), nullptr)
17748 : #define DONE return end_sequence ()
17749 : #line 14127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17750 : {
17751 : rtx args[3];
17752 : args[0] = NULL_RTX;
17753 : args[1] = NULL_RTX;
17754 : args[2] = NULL_RTX;
17755 : int idx = ix86_ternlog_idx (operands[1], args);
17756 : ix86_expand_ternlog (V32HFmode, args[0], args[1], args[2], idx,
17757 : operands[0]);
17758 : DONE;
17759 : }
17760 : #undef DONE
17761 : #undef FAIL
17762 : static const uint8_t expand_encoding[] = {
17763 : 0x01, 0x27, 0x00
17764 : };
17765 : return complete_seq (expand_encoding, operands);
17766 : }
17767 :
17768 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14118 */
17769 : extern rtx_insn *gen_split_1731 (rtx_insn *, rtx *);
17770 : rtx_insn *
17771 : gen_split_1731 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
17772 : {
17773 : if (dump_file)
17774 : fprintf (dump_file, "Splitting with gen_split_1731 (sse.md:14118)\n");
17775 : start_sequence ();
17776 : #define FAIL return (end_sequence (), nullptr)
17777 : #define DONE return end_sequence ()
17778 : #line 14127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17779 : {
17780 : rtx args[3];
17781 : args[0] = NULL_RTX;
17782 : args[1] = NULL_RTX;
17783 : args[2] = NULL_RTX;
17784 : int idx = ix86_ternlog_idx (operands[1], args);
17785 : ix86_expand_ternlog (V4DFmode, args[0], args[1], args[2], idx,
17786 : operands[0]);
17787 : DONE;
17788 : }
17789 : #undef DONE
17790 : #undef FAIL
17791 : static const uint8_t expand_encoding[] = {
17792 : 0x01, 0x27, 0x00
17793 : };
17794 : return complete_seq (expand_encoding, operands);
17795 : }
17796 :
17797 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
17798 : extern rtx_insn *gen_split_1741 (rtx_insn *, rtx *);
17799 : rtx_insn *
17800 : gen_split_1741 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
17801 : {
17802 : if (dump_file)
17803 : fprintf (dump_file, "Splitting with gen_split_1741 (sse.md:14142)\n");
17804 : start_sequence ();
17805 : #define FAIL return (end_sequence (), nullptr)
17806 : #define DONE return end_sequence ()
17807 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17808 : {
17809 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
17810 : int reg6 = 0xF0;
17811 : int reg2 = 0xCC;
17812 : int reg1 = 0xAA;
17813 : int reg3 = 0;
17814 : int reg4 = 0;
17815 : int reg_mask, tmp1, tmp2;
17816 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
17817 : STRIP_UNARY (operands[4])))
17818 : {
17819 : reg4 = reg1;
17820 : reg3 = reg6;
17821 : operands[6] = operands[3];
17822 : }
17823 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
17824 : STRIP_UNARY (operands[4])))
17825 : {
17826 : reg4 = reg2;
17827 : reg3 = reg6;
17828 : operands[6] = operands[3];
17829 : }
17830 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
17831 : STRIP_UNARY (operands[3])))
17832 : {
17833 : reg4 = reg6;
17834 : reg3 = reg1;
17835 : operands[6] = operands[4];
17836 : }
17837 : else
17838 : {
17839 : reg4 = reg6;
17840 : reg3 = reg2;
17841 : operands[6] = operands[4];
17842 : }
17843 :
17844 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
17845 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
17846 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
17847 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
17848 :
17849 : tmp1 = reg1 & reg2;
17850 : tmp2 = reg3 ^ reg4;
17851 : reg_mask = tmp1 ^ tmp2;
17852 : reg_mask &= 0xFF;
17853 :
17854 : operands[1] = STRIP_UNARY (operands[1]);
17855 : operands[2] = STRIP_UNARY (operands[2]);
17856 : operands[6] = STRIP_UNARY (operands[6]);
17857 : if (!register_operand (operands[2], V64QImode))
17858 : operands[2] = force_reg (V64QImode, operands[2]);
17859 : if (!register_operand (operands[6], V64QImode))
17860 : operands[6] = force_reg (V64QImode, operands[6]);
17861 : operands[5] = GEN_INT (reg_mask);
17862 : }
17863 : #undef DONE
17864 : #undef FAIL
17865 : static const uint8_t expand_encoding[] = {
17866 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x59, 0x04, 0x01,
17867 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
17868 : 0x25
17869 : };
17870 : return complete_seq (expand_encoding, operands);
17871 : }
17872 :
17873 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
17874 : extern rtx_insn *gen_split_1751 (rtx_insn *, rtx *);
17875 : rtx_insn *
17876 : gen_split_1751 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
17877 : {
17878 : if (dump_file)
17879 : fprintf (dump_file, "Splitting with gen_split_1751 (sse.md:14142)\n");
17880 : start_sequence ();
17881 : #define FAIL return (end_sequence (), nullptr)
17882 : #define DONE return end_sequence ()
17883 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17884 : {
17885 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
17886 : int reg6 = 0xF0;
17887 : int reg2 = 0xCC;
17888 : int reg1 = 0xAA;
17889 : int reg3 = 0;
17890 : int reg4 = 0;
17891 : int reg_mask, tmp1, tmp2;
17892 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
17893 : STRIP_UNARY (operands[4])))
17894 : {
17895 : reg4 = reg1;
17896 : reg3 = reg6;
17897 : operands[6] = operands[3];
17898 : }
17899 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
17900 : STRIP_UNARY (operands[4])))
17901 : {
17902 : reg4 = reg2;
17903 : reg3 = reg6;
17904 : operands[6] = operands[3];
17905 : }
17906 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
17907 : STRIP_UNARY (operands[3])))
17908 : {
17909 : reg4 = reg6;
17910 : reg3 = reg1;
17911 : operands[6] = operands[4];
17912 : }
17913 : else
17914 : {
17915 : reg4 = reg6;
17916 : reg3 = reg2;
17917 : operands[6] = operands[4];
17918 : }
17919 :
17920 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
17921 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
17922 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
17923 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
17924 :
17925 : tmp1 = reg1 ^ reg2;
17926 : tmp2 = reg3 & reg4;
17927 : reg_mask = tmp1 & tmp2;
17928 : reg_mask &= 0xFF;
17929 :
17930 : operands[1] = STRIP_UNARY (operands[1]);
17931 : operands[2] = STRIP_UNARY (operands[2]);
17932 : operands[6] = STRIP_UNARY (operands[6]);
17933 : if (!register_operand (operands[2], V64QImode))
17934 : operands[2] = force_reg (V64QImode, operands[2]);
17935 : if (!register_operand (operands[6], V64QImode))
17936 : operands[6] = force_reg (V64QImode, operands[6]);
17937 : operands[5] = GEN_INT (reg_mask);
17938 : }
17939 : #undef DONE
17940 : #undef FAIL
17941 : static const uint8_t expand_encoding[] = {
17942 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x59, 0x04, 0x01,
17943 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
17944 : 0x25
17945 : };
17946 : return complete_seq (expand_encoding, operands);
17947 : }
17948 :
17949 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
17950 : extern rtx_insn *gen_split_1761 (rtx_insn *, rtx *);
17951 : rtx_insn *
17952 : gen_split_1761 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
17953 : {
17954 : if (dump_file)
17955 : fprintf (dump_file, "Splitting with gen_split_1761 (sse.md:14142)\n");
17956 : start_sequence ();
17957 : #define FAIL return (end_sequence (), nullptr)
17958 : #define DONE return end_sequence ()
17959 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17960 : {
17961 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
17962 : int reg6 = 0xF0;
17963 : int reg2 = 0xCC;
17964 : int reg1 = 0xAA;
17965 : int reg3 = 0;
17966 : int reg4 = 0;
17967 : int reg_mask, tmp1, tmp2;
17968 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
17969 : STRIP_UNARY (operands[4])))
17970 : {
17971 : reg4 = reg1;
17972 : reg3 = reg6;
17973 : operands[6] = operands[3];
17974 : }
17975 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
17976 : STRIP_UNARY (operands[4])))
17977 : {
17978 : reg4 = reg2;
17979 : reg3 = reg6;
17980 : operands[6] = operands[3];
17981 : }
17982 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
17983 : STRIP_UNARY (operands[3])))
17984 : {
17985 : reg4 = reg6;
17986 : reg3 = reg1;
17987 : operands[6] = operands[4];
17988 : }
17989 : else
17990 : {
17991 : reg4 = reg6;
17992 : reg3 = reg2;
17993 : operands[6] = operands[4];
17994 : }
17995 :
17996 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
17997 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
17998 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
17999 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
18000 :
18001 : tmp1 = reg1 & reg2;
18002 : tmp2 = reg3 & reg4;
18003 : reg_mask = tmp1 | tmp2;
18004 : reg_mask &= 0xFF;
18005 :
18006 : operands[1] = STRIP_UNARY (operands[1]);
18007 : operands[2] = STRIP_UNARY (operands[2]);
18008 : operands[6] = STRIP_UNARY (operands[6]);
18009 : if (!register_operand (operands[2], V32QImode))
18010 : operands[2] = force_reg (V32QImode, operands[2]);
18011 : if (!register_operand (operands[6], V32QImode))
18012 : operands[6] = force_reg (V32QImode, operands[6]);
18013 : operands[5] = GEN_INT (reg_mask);
18014 : }
18015 : #undef DONE
18016 : #undef FAIL
18017 : static const uint8_t expand_encoding[] = {
18018 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x54, 0x04, 0x01,
18019 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
18020 : 0x25
18021 : };
18022 : return complete_seq (expand_encoding, operands);
18023 : }
18024 :
18025 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
18026 : extern rtx_insn *gen_split_1771 (rtx_insn *, rtx *);
18027 : rtx_insn *
18028 : gen_split_1771 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
18029 : {
18030 : if (dump_file)
18031 : fprintf (dump_file, "Splitting with gen_split_1771 (sse.md:14142)\n");
18032 : start_sequence ();
18033 : #define FAIL return (end_sequence (), nullptr)
18034 : #define DONE return end_sequence ()
18035 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18036 : {
18037 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
18038 : int reg6 = 0xF0;
18039 : int reg2 = 0xCC;
18040 : int reg1 = 0xAA;
18041 : int reg3 = 0;
18042 : int reg4 = 0;
18043 : int reg_mask, tmp1, tmp2;
18044 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
18045 : STRIP_UNARY (operands[4])))
18046 : {
18047 : reg4 = reg1;
18048 : reg3 = reg6;
18049 : operands[6] = operands[3];
18050 : }
18051 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
18052 : STRIP_UNARY (operands[4])))
18053 : {
18054 : reg4 = reg2;
18055 : reg3 = reg6;
18056 : operands[6] = operands[3];
18057 : }
18058 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
18059 : STRIP_UNARY (operands[3])))
18060 : {
18061 : reg4 = reg6;
18062 : reg3 = reg1;
18063 : operands[6] = operands[4];
18064 : }
18065 : else
18066 : {
18067 : reg4 = reg6;
18068 : reg3 = reg2;
18069 : operands[6] = operands[4];
18070 : }
18071 :
18072 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
18073 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
18074 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
18075 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
18076 :
18077 : tmp1 = reg1 | reg2;
18078 : tmp2 = reg3 & reg4;
18079 : reg_mask = tmp1 ^ tmp2;
18080 : reg_mask &= 0xFF;
18081 :
18082 : operands[1] = STRIP_UNARY (operands[1]);
18083 : operands[2] = STRIP_UNARY (operands[2]);
18084 : operands[6] = STRIP_UNARY (operands[6]);
18085 : if (!register_operand (operands[2], V32QImode))
18086 : operands[2] = force_reg (V32QImode, operands[2]);
18087 : if (!register_operand (operands[6], V32QImode))
18088 : operands[6] = force_reg (V32QImode, operands[6]);
18089 : operands[5] = GEN_INT (reg_mask);
18090 : }
18091 : #undef DONE
18092 : #undef FAIL
18093 : static const uint8_t expand_encoding[] = {
18094 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x54, 0x04, 0x01,
18095 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
18096 : 0x25
18097 : };
18098 : return complete_seq (expand_encoding, operands);
18099 : }
18100 :
18101 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
18102 : extern rtx_insn *gen_split_1781 (rtx_insn *, rtx *);
18103 : rtx_insn *
18104 : gen_split_1781 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
18105 : {
18106 : if (dump_file)
18107 : fprintf (dump_file, "Splitting with gen_split_1781 (sse.md:14142)\n");
18108 : start_sequence ();
18109 : #define FAIL return (end_sequence (), nullptr)
18110 : #define DONE return end_sequence ()
18111 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18112 : {
18113 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
18114 : int reg6 = 0xF0;
18115 : int reg2 = 0xCC;
18116 : int reg1 = 0xAA;
18117 : int reg3 = 0;
18118 : int reg4 = 0;
18119 : int reg_mask, tmp1, tmp2;
18120 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
18121 : STRIP_UNARY (operands[4])))
18122 : {
18123 : reg4 = reg1;
18124 : reg3 = reg6;
18125 : operands[6] = operands[3];
18126 : }
18127 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
18128 : STRIP_UNARY (operands[4])))
18129 : {
18130 : reg4 = reg2;
18131 : reg3 = reg6;
18132 : operands[6] = operands[3];
18133 : }
18134 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
18135 : STRIP_UNARY (operands[3])))
18136 : {
18137 : reg4 = reg6;
18138 : reg3 = reg1;
18139 : operands[6] = operands[4];
18140 : }
18141 : else
18142 : {
18143 : reg4 = reg6;
18144 : reg3 = reg2;
18145 : operands[6] = operands[4];
18146 : }
18147 :
18148 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
18149 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
18150 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
18151 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
18152 :
18153 : tmp1 = reg1 ^ reg2;
18154 : tmp2 = reg3 | reg4;
18155 : reg_mask = tmp1 & tmp2;
18156 : reg_mask &= 0xFF;
18157 :
18158 : operands[1] = STRIP_UNARY (operands[1]);
18159 : operands[2] = STRIP_UNARY (operands[2]);
18160 : operands[6] = STRIP_UNARY (operands[6]);
18161 : if (!register_operand (operands[2], V32QImode))
18162 : operands[2] = force_reg (V32QImode, operands[2]);
18163 : if (!register_operand (operands[6], V32QImode))
18164 : operands[6] = force_reg (V32QImode, operands[6]);
18165 : operands[5] = GEN_INT (reg_mask);
18166 : }
18167 : #undef DONE
18168 : #undef FAIL
18169 : static const uint8_t expand_encoding[] = {
18170 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x54, 0x04, 0x01,
18171 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
18172 : 0x25
18173 : };
18174 : return complete_seq (expand_encoding, operands);
18175 : }
18176 :
18177 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
18178 : extern rtx_insn *gen_split_1791 (rtx_insn *, rtx *);
18179 : rtx_insn *
18180 : gen_split_1791 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
18181 : {
18182 : if (dump_file)
18183 : fprintf (dump_file, "Splitting with gen_split_1791 (sse.md:14142)\n");
18184 : start_sequence ();
18185 : #define FAIL return (end_sequence (), nullptr)
18186 : #define DONE return end_sequence ()
18187 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18188 : {
18189 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
18190 : int reg6 = 0xF0;
18191 : int reg2 = 0xCC;
18192 : int reg1 = 0xAA;
18193 : int reg3 = 0;
18194 : int reg4 = 0;
18195 : int reg_mask, tmp1, tmp2;
18196 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
18197 : STRIP_UNARY (operands[4])))
18198 : {
18199 : reg4 = reg1;
18200 : reg3 = reg6;
18201 : operands[6] = operands[3];
18202 : }
18203 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
18204 : STRIP_UNARY (operands[4])))
18205 : {
18206 : reg4 = reg2;
18207 : reg3 = reg6;
18208 : operands[6] = operands[3];
18209 : }
18210 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
18211 : STRIP_UNARY (operands[3])))
18212 : {
18213 : reg4 = reg6;
18214 : reg3 = reg1;
18215 : operands[6] = operands[4];
18216 : }
18217 : else
18218 : {
18219 : reg4 = reg6;
18220 : reg3 = reg2;
18221 : operands[6] = operands[4];
18222 : }
18223 :
18224 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
18225 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
18226 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
18227 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
18228 :
18229 : tmp1 = reg1 & reg2;
18230 : tmp2 = reg3 | reg4;
18231 : reg_mask = tmp1 | tmp2;
18232 : reg_mask &= 0xFF;
18233 :
18234 : operands[1] = STRIP_UNARY (operands[1]);
18235 : operands[2] = STRIP_UNARY (operands[2]);
18236 : operands[6] = STRIP_UNARY (operands[6]);
18237 : if (!register_operand (operands[2], V16QImode))
18238 : operands[2] = force_reg (V16QImode, operands[2]);
18239 : if (!register_operand (operands[6], V16QImode))
18240 : operands[6] = force_reg (V16QImode, operands[6]);
18241 : operands[5] = GEN_INT (reg_mask);
18242 : }
18243 : #undef DONE
18244 : #undef FAIL
18245 : static const uint8_t expand_encoding[] = {
18246 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x4f, 0x04, 0x01,
18247 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
18248 : 0x25
18249 : };
18250 : return complete_seq (expand_encoding, operands);
18251 : }
18252 :
18253 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
18254 : extern rtx_insn *gen_split_1801 (rtx_insn *, rtx *);
18255 : rtx_insn *
18256 : gen_split_1801 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
18257 : {
18258 : if (dump_file)
18259 : fprintf (dump_file, "Splitting with gen_split_1801 (sse.md:14142)\n");
18260 : start_sequence ();
18261 : #define FAIL return (end_sequence (), nullptr)
18262 : #define DONE return end_sequence ()
18263 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18264 : {
18265 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
18266 : int reg6 = 0xF0;
18267 : int reg2 = 0xCC;
18268 : int reg1 = 0xAA;
18269 : int reg3 = 0;
18270 : int reg4 = 0;
18271 : int reg_mask, tmp1, tmp2;
18272 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
18273 : STRIP_UNARY (operands[4])))
18274 : {
18275 : reg4 = reg1;
18276 : reg3 = reg6;
18277 : operands[6] = operands[3];
18278 : }
18279 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
18280 : STRIP_UNARY (operands[4])))
18281 : {
18282 : reg4 = reg2;
18283 : reg3 = reg6;
18284 : operands[6] = operands[3];
18285 : }
18286 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
18287 : STRIP_UNARY (operands[3])))
18288 : {
18289 : reg4 = reg6;
18290 : reg3 = reg1;
18291 : operands[6] = operands[4];
18292 : }
18293 : else
18294 : {
18295 : reg4 = reg6;
18296 : reg3 = reg2;
18297 : operands[6] = operands[4];
18298 : }
18299 :
18300 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
18301 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
18302 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
18303 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
18304 :
18305 : tmp1 = reg1 | reg2;
18306 : tmp2 = reg3 | reg4;
18307 : reg_mask = tmp1 ^ tmp2;
18308 : reg_mask &= 0xFF;
18309 :
18310 : operands[1] = STRIP_UNARY (operands[1]);
18311 : operands[2] = STRIP_UNARY (operands[2]);
18312 : operands[6] = STRIP_UNARY (operands[6]);
18313 : if (!register_operand (operands[2], V16QImode))
18314 : operands[2] = force_reg (V16QImode, operands[2]);
18315 : if (!register_operand (operands[6], V16QImode))
18316 : operands[6] = force_reg (V16QImode, operands[6]);
18317 : operands[5] = GEN_INT (reg_mask);
18318 : }
18319 : #undef DONE
18320 : #undef FAIL
18321 : static const uint8_t expand_encoding[] = {
18322 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x4f, 0x04, 0x01,
18323 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
18324 : 0x25
18325 : };
18326 : return complete_seq (expand_encoding, operands);
18327 : }
18328 :
18329 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
18330 : extern rtx_insn *gen_split_1811 (rtx_insn *, rtx *);
18331 : rtx_insn *
18332 : gen_split_1811 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
18333 : {
18334 : if (dump_file)
18335 : fprintf (dump_file, "Splitting with gen_split_1811 (sse.md:14142)\n");
18336 : start_sequence ();
18337 : #define FAIL return (end_sequence (), nullptr)
18338 : #define DONE return end_sequence ()
18339 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18340 : {
18341 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
18342 : int reg6 = 0xF0;
18343 : int reg2 = 0xCC;
18344 : int reg1 = 0xAA;
18345 : int reg3 = 0;
18346 : int reg4 = 0;
18347 : int reg_mask, tmp1, tmp2;
18348 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
18349 : STRIP_UNARY (operands[4])))
18350 : {
18351 : reg4 = reg1;
18352 : reg3 = reg6;
18353 : operands[6] = operands[3];
18354 : }
18355 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
18356 : STRIP_UNARY (operands[4])))
18357 : {
18358 : reg4 = reg2;
18359 : reg3 = reg6;
18360 : operands[6] = operands[3];
18361 : }
18362 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
18363 : STRIP_UNARY (operands[3])))
18364 : {
18365 : reg4 = reg6;
18366 : reg3 = reg1;
18367 : operands[6] = operands[4];
18368 : }
18369 : else
18370 : {
18371 : reg4 = reg6;
18372 : reg3 = reg2;
18373 : operands[6] = operands[4];
18374 : }
18375 :
18376 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
18377 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
18378 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
18379 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
18380 :
18381 : tmp1 = reg1 ^ reg2;
18382 : tmp2 = reg3 ^ reg4;
18383 : reg_mask = tmp1 & tmp2;
18384 : reg_mask &= 0xFF;
18385 :
18386 : operands[1] = STRIP_UNARY (operands[1]);
18387 : operands[2] = STRIP_UNARY (operands[2]);
18388 : operands[6] = STRIP_UNARY (operands[6]);
18389 : if (!register_operand (operands[2], V16QImode))
18390 : operands[2] = force_reg (V16QImode, operands[2]);
18391 : if (!register_operand (operands[6], V16QImode))
18392 : operands[6] = force_reg (V16QImode, operands[6]);
18393 : operands[5] = GEN_INT (reg_mask);
18394 : }
18395 : #undef DONE
18396 : #undef FAIL
18397 : static const uint8_t expand_encoding[] = {
18398 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x4f, 0x04, 0x01,
18399 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
18400 : 0x25
18401 : };
18402 : return complete_seq (expand_encoding, operands);
18403 : }
18404 :
18405 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
18406 : extern rtx_insn *gen_split_1821 (rtx_insn *, rtx *);
18407 : rtx_insn *
18408 : gen_split_1821 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
18409 : {
18410 : if (dump_file)
18411 : fprintf (dump_file, "Splitting with gen_split_1821 (sse.md:14142)\n");
18412 : start_sequence ();
18413 : #define FAIL return (end_sequence (), nullptr)
18414 : #define DONE return end_sequence ()
18415 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18416 : {
18417 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
18418 : int reg6 = 0xF0;
18419 : int reg2 = 0xCC;
18420 : int reg1 = 0xAA;
18421 : int reg3 = 0;
18422 : int reg4 = 0;
18423 : int reg_mask, tmp1, tmp2;
18424 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
18425 : STRIP_UNARY (operands[4])))
18426 : {
18427 : reg4 = reg1;
18428 : reg3 = reg6;
18429 : operands[6] = operands[3];
18430 : }
18431 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
18432 : STRIP_UNARY (operands[4])))
18433 : {
18434 : reg4 = reg2;
18435 : reg3 = reg6;
18436 : operands[6] = operands[3];
18437 : }
18438 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
18439 : STRIP_UNARY (operands[3])))
18440 : {
18441 : reg4 = reg6;
18442 : reg3 = reg1;
18443 : operands[6] = operands[4];
18444 : }
18445 : else
18446 : {
18447 : reg4 = reg6;
18448 : reg3 = reg2;
18449 : operands[6] = operands[4];
18450 : }
18451 :
18452 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
18453 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
18454 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
18455 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
18456 :
18457 : tmp1 = reg1 & reg2;
18458 : tmp2 = reg3 ^ reg4;
18459 : reg_mask = tmp1 | tmp2;
18460 : reg_mask &= 0xFF;
18461 :
18462 : operands[1] = STRIP_UNARY (operands[1]);
18463 : operands[2] = STRIP_UNARY (operands[2]);
18464 : operands[6] = STRIP_UNARY (operands[6]);
18465 : if (!register_operand (operands[2], V32HImode))
18466 : operands[2] = force_reg (V32HImode, operands[2]);
18467 : if (!register_operand (operands[6], V32HImode))
18468 : operands[6] = force_reg (V32HImode, operands[6]);
18469 : operands[5] = GEN_INT (reg_mask);
18470 : }
18471 : #undef DONE
18472 : #undef FAIL
18473 : static const uint8_t expand_encoding[] = {
18474 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x5a, 0x04, 0x01,
18475 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
18476 : 0x25
18477 : };
18478 : return complete_seq (expand_encoding, operands);
18479 : }
18480 :
18481 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
18482 : extern rtx_insn *gen_split_1831 (rtx_insn *, rtx *);
18483 : rtx_insn *
18484 : gen_split_1831 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
18485 : {
18486 : if (dump_file)
18487 : fprintf (dump_file, "Splitting with gen_split_1831 (sse.md:14142)\n");
18488 : start_sequence ();
18489 : #define FAIL return (end_sequence (), nullptr)
18490 : #define DONE return end_sequence ()
18491 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18492 : {
18493 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
18494 : int reg6 = 0xF0;
18495 : int reg2 = 0xCC;
18496 : int reg1 = 0xAA;
18497 : int reg3 = 0;
18498 : int reg4 = 0;
18499 : int reg_mask, tmp1, tmp2;
18500 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
18501 : STRIP_UNARY (operands[4])))
18502 : {
18503 : reg4 = reg1;
18504 : reg3 = reg6;
18505 : operands[6] = operands[3];
18506 : }
18507 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
18508 : STRIP_UNARY (operands[4])))
18509 : {
18510 : reg4 = reg2;
18511 : reg3 = reg6;
18512 : operands[6] = operands[3];
18513 : }
18514 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
18515 : STRIP_UNARY (operands[3])))
18516 : {
18517 : reg4 = reg6;
18518 : reg3 = reg1;
18519 : operands[6] = operands[4];
18520 : }
18521 : else
18522 : {
18523 : reg4 = reg6;
18524 : reg3 = reg2;
18525 : operands[6] = operands[4];
18526 : }
18527 :
18528 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
18529 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
18530 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
18531 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
18532 :
18533 : tmp1 = reg1 | reg2;
18534 : tmp2 = reg3 ^ reg4;
18535 : reg_mask = tmp1 ^ tmp2;
18536 : reg_mask &= 0xFF;
18537 :
18538 : operands[1] = STRIP_UNARY (operands[1]);
18539 : operands[2] = STRIP_UNARY (operands[2]);
18540 : operands[6] = STRIP_UNARY (operands[6]);
18541 : if (!register_operand (operands[2], V32HImode))
18542 : operands[2] = force_reg (V32HImode, operands[2]);
18543 : if (!register_operand (operands[6], V32HImode))
18544 : operands[6] = force_reg (V32HImode, operands[6]);
18545 : operands[5] = GEN_INT (reg_mask);
18546 : }
18547 : #undef DONE
18548 : #undef FAIL
18549 : static const uint8_t expand_encoding[] = {
18550 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x5a, 0x04, 0x01,
18551 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
18552 : 0x25
18553 : };
18554 : return complete_seq (expand_encoding, operands);
18555 : }
18556 :
18557 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
18558 : extern rtx_insn *gen_split_1841 (rtx_insn *, rtx *);
18559 : rtx_insn *
18560 : gen_split_1841 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
18561 : {
18562 : if (dump_file)
18563 : fprintf (dump_file, "Splitting with gen_split_1841 (sse.md:14142)\n");
18564 : start_sequence ();
18565 : #define FAIL return (end_sequence (), nullptr)
18566 : #define DONE return end_sequence ()
18567 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18568 : {
18569 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
18570 : int reg6 = 0xF0;
18571 : int reg2 = 0xCC;
18572 : int reg1 = 0xAA;
18573 : int reg3 = 0;
18574 : int reg4 = 0;
18575 : int reg_mask, tmp1, tmp2;
18576 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
18577 : STRIP_UNARY (operands[4])))
18578 : {
18579 : reg4 = reg1;
18580 : reg3 = reg6;
18581 : operands[6] = operands[3];
18582 : }
18583 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
18584 : STRIP_UNARY (operands[4])))
18585 : {
18586 : reg4 = reg2;
18587 : reg3 = reg6;
18588 : operands[6] = operands[3];
18589 : }
18590 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
18591 : STRIP_UNARY (operands[3])))
18592 : {
18593 : reg4 = reg6;
18594 : reg3 = reg1;
18595 : operands[6] = operands[4];
18596 : }
18597 : else
18598 : {
18599 : reg4 = reg6;
18600 : reg3 = reg2;
18601 : operands[6] = operands[4];
18602 : }
18603 :
18604 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
18605 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
18606 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
18607 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
18608 :
18609 : tmp1 = reg1 & reg2;
18610 : tmp2 = reg3 & reg4;
18611 : reg_mask = tmp1 & tmp2;
18612 : reg_mask &= 0xFF;
18613 :
18614 : operands[1] = STRIP_UNARY (operands[1]);
18615 : operands[2] = STRIP_UNARY (operands[2]);
18616 : operands[6] = STRIP_UNARY (operands[6]);
18617 : if (!register_operand (operands[2], V16HImode))
18618 : operands[2] = force_reg (V16HImode, operands[2]);
18619 : if (!register_operand (operands[6], V16HImode))
18620 : operands[6] = force_reg (V16HImode, operands[6]);
18621 : operands[5] = GEN_INT (reg_mask);
18622 : }
18623 : #undef DONE
18624 : #undef FAIL
18625 : static const uint8_t expand_encoding[] = {
18626 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x55, 0x04, 0x01,
18627 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
18628 : 0x25
18629 : };
18630 : return complete_seq (expand_encoding, operands);
18631 : }
18632 :
18633 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
18634 : extern rtx_insn *gen_split_1851 (rtx_insn *, rtx *);
18635 : rtx_insn *
18636 : gen_split_1851 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
18637 : {
18638 : if (dump_file)
18639 : fprintf (dump_file, "Splitting with gen_split_1851 (sse.md:14142)\n");
18640 : start_sequence ();
18641 : #define FAIL return (end_sequence (), nullptr)
18642 : #define DONE return end_sequence ()
18643 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18644 : {
18645 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
18646 : int reg6 = 0xF0;
18647 : int reg2 = 0xCC;
18648 : int reg1 = 0xAA;
18649 : int reg3 = 0;
18650 : int reg4 = 0;
18651 : int reg_mask, tmp1, tmp2;
18652 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
18653 : STRIP_UNARY (operands[4])))
18654 : {
18655 : reg4 = reg1;
18656 : reg3 = reg6;
18657 : operands[6] = operands[3];
18658 : }
18659 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
18660 : STRIP_UNARY (operands[4])))
18661 : {
18662 : reg4 = reg2;
18663 : reg3 = reg6;
18664 : operands[6] = operands[3];
18665 : }
18666 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
18667 : STRIP_UNARY (operands[3])))
18668 : {
18669 : reg4 = reg6;
18670 : reg3 = reg1;
18671 : operands[6] = operands[4];
18672 : }
18673 : else
18674 : {
18675 : reg4 = reg6;
18676 : reg3 = reg2;
18677 : operands[6] = operands[4];
18678 : }
18679 :
18680 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
18681 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
18682 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
18683 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
18684 :
18685 : tmp1 = reg1 | reg2;
18686 : tmp2 = reg3 & reg4;
18687 : reg_mask = tmp1 | tmp2;
18688 : reg_mask &= 0xFF;
18689 :
18690 : operands[1] = STRIP_UNARY (operands[1]);
18691 : operands[2] = STRIP_UNARY (operands[2]);
18692 : operands[6] = STRIP_UNARY (operands[6]);
18693 : if (!register_operand (operands[2], V16HImode))
18694 : operands[2] = force_reg (V16HImode, operands[2]);
18695 : if (!register_operand (operands[6], V16HImode))
18696 : operands[6] = force_reg (V16HImode, operands[6]);
18697 : operands[5] = GEN_INT (reg_mask);
18698 : }
18699 : #undef DONE
18700 : #undef FAIL
18701 : static const uint8_t expand_encoding[] = {
18702 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x55, 0x04, 0x01,
18703 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
18704 : 0x25
18705 : };
18706 : return complete_seq (expand_encoding, operands);
18707 : }
18708 :
18709 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
18710 : extern rtx_insn *gen_split_1861 (rtx_insn *, rtx *);
18711 : rtx_insn *
18712 : gen_split_1861 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
18713 : {
18714 : if (dump_file)
18715 : fprintf (dump_file, "Splitting with gen_split_1861 (sse.md:14142)\n");
18716 : start_sequence ();
18717 : #define FAIL return (end_sequence (), nullptr)
18718 : #define DONE return end_sequence ()
18719 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18720 : {
18721 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
18722 : int reg6 = 0xF0;
18723 : int reg2 = 0xCC;
18724 : int reg1 = 0xAA;
18725 : int reg3 = 0;
18726 : int reg4 = 0;
18727 : int reg_mask, tmp1, tmp2;
18728 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
18729 : STRIP_UNARY (operands[4])))
18730 : {
18731 : reg4 = reg1;
18732 : reg3 = reg6;
18733 : operands[6] = operands[3];
18734 : }
18735 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
18736 : STRIP_UNARY (operands[4])))
18737 : {
18738 : reg4 = reg2;
18739 : reg3 = reg6;
18740 : operands[6] = operands[3];
18741 : }
18742 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
18743 : STRIP_UNARY (operands[3])))
18744 : {
18745 : reg4 = reg6;
18746 : reg3 = reg1;
18747 : operands[6] = operands[4];
18748 : }
18749 : else
18750 : {
18751 : reg4 = reg6;
18752 : reg3 = reg2;
18753 : operands[6] = operands[4];
18754 : }
18755 :
18756 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
18757 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
18758 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
18759 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
18760 :
18761 : tmp1 = reg1 ^ reg2;
18762 : tmp2 = reg3 & reg4;
18763 : reg_mask = tmp1 ^ tmp2;
18764 : reg_mask &= 0xFF;
18765 :
18766 : operands[1] = STRIP_UNARY (operands[1]);
18767 : operands[2] = STRIP_UNARY (operands[2]);
18768 : operands[6] = STRIP_UNARY (operands[6]);
18769 : if (!register_operand (operands[2], V16HImode))
18770 : operands[2] = force_reg (V16HImode, operands[2]);
18771 : if (!register_operand (operands[6], V16HImode))
18772 : operands[6] = force_reg (V16HImode, operands[6]);
18773 : operands[5] = GEN_INT (reg_mask);
18774 : }
18775 : #undef DONE
18776 : #undef FAIL
18777 : static const uint8_t expand_encoding[] = {
18778 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x55, 0x04, 0x01,
18779 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
18780 : 0x25
18781 : };
18782 : return complete_seq (expand_encoding, operands);
18783 : }
18784 :
18785 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
18786 : extern rtx_insn *gen_split_1871 (rtx_insn *, rtx *);
18787 : rtx_insn *
18788 : gen_split_1871 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
18789 : {
18790 : if (dump_file)
18791 : fprintf (dump_file, "Splitting with gen_split_1871 (sse.md:14142)\n");
18792 : start_sequence ();
18793 : #define FAIL return (end_sequence (), nullptr)
18794 : #define DONE return end_sequence ()
18795 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18796 : {
18797 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
18798 : int reg6 = 0xF0;
18799 : int reg2 = 0xCC;
18800 : int reg1 = 0xAA;
18801 : int reg3 = 0;
18802 : int reg4 = 0;
18803 : int reg_mask, tmp1, tmp2;
18804 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
18805 : STRIP_UNARY (operands[4])))
18806 : {
18807 : reg4 = reg1;
18808 : reg3 = reg6;
18809 : operands[6] = operands[3];
18810 : }
18811 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
18812 : STRIP_UNARY (operands[4])))
18813 : {
18814 : reg4 = reg2;
18815 : reg3 = reg6;
18816 : operands[6] = operands[3];
18817 : }
18818 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
18819 : STRIP_UNARY (operands[3])))
18820 : {
18821 : reg4 = reg6;
18822 : reg3 = reg1;
18823 : operands[6] = operands[4];
18824 : }
18825 : else
18826 : {
18827 : reg4 = reg6;
18828 : reg3 = reg2;
18829 : operands[6] = operands[4];
18830 : }
18831 :
18832 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
18833 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
18834 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
18835 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
18836 :
18837 : tmp1 = reg1 & reg2;
18838 : tmp2 = reg3 | reg4;
18839 : reg_mask = tmp1 & tmp2;
18840 : reg_mask &= 0xFF;
18841 :
18842 : operands[1] = STRIP_UNARY (operands[1]);
18843 : operands[2] = STRIP_UNARY (operands[2]);
18844 : operands[6] = STRIP_UNARY (operands[6]);
18845 : if (!register_operand (operands[2], V8HImode))
18846 : operands[2] = force_reg (V8HImode, operands[2]);
18847 : if (!register_operand (operands[6], V8HImode))
18848 : operands[6] = force_reg (V8HImode, operands[6]);
18849 : operands[5] = GEN_INT (reg_mask);
18850 : }
18851 : #undef DONE
18852 : #undef FAIL
18853 : static const uint8_t expand_encoding[] = {
18854 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x50, 0x04, 0x01,
18855 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
18856 : 0x25
18857 : };
18858 : return complete_seq (expand_encoding, operands);
18859 : }
18860 :
18861 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
18862 : extern rtx_insn *gen_split_1881 (rtx_insn *, rtx *);
18863 : rtx_insn *
18864 : gen_split_1881 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
18865 : {
18866 : if (dump_file)
18867 : fprintf (dump_file, "Splitting with gen_split_1881 (sse.md:14142)\n");
18868 : start_sequence ();
18869 : #define FAIL return (end_sequence (), nullptr)
18870 : #define DONE return end_sequence ()
18871 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18872 : {
18873 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
18874 : int reg6 = 0xF0;
18875 : int reg2 = 0xCC;
18876 : int reg1 = 0xAA;
18877 : int reg3 = 0;
18878 : int reg4 = 0;
18879 : int reg_mask, tmp1, tmp2;
18880 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
18881 : STRIP_UNARY (operands[4])))
18882 : {
18883 : reg4 = reg1;
18884 : reg3 = reg6;
18885 : operands[6] = operands[3];
18886 : }
18887 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
18888 : STRIP_UNARY (operands[4])))
18889 : {
18890 : reg4 = reg2;
18891 : reg3 = reg6;
18892 : operands[6] = operands[3];
18893 : }
18894 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
18895 : STRIP_UNARY (operands[3])))
18896 : {
18897 : reg4 = reg6;
18898 : reg3 = reg1;
18899 : operands[6] = operands[4];
18900 : }
18901 : else
18902 : {
18903 : reg4 = reg6;
18904 : reg3 = reg2;
18905 : operands[6] = operands[4];
18906 : }
18907 :
18908 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
18909 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
18910 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
18911 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
18912 :
18913 : tmp1 = reg1 | reg2;
18914 : tmp2 = reg3 | reg4;
18915 : reg_mask = tmp1 | tmp2;
18916 : reg_mask &= 0xFF;
18917 :
18918 : operands[1] = STRIP_UNARY (operands[1]);
18919 : operands[2] = STRIP_UNARY (operands[2]);
18920 : operands[6] = STRIP_UNARY (operands[6]);
18921 : if (!register_operand (operands[2], V8HImode))
18922 : operands[2] = force_reg (V8HImode, operands[2]);
18923 : if (!register_operand (operands[6], V8HImode))
18924 : operands[6] = force_reg (V8HImode, operands[6]);
18925 : operands[5] = GEN_INT (reg_mask);
18926 : }
18927 : #undef DONE
18928 : #undef FAIL
18929 : static const uint8_t expand_encoding[] = {
18930 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x50, 0x04, 0x01,
18931 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
18932 : 0x25
18933 : };
18934 : return complete_seq (expand_encoding, operands);
18935 : }
18936 :
18937 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
18938 : extern rtx_insn *gen_split_1891 (rtx_insn *, rtx *);
18939 : rtx_insn *
18940 : gen_split_1891 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
18941 : {
18942 : if (dump_file)
18943 : fprintf (dump_file, "Splitting with gen_split_1891 (sse.md:14142)\n");
18944 : start_sequence ();
18945 : #define FAIL return (end_sequence (), nullptr)
18946 : #define DONE return end_sequence ()
18947 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18948 : {
18949 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
18950 : int reg6 = 0xF0;
18951 : int reg2 = 0xCC;
18952 : int reg1 = 0xAA;
18953 : int reg3 = 0;
18954 : int reg4 = 0;
18955 : int reg_mask, tmp1, tmp2;
18956 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
18957 : STRIP_UNARY (operands[4])))
18958 : {
18959 : reg4 = reg1;
18960 : reg3 = reg6;
18961 : operands[6] = operands[3];
18962 : }
18963 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
18964 : STRIP_UNARY (operands[4])))
18965 : {
18966 : reg4 = reg2;
18967 : reg3 = reg6;
18968 : operands[6] = operands[3];
18969 : }
18970 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
18971 : STRIP_UNARY (operands[3])))
18972 : {
18973 : reg4 = reg6;
18974 : reg3 = reg1;
18975 : operands[6] = operands[4];
18976 : }
18977 : else
18978 : {
18979 : reg4 = reg6;
18980 : reg3 = reg2;
18981 : operands[6] = operands[4];
18982 : }
18983 :
18984 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
18985 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
18986 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
18987 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
18988 :
18989 : tmp1 = reg1 ^ reg2;
18990 : tmp2 = reg3 | reg4;
18991 : reg_mask = tmp1 ^ tmp2;
18992 : reg_mask &= 0xFF;
18993 :
18994 : operands[1] = STRIP_UNARY (operands[1]);
18995 : operands[2] = STRIP_UNARY (operands[2]);
18996 : operands[6] = STRIP_UNARY (operands[6]);
18997 : if (!register_operand (operands[2], V8HImode))
18998 : operands[2] = force_reg (V8HImode, operands[2]);
18999 : if (!register_operand (operands[6], V8HImode))
19000 : operands[6] = force_reg (V8HImode, operands[6]);
19001 : operands[5] = GEN_INT (reg_mask);
19002 : }
19003 : #undef DONE
19004 : #undef FAIL
19005 : static const uint8_t expand_encoding[] = {
19006 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x50, 0x04, 0x01,
19007 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
19008 : 0x25
19009 : };
19010 : return complete_seq (expand_encoding, operands);
19011 : }
19012 :
19013 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
19014 : extern rtx_insn *gen_split_1901 (rtx_insn *, rtx *);
19015 : rtx_insn *
19016 : gen_split_1901 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
19017 : {
19018 : if (dump_file)
19019 : fprintf (dump_file, "Splitting with gen_split_1901 (sse.md:14142)\n");
19020 : start_sequence ();
19021 : #define FAIL return (end_sequence (), nullptr)
19022 : #define DONE return end_sequence ()
19023 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19024 : {
19025 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
19026 : int reg6 = 0xF0;
19027 : int reg2 = 0xCC;
19028 : int reg1 = 0xAA;
19029 : int reg3 = 0;
19030 : int reg4 = 0;
19031 : int reg_mask, tmp1, tmp2;
19032 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
19033 : STRIP_UNARY (operands[4])))
19034 : {
19035 : reg4 = reg1;
19036 : reg3 = reg6;
19037 : operands[6] = operands[3];
19038 : }
19039 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
19040 : STRIP_UNARY (operands[4])))
19041 : {
19042 : reg4 = reg2;
19043 : reg3 = reg6;
19044 : operands[6] = operands[3];
19045 : }
19046 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
19047 : STRIP_UNARY (operands[3])))
19048 : {
19049 : reg4 = reg6;
19050 : reg3 = reg1;
19051 : operands[6] = operands[4];
19052 : }
19053 : else
19054 : {
19055 : reg4 = reg6;
19056 : reg3 = reg2;
19057 : operands[6] = operands[4];
19058 : }
19059 :
19060 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
19061 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
19062 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
19063 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
19064 :
19065 : tmp1 = reg1 & reg2;
19066 : tmp2 = reg3 ^ reg4;
19067 : reg_mask = tmp1 & tmp2;
19068 : reg_mask &= 0xFF;
19069 :
19070 : operands[1] = STRIP_UNARY (operands[1]);
19071 : operands[2] = STRIP_UNARY (operands[2]);
19072 : operands[6] = STRIP_UNARY (operands[6]);
19073 : if (!register_operand (operands[2], V16SImode))
19074 : operands[2] = force_reg (V16SImode, operands[2]);
19075 : if (!register_operand (operands[6], V16SImode))
19076 : operands[6] = force_reg (V16SImode, operands[6]);
19077 : operands[5] = GEN_INT (reg_mask);
19078 : }
19079 : #undef DONE
19080 : #undef FAIL
19081 : static const uint8_t expand_encoding[] = {
19082 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x5b, 0x04, 0x01,
19083 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
19084 : 0x25
19085 : };
19086 : return complete_seq (expand_encoding, operands);
19087 : }
19088 :
19089 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
19090 : extern rtx_insn *gen_split_1911 (rtx_insn *, rtx *);
19091 : rtx_insn *
19092 : gen_split_1911 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
19093 : {
19094 : if (dump_file)
19095 : fprintf (dump_file, "Splitting with gen_split_1911 (sse.md:14142)\n");
19096 : start_sequence ();
19097 : #define FAIL return (end_sequence (), nullptr)
19098 : #define DONE return end_sequence ()
19099 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19100 : {
19101 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
19102 : int reg6 = 0xF0;
19103 : int reg2 = 0xCC;
19104 : int reg1 = 0xAA;
19105 : int reg3 = 0;
19106 : int reg4 = 0;
19107 : int reg_mask, tmp1, tmp2;
19108 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
19109 : STRIP_UNARY (operands[4])))
19110 : {
19111 : reg4 = reg1;
19112 : reg3 = reg6;
19113 : operands[6] = operands[3];
19114 : }
19115 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
19116 : STRIP_UNARY (operands[4])))
19117 : {
19118 : reg4 = reg2;
19119 : reg3 = reg6;
19120 : operands[6] = operands[3];
19121 : }
19122 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
19123 : STRIP_UNARY (operands[3])))
19124 : {
19125 : reg4 = reg6;
19126 : reg3 = reg1;
19127 : operands[6] = operands[4];
19128 : }
19129 : else
19130 : {
19131 : reg4 = reg6;
19132 : reg3 = reg2;
19133 : operands[6] = operands[4];
19134 : }
19135 :
19136 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
19137 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
19138 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
19139 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
19140 :
19141 : tmp1 = reg1 | reg2;
19142 : tmp2 = reg3 ^ reg4;
19143 : reg_mask = tmp1 | tmp2;
19144 : reg_mask &= 0xFF;
19145 :
19146 : operands[1] = STRIP_UNARY (operands[1]);
19147 : operands[2] = STRIP_UNARY (operands[2]);
19148 : operands[6] = STRIP_UNARY (operands[6]);
19149 : if (!register_operand (operands[2], V16SImode))
19150 : operands[2] = force_reg (V16SImode, operands[2]);
19151 : if (!register_operand (operands[6], V16SImode))
19152 : operands[6] = force_reg (V16SImode, operands[6]);
19153 : operands[5] = GEN_INT (reg_mask);
19154 : }
19155 : #undef DONE
19156 : #undef FAIL
19157 : static const uint8_t expand_encoding[] = {
19158 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x5b, 0x04, 0x01,
19159 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
19160 : 0x25
19161 : };
19162 : return complete_seq (expand_encoding, operands);
19163 : }
19164 :
19165 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
19166 : extern rtx_insn *gen_split_1921 (rtx_insn *, rtx *);
19167 : rtx_insn *
19168 : gen_split_1921 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
19169 : {
19170 : if (dump_file)
19171 : fprintf (dump_file, "Splitting with gen_split_1921 (sse.md:14142)\n");
19172 : start_sequence ();
19173 : #define FAIL return (end_sequence (), nullptr)
19174 : #define DONE return end_sequence ()
19175 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19176 : {
19177 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
19178 : int reg6 = 0xF0;
19179 : int reg2 = 0xCC;
19180 : int reg1 = 0xAA;
19181 : int reg3 = 0;
19182 : int reg4 = 0;
19183 : int reg_mask, tmp1, tmp2;
19184 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
19185 : STRIP_UNARY (operands[4])))
19186 : {
19187 : reg4 = reg1;
19188 : reg3 = reg6;
19189 : operands[6] = operands[3];
19190 : }
19191 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
19192 : STRIP_UNARY (operands[4])))
19193 : {
19194 : reg4 = reg2;
19195 : reg3 = reg6;
19196 : operands[6] = operands[3];
19197 : }
19198 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
19199 : STRIP_UNARY (operands[3])))
19200 : {
19201 : reg4 = reg6;
19202 : reg3 = reg1;
19203 : operands[6] = operands[4];
19204 : }
19205 : else
19206 : {
19207 : reg4 = reg6;
19208 : reg3 = reg2;
19209 : operands[6] = operands[4];
19210 : }
19211 :
19212 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
19213 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
19214 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
19215 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
19216 :
19217 : tmp1 = reg1 ^ reg2;
19218 : tmp2 = reg3 ^ reg4;
19219 : reg_mask = tmp1 ^ tmp2;
19220 : reg_mask &= 0xFF;
19221 :
19222 : operands[1] = STRIP_UNARY (operands[1]);
19223 : operands[2] = STRIP_UNARY (operands[2]);
19224 : operands[6] = STRIP_UNARY (operands[6]);
19225 : if (!register_operand (operands[2], V16SImode))
19226 : operands[2] = force_reg (V16SImode, operands[2]);
19227 : if (!register_operand (operands[6], V16SImode))
19228 : operands[6] = force_reg (V16SImode, operands[6]);
19229 : operands[5] = GEN_INT (reg_mask);
19230 : }
19231 : #undef DONE
19232 : #undef FAIL
19233 : static const uint8_t expand_encoding[] = {
19234 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x5b, 0x04, 0x01,
19235 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
19236 : 0x25
19237 : };
19238 : return complete_seq (expand_encoding, operands);
19239 : }
19240 :
19241 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
19242 : extern rtx_insn *gen_split_1932 (rtx_insn *, rtx *);
19243 : rtx_insn *
19244 : gen_split_1932 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
19245 : {
19246 : if (dump_file)
19247 : fprintf (dump_file, "Splitting with gen_split_1932 (sse.md:14142)\n");
19248 : start_sequence ();
19249 : #define FAIL return (end_sequence (), nullptr)
19250 : #define DONE return end_sequence ()
19251 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19252 : {
19253 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
19254 : int reg6 = 0xF0;
19255 : int reg2 = 0xCC;
19256 : int reg1 = 0xAA;
19257 : int reg3 = 0;
19258 : int reg4 = 0;
19259 : int reg_mask, tmp1, tmp2;
19260 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
19261 : STRIP_UNARY (operands[4])))
19262 : {
19263 : reg4 = reg1;
19264 : reg3 = reg6;
19265 : operands[6] = operands[3];
19266 : }
19267 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
19268 : STRIP_UNARY (operands[4])))
19269 : {
19270 : reg4 = reg2;
19271 : reg3 = reg6;
19272 : operands[6] = operands[3];
19273 : }
19274 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
19275 : STRIP_UNARY (operands[3])))
19276 : {
19277 : reg4 = reg6;
19278 : reg3 = reg1;
19279 : operands[6] = operands[4];
19280 : }
19281 : else
19282 : {
19283 : reg4 = reg6;
19284 : reg3 = reg2;
19285 : operands[6] = operands[4];
19286 : }
19287 :
19288 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
19289 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
19290 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
19291 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
19292 :
19293 : tmp1 = reg1 | reg2;
19294 : tmp2 = reg3 & reg4;
19295 : reg_mask = tmp1 | tmp2;
19296 : reg_mask &= 0xFF;
19297 :
19298 : operands[1] = STRIP_UNARY (operands[1]);
19299 : operands[2] = STRIP_UNARY (operands[2]);
19300 : operands[6] = STRIP_UNARY (operands[6]);
19301 : if (!register_operand (operands[2], V8SImode))
19302 : operands[2] = force_reg (V8SImode, operands[2]);
19303 : if (!register_operand (operands[6], V8SImode))
19304 : operands[6] = force_reg (V8SImode, operands[6]);
19305 : operands[5] = GEN_INT (reg_mask);
19306 : }
19307 : #undef DONE
19308 : #undef FAIL
19309 : static const uint8_t expand_encoding[] = {
19310 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x56, 0x04, 0x01,
19311 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
19312 : 0x25
19313 : };
19314 : return complete_seq (expand_encoding, operands);
19315 : }
19316 :
19317 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
19318 : extern rtx_insn *gen_split_1942 (rtx_insn *, rtx *);
19319 : rtx_insn *
19320 : gen_split_1942 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
19321 : {
19322 : if (dump_file)
19323 : fprintf (dump_file, "Splitting with gen_split_1942 (sse.md:14142)\n");
19324 : start_sequence ();
19325 : #define FAIL return (end_sequence (), nullptr)
19326 : #define DONE return end_sequence ()
19327 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19328 : {
19329 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
19330 : int reg6 = 0xF0;
19331 : int reg2 = 0xCC;
19332 : int reg1 = 0xAA;
19333 : int reg3 = 0;
19334 : int reg4 = 0;
19335 : int reg_mask, tmp1, tmp2;
19336 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
19337 : STRIP_UNARY (operands[4])))
19338 : {
19339 : reg4 = reg1;
19340 : reg3 = reg6;
19341 : operands[6] = operands[3];
19342 : }
19343 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
19344 : STRIP_UNARY (operands[4])))
19345 : {
19346 : reg4 = reg2;
19347 : reg3 = reg6;
19348 : operands[6] = operands[3];
19349 : }
19350 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
19351 : STRIP_UNARY (operands[3])))
19352 : {
19353 : reg4 = reg6;
19354 : reg3 = reg1;
19355 : operands[6] = operands[4];
19356 : }
19357 : else
19358 : {
19359 : reg4 = reg6;
19360 : reg3 = reg2;
19361 : operands[6] = operands[4];
19362 : }
19363 :
19364 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
19365 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
19366 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
19367 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
19368 :
19369 : tmp1 = reg1 ^ reg2;
19370 : tmp2 = reg3 & reg4;
19371 : reg_mask = tmp1 ^ tmp2;
19372 : reg_mask &= 0xFF;
19373 :
19374 : operands[1] = STRIP_UNARY (operands[1]);
19375 : operands[2] = STRIP_UNARY (operands[2]);
19376 : operands[6] = STRIP_UNARY (operands[6]);
19377 : if (!register_operand (operands[2], V8SImode))
19378 : operands[2] = force_reg (V8SImode, operands[2]);
19379 : if (!register_operand (operands[6], V8SImode))
19380 : operands[6] = force_reg (V8SImode, operands[6]);
19381 : operands[5] = GEN_INT (reg_mask);
19382 : }
19383 : #undef DONE
19384 : #undef FAIL
19385 : static const uint8_t expand_encoding[] = {
19386 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x56, 0x04, 0x01,
19387 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
19388 : 0x25
19389 : };
19390 : return complete_seq (expand_encoding, operands);
19391 : }
19392 :
19393 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
19394 : extern rtx_insn *gen_split_1952 (rtx_insn *, rtx *);
19395 : rtx_insn *
19396 : gen_split_1952 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
19397 : {
19398 : if (dump_file)
19399 : fprintf (dump_file, "Splitting with gen_split_1952 (sse.md:14142)\n");
19400 : start_sequence ();
19401 : #define FAIL return (end_sequence (), nullptr)
19402 : #define DONE return end_sequence ()
19403 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19404 : {
19405 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
19406 : int reg6 = 0xF0;
19407 : int reg2 = 0xCC;
19408 : int reg1 = 0xAA;
19409 : int reg3 = 0;
19410 : int reg4 = 0;
19411 : int reg_mask, tmp1, tmp2;
19412 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
19413 : STRIP_UNARY (operands[4])))
19414 : {
19415 : reg4 = reg1;
19416 : reg3 = reg6;
19417 : operands[6] = operands[3];
19418 : }
19419 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
19420 : STRIP_UNARY (operands[4])))
19421 : {
19422 : reg4 = reg2;
19423 : reg3 = reg6;
19424 : operands[6] = operands[3];
19425 : }
19426 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
19427 : STRIP_UNARY (operands[3])))
19428 : {
19429 : reg4 = reg6;
19430 : reg3 = reg1;
19431 : operands[6] = operands[4];
19432 : }
19433 : else
19434 : {
19435 : reg4 = reg6;
19436 : reg3 = reg2;
19437 : operands[6] = operands[4];
19438 : }
19439 :
19440 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
19441 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
19442 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
19443 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
19444 :
19445 : tmp1 = reg1 & reg2;
19446 : tmp2 = reg3 | reg4;
19447 : reg_mask = tmp1 & tmp2;
19448 : reg_mask &= 0xFF;
19449 :
19450 : operands[1] = STRIP_UNARY (operands[1]);
19451 : operands[2] = STRIP_UNARY (operands[2]);
19452 : operands[6] = STRIP_UNARY (operands[6]);
19453 : if (!register_operand (operands[2], V4SImode))
19454 : operands[2] = force_reg (V4SImode, operands[2]);
19455 : if (!register_operand (operands[6], V4SImode))
19456 : operands[6] = force_reg (V4SImode, operands[6]);
19457 : operands[5] = GEN_INT (reg_mask);
19458 : }
19459 : #undef DONE
19460 : #undef FAIL
19461 : static const uint8_t expand_encoding[] = {
19462 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x51, 0x04, 0x01,
19463 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
19464 : 0x25
19465 : };
19466 : return complete_seq (expand_encoding, operands);
19467 : }
19468 :
19469 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
19470 : extern rtx_insn *gen_split_1962 (rtx_insn *, rtx *);
19471 : rtx_insn *
19472 : gen_split_1962 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
19473 : {
19474 : if (dump_file)
19475 : fprintf (dump_file, "Splitting with gen_split_1962 (sse.md:14142)\n");
19476 : start_sequence ();
19477 : #define FAIL return (end_sequence (), nullptr)
19478 : #define DONE return end_sequence ()
19479 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19480 : {
19481 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
19482 : int reg6 = 0xF0;
19483 : int reg2 = 0xCC;
19484 : int reg1 = 0xAA;
19485 : int reg3 = 0;
19486 : int reg4 = 0;
19487 : int reg_mask, tmp1, tmp2;
19488 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
19489 : STRIP_UNARY (operands[4])))
19490 : {
19491 : reg4 = reg1;
19492 : reg3 = reg6;
19493 : operands[6] = operands[3];
19494 : }
19495 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
19496 : STRIP_UNARY (operands[4])))
19497 : {
19498 : reg4 = reg2;
19499 : reg3 = reg6;
19500 : operands[6] = operands[3];
19501 : }
19502 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
19503 : STRIP_UNARY (operands[3])))
19504 : {
19505 : reg4 = reg6;
19506 : reg3 = reg1;
19507 : operands[6] = operands[4];
19508 : }
19509 : else
19510 : {
19511 : reg4 = reg6;
19512 : reg3 = reg2;
19513 : operands[6] = operands[4];
19514 : }
19515 :
19516 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
19517 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
19518 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
19519 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
19520 :
19521 : tmp1 = reg1 | reg2;
19522 : tmp2 = reg3 | reg4;
19523 : reg_mask = tmp1 | tmp2;
19524 : reg_mask &= 0xFF;
19525 :
19526 : operands[1] = STRIP_UNARY (operands[1]);
19527 : operands[2] = STRIP_UNARY (operands[2]);
19528 : operands[6] = STRIP_UNARY (operands[6]);
19529 : if (!register_operand (operands[2], V4SImode))
19530 : operands[2] = force_reg (V4SImode, operands[2]);
19531 : if (!register_operand (operands[6], V4SImode))
19532 : operands[6] = force_reg (V4SImode, operands[6]);
19533 : operands[5] = GEN_INT (reg_mask);
19534 : }
19535 : #undef DONE
19536 : #undef FAIL
19537 : static const uint8_t expand_encoding[] = {
19538 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x51, 0x04, 0x01,
19539 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
19540 : 0x25
19541 : };
19542 : return complete_seq (expand_encoding, operands);
19543 : }
19544 :
19545 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
19546 : extern rtx_insn *gen_split_1972 (rtx_insn *, rtx *);
19547 : rtx_insn *
19548 : gen_split_1972 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
19549 : {
19550 : if (dump_file)
19551 : fprintf (dump_file, "Splitting with gen_split_1972 (sse.md:14142)\n");
19552 : start_sequence ();
19553 : #define FAIL return (end_sequence (), nullptr)
19554 : #define DONE return end_sequence ()
19555 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19556 : {
19557 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
19558 : int reg6 = 0xF0;
19559 : int reg2 = 0xCC;
19560 : int reg1 = 0xAA;
19561 : int reg3 = 0;
19562 : int reg4 = 0;
19563 : int reg_mask, tmp1, tmp2;
19564 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
19565 : STRIP_UNARY (operands[4])))
19566 : {
19567 : reg4 = reg1;
19568 : reg3 = reg6;
19569 : operands[6] = operands[3];
19570 : }
19571 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
19572 : STRIP_UNARY (operands[4])))
19573 : {
19574 : reg4 = reg2;
19575 : reg3 = reg6;
19576 : operands[6] = operands[3];
19577 : }
19578 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
19579 : STRIP_UNARY (operands[3])))
19580 : {
19581 : reg4 = reg6;
19582 : reg3 = reg1;
19583 : operands[6] = operands[4];
19584 : }
19585 : else
19586 : {
19587 : reg4 = reg6;
19588 : reg3 = reg2;
19589 : operands[6] = operands[4];
19590 : }
19591 :
19592 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
19593 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
19594 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
19595 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
19596 :
19597 : tmp1 = reg1 ^ reg2;
19598 : tmp2 = reg3 | reg4;
19599 : reg_mask = tmp1 ^ tmp2;
19600 : reg_mask &= 0xFF;
19601 :
19602 : operands[1] = STRIP_UNARY (operands[1]);
19603 : operands[2] = STRIP_UNARY (operands[2]);
19604 : operands[6] = STRIP_UNARY (operands[6]);
19605 : if (!register_operand (operands[2], V4SImode))
19606 : operands[2] = force_reg (V4SImode, operands[2]);
19607 : if (!register_operand (operands[6], V4SImode))
19608 : operands[6] = force_reg (V4SImode, operands[6]);
19609 : operands[5] = GEN_INT (reg_mask);
19610 : }
19611 : #undef DONE
19612 : #undef FAIL
19613 : static const uint8_t expand_encoding[] = {
19614 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x51, 0x04, 0x01,
19615 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
19616 : 0x25
19617 : };
19618 : return complete_seq (expand_encoding, operands);
19619 : }
19620 :
19621 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
19622 : extern rtx_insn *gen_split_1982 (rtx_insn *, rtx *);
19623 : rtx_insn *
19624 : gen_split_1982 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
19625 : {
19626 : if (dump_file)
19627 : fprintf (dump_file, "Splitting with gen_split_1982 (sse.md:14142)\n");
19628 : start_sequence ();
19629 : #define FAIL return (end_sequence (), nullptr)
19630 : #define DONE return end_sequence ()
19631 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19632 : {
19633 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
19634 : int reg6 = 0xF0;
19635 : int reg2 = 0xCC;
19636 : int reg1 = 0xAA;
19637 : int reg3 = 0;
19638 : int reg4 = 0;
19639 : int reg_mask, tmp1, tmp2;
19640 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
19641 : STRIP_UNARY (operands[4])))
19642 : {
19643 : reg4 = reg1;
19644 : reg3 = reg6;
19645 : operands[6] = operands[3];
19646 : }
19647 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
19648 : STRIP_UNARY (operands[4])))
19649 : {
19650 : reg4 = reg2;
19651 : reg3 = reg6;
19652 : operands[6] = operands[3];
19653 : }
19654 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
19655 : STRIP_UNARY (operands[3])))
19656 : {
19657 : reg4 = reg6;
19658 : reg3 = reg1;
19659 : operands[6] = operands[4];
19660 : }
19661 : else
19662 : {
19663 : reg4 = reg6;
19664 : reg3 = reg2;
19665 : operands[6] = operands[4];
19666 : }
19667 :
19668 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
19669 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
19670 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
19671 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
19672 :
19673 : tmp1 = reg1 & reg2;
19674 : tmp2 = reg3 ^ reg4;
19675 : reg_mask = tmp1 & tmp2;
19676 : reg_mask &= 0xFF;
19677 :
19678 : operands[1] = STRIP_UNARY (operands[1]);
19679 : operands[2] = STRIP_UNARY (operands[2]);
19680 : operands[6] = STRIP_UNARY (operands[6]);
19681 : if (!register_operand (operands[2], V8DImode))
19682 : operands[2] = force_reg (V8DImode, operands[2]);
19683 : if (!register_operand (operands[6], V8DImode))
19684 : operands[6] = force_reg (V8DImode, operands[6]);
19685 : operands[5] = GEN_INT (reg_mask);
19686 : }
19687 : #undef DONE
19688 : #undef FAIL
19689 : static const uint8_t expand_encoding[] = {
19690 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x5c, 0x04, 0x01,
19691 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
19692 : 0x25
19693 : };
19694 : return complete_seq (expand_encoding, operands);
19695 : }
19696 :
19697 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
19698 : extern rtx_insn *gen_split_1992 (rtx_insn *, rtx *);
19699 : rtx_insn *
19700 : gen_split_1992 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
19701 : {
19702 : if (dump_file)
19703 : fprintf (dump_file, "Splitting with gen_split_1992 (sse.md:14142)\n");
19704 : start_sequence ();
19705 : #define FAIL return (end_sequence (), nullptr)
19706 : #define DONE return end_sequence ()
19707 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19708 : {
19709 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
19710 : int reg6 = 0xF0;
19711 : int reg2 = 0xCC;
19712 : int reg1 = 0xAA;
19713 : int reg3 = 0;
19714 : int reg4 = 0;
19715 : int reg_mask, tmp1, tmp2;
19716 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
19717 : STRIP_UNARY (operands[4])))
19718 : {
19719 : reg4 = reg1;
19720 : reg3 = reg6;
19721 : operands[6] = operands[3];
19722 : }
19723 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
19724 : STRIP_UNARY (operands[4])))
19725 : {
19726 : reg4 = reg2;
19727 : reg3 = reg6;
19728 : operands[6] = operands[3];
19729 : }
19730 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
19731 : STRIP_UNARY (operands[3])))
19732 : {
19733 : reg4 = reg6;
19734 : reg3 = reg1;
19735 : operands[6] = operands[4];
19736 : }
19737 : else
19738 : {
19739 : reg4 = reg6;
19740 : reg3 = reg2;
19741 : operands[6] = operands[4];
19742 : }
19743 :
19744 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
19745 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
19746 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
19747 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
19748 :
19749 : tmp1 = reg1 | reg2;
19750 : tmp2 = reg3 ^ reg4;
19751 : reg_mask = tmp1 | tmp2;
19752 : reg_mask &= 0xFF;
19753 :
19754 : operands[1] = STRIP_UNARY (operands[1]);
19755 : operands[2] = STRIP_UNARY (operands[2]);
19756 : operands[6] = STRIP_UNARY (operands[6]);
19757 : if (!register_operand (operands[2], V8DImode))
19758 : operands[2] = force_reg (V8DImode, operands[2]);
19759 : if (!register_operand (operands[6], V8DImode))
19760 : operands[6] = force_reg (V8DImode, operands[6]);
19761 : operands[5] = GEN_INT (reg_mask);
19762 : }
19763 : #undef DONE
19764 : #undef FAIL
19765 : static const uint8_t expand_encoding[] = {
19766 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x5c, 0x04, 0x01,
19767 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
19768 : 0x25
19769 : };
19770 : return complete_seq (expand_encoding, operands);
19771 : }
19772 :
19773 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
19774 : extern rtx_insn *gen_split_2002 (rtx_insn *, rtx *);
19775 : rtx_insn *
19776 : gen_split_2002 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
19777 : {
19778 : if (dump_file)
19779 : fprintf (dump_file, "Splitting with gen_split_2002 (sse.md:14142)\n");
19780 : start_sequence ();
19781 : #define FAIL return (end_sequence (), nullptr)
19782 : #define DONE return end_sequence ()
19783 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19784 : {
19785 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
19786 : int reg6 = 0xF0;
19787 : int reg2 = 0xCC;
19788 : int reg1 = 0xAA;
19789 : int reg3 = 0;
19790 : int reg4 = 0;
19791 : int reg_mask, tmp1, tmp2;
19792 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
19793 : STRIP_UNARY (operands[4])))
19794 : {
19795 : reg4 = reg1;
19796 : reg3 = reg6;
19797 : operands[6] = operands[3];
19798 : }
19799 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
19800 : STRIP_UNARY (operands[4])))
19801 : {
19802 : reg4 = reg2;
19803 : reg3 = reg6;
19804 : operands[6] = operands[3];
19805 : }
19806 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
19807 : STRIP_UNARY (operands[3])))
19808 : {
19809 : reg4 = reg6;
19810 : reg3 = reg1;
19811 : operands[6] = operands[4];
19812 : }
19813 : else
19814 : {
19815 : reg4 = reg6;
19816 : reg3 = reg2;
19817 : operands[6] = operands[4];
19818 : }
19819 :
19820 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
19821 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
19822 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
19823 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
19824 :
19825 : tmp1 = reg1 ^ reg2;
19826 : tmp2 = reg3 ^ reg4;
19827 : reg_mask = tmp1 ^ tmp2;
19828 : reg_mask &= 0xFF;
19829 :
19830 : operands[1] = STRIP_UNARY (operands[1]);
19831 : operands[2] = STRIP_UNARY (operands[2]);
19832 : operands[6] = STRIP_UNARY (operands[6]);
19833 : if (!register_operand (operands[2], V8DImode))
19834 : operands[2] = force_reg (V8DImode, operands[2]);
19835 : if (!register_operand (operands[6], V8DImode))
19836 : operands[6] = force_reg (V8DImode, operands[6]);
19837 : operands[5] = GEN_INT (reg_mask);
19838 : }
19839 : #undef DONE
19840 : #undef FAIL
19841 : static const uint8_t expand_encoding[] = {
19842 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x5c, 0x04, 0x01,
19843 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
19844 : 0x25
19845 : };
19846 : return complete_seq (expand_encoding, operands);
19847 : }
19848 :
19849 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
19850 : extern rtx_insn *gen_split_2012 (rtx_insn *, rtx *);
19851 : rtx_insn *
19852 : gen_split_2012 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
19853 : {
19854 : if (dump_file)
19855 : fprintf (dump_file, "Splitting with gen_split_2012 (sse.md:14142)\n");
19856 : start_sequence ();
19857 : #define FAIL return (end_sequence (), nullptr)
19858 : #define DONE return end_sequence ()
19859 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19860 : {
19861 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
19862 : int reg6 = 0xF0;
19863 : int reg2 = 0xCC;
19864 : int reg1 = 0xAA;
19865 : int reg3 = 0;
19866 : int reg4 = 0;
19867 : int reg_mask, tmp1, tmp2;
19868 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
19869 : STRIP_UNARY (operands[4])))
19870 : {
19871 : reg4 = reg1;
19872 : reg3 = reg6;
19873 : operands[6] = operands[3];
19874 : }
19875 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
19876 : STRIP_UNARY (operands[4])))
19877 : {
19878 : reg4 = reg2;
19879 : reg3 = reg6;
19880 : operands[6] = operands[3];
19881 : }
19882 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
19883 : STRIP_UNARY (operands[3])))
19884 : {
19885 : reg4 = reg6;
19886 : reg3 = reg1;
19887 : operands[6] = operands[4];
19888 : }
19889 : else
19890 : {
19891 : reg4 = reg6;
19892 : reg3 = reg2;
19893 : operands[6] = operands[4];
19894 : }
19895 :
19896 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
19897 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
19898 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
19899 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
19900 :
19901 : tmp1 = reg1 | reg2;
19902 : tmp2 = reg3 & reg4;
19903 : reg_mask = tmp1 & tmp2;
19904 : reg_mask &= 0xFF;
19905 :
19906 : operands[1] = STRIP_UNARY (operands[1]);
19907 : operands[2] = STRIP_UNARY (operands[2]);
19908 : operands[6] = STRIP_UNARY (operands[6]);
19909 : if (!register_operand (operands[2], V4DImode))
19910 : operands[2] = force_reg (V4DImode, operands[2]);
19911 : if (!register_operand (operands[6], V4DImode))
19912 : operands[6] = force_reg (V4DImode, operands[6]);
19913 : operands[5] = GEN_INT (reg_mask);
19914 : }
19915 : #undef DONE
19916 : #undef FAIL
19917 : static const uint8_t expand_encoding[] = {
19918 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x57, 0x04, 0x01,
19919 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
19920 : 0x25
19921 : };
19922 : return complete_seq (expand_encoding, operands);
19923 : }
19924 :
19925 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
19926 : extern rtx_insn *gen_split_2022 (rtx_insn *, rtx *);
19927 : rtx_insn *
19928 : gen_split_2022 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
19929 : {
19930 : if (dump_file)
19931 : fprintf (dump_file, "Splitting with gen_split_2022 (sse.md:14142)\n");
19932 : start_sequence ();
19933 : #define FAIL return (end_sequence (), nullptr)
19934 : #define DONE return end_sequence ()
19935 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19936 : {
19937 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
19938 : int reg6 = 0xF0;
19939 : int reg2 = 0xCC;
19940 : int reg1 = 0xAA;
19941 : int reg3 = 0;
19942 : int reg4 = 0;
19943 : int reg_mask, tmp1, tmp2;
19944 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
19945 : STRIP_UNARY (operands[4])))
19946 : {
19947 : reg4 = reg1;
19948 : reg3 = reg6;
19949 : operands[6] = operands[3];
19950 : }
19951 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
19952 : STRIP_UNARY (operands[4])))
19953 : {
19954 : reg4 = reg2;
19955 : reg3 = reg6;
19956 : operands[6] = operands[3];
19957 : }
19958 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
19959 : STRIP_UNARY (operands[3])))
19960 : {
19961 : reg4 = reg6;
19962 : reg3 = reg1;
19963 : operands[6] = operands[4];
19964 : }
19965 : else
19966 : {
19967 : reg4 = reg6;
19968 : reg3 = reg2;
19969 : operands[6] = operands[4];
19970 : }
19971 :
19972 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
19973 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
19974 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
19975 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
19976 :
19977 : tmp1 = reg1 ^ reg2;
19978 : tmp2 = reg3 & reg4;
19979 : reg_mask = tmp1 | tmp2;
19980 : reg_mask &= 0xFF;
19981 :
19982 : operands[1] = STRIP_UNARY (operands[1]);
19983 : operands[2] = STRIP_UNARY (operands[2]);
19984 : operands[6] = STRIP_UNARY (operands[6]);
19985 : if (!register_operand (operands[2], V4DImode))
19986 : operands[2] = force_reg (V4DImode, operands[2]);
19987 : if (!register_operand (operands[6], V4DImode))
19988 : operands[6] = force_reg (V4DImode, operands[6]);
19989 : operands[5] = GEN_INT (reg_mask);
19990 : }
19991 : #undef DONE
19992 : #undef FAIL
19993 : static const uint8_t expand_encoding[] = {
19994 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x57, 0x04, 0x01,
19995 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
19996 : 0x25
19997 : };
19998 : return complete_seq (expand_encoding, operands);
19999 : }
20000 :
20001 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
20002 : extern rtx_insn *gen_split_2032 (rtx_insn *, rtx *);
20003 : rtx_insn *
20004 : gen_split_2032 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
20005 : {
20006 : if (dump_file)
20007 : fprintf (dump_file, "Splitting with gen_split_2032 (sse.md:14142)\n");
20008 : start_sequence ();
20009 : #define FAIL return (end_sequence (), nullptr)
20010 : #define DONE return end_sequence ()
20011 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20012 : {
20013 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
20014 : int reg6 = 0xF0;
20015 : int reg2 = 0xCC;
20016 : int reg1 = 0xAA;
20017 : int reg3 = 0;
20018 : int reg4 = 0;
20019 : int reg_mask, tmp1, tmp2;
20020 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
20021 : STRIP_UNARY (operands[4])))
20022 : {
20023 : reg4 = reg1;
20024 : reg3 = reg6;
20025 : operands[6] = operands[3];
20026 : }
20027 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
20028 : STRIP_UNARY (operands[4])))
20029 : {
20030 : reg4 = reg2;
20031 : reg3 = reg6;
20032 : operands[6] = operands[3];
20033 : }
20034 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
20035 : STRIP_UNARY (operands[3])))
20036 : {
20037 : reg4 = reg6;
20038 : reg3 = reg1;
20039 : operands[6] = operands[4];
20040 : }
20041 : else
20042 : {
20043 : reg4 = reg6;
20044 : reg3 = reg2;
20045 : operands[6] = operands[4];
20046 : }
20047 :
20048 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
20049 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
20050 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
20051 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
20052 :
20053 : tmp1 = reg1 & reg2;
20054 : tmp2 = reg3 & reg4;
20055 : reg_mask = tmp1 ^ tmp2;
20056 : reg_mask &= 0xFF;
20057 :
20058 : operands[1] = STRIP_UNARY (operands[1]);
20059 : operands[2] = STRIP_UNARY (operands[2]);
20060 : operands[6] = STRIP_UNARY (operands[6]);
20061 : if (!register_operand (operands[2], V2DImode))
20062 : operands[2] = force_reg (V2DImode, operands[2]);
20063 : if (!register_operand (operands[6], V2DImode))
20064 : operands[6] = force_reg (V2DImode, operands[6]);
20065 : operands[5] = GEN_INT (reg_mask);
20066 : }
20067 : #undef DONE
20068 : #undef FAIL
20069 : static const uint8_t expand_encoding[] = {
20070 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x52, 0x04, 0x01,
20071 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
20072 : 0x25
20073 : };
20074 : return complete_seq (expand_encoding, operands);
20075 : }
20076 :
20077 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
20078 : extern rtx_insn *gen_split_2042 (rtx_insn *, rtx *);
20079 : rtx_insn *
20080 : gen_split_2042 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
20081 : {
20082 : if (dump_file)
20083 : fprintf (dump_file, "Splitting with gen_split_2042 (sse.md:14142)\n");
20084 : start_sequence ();
20085 : #define FAIL return (end_sequence (), nullptr)
20086 : #define DONE return end_sequence ()
20087 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20088 : {
20089 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
20090 : int reg6 = 0xF0;
20091 : int reg2 = 0xCC;
20092 : int reg1 = 0xAA;
20093 : int reg3 = 0;
20094 : int reg4 = 0;
20095 : int reg_mask, tmp1, tmp2;
20096 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
20097 : STRIP_UNARY (operands[4])))
20098 : {
20099 : reg4 = reg1;
20100 : reg3 = reg6;
20101 : operands[6] = operands[3];
20102 : }
20103 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
20104 : STRIP_UNARY (operands[4])))
20105 : {
20106 : reg4 = reg2;
20107 : reg3 = reg6;
20108 : operands[6] = operands[3];
20109 : }
20110 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
20111 : STRIP_UNARY (operands[3])))
20112 : {
20113 : reg4 = reg6;
20114 : reg3 = reg1;
20115 : operands[6] = operands[4];
20116 : }
20117 : else
20118 : {
20119 : reg4 = reg6;
20120 : reg3 = reg2;
20121 : operands[6] = operands[4];
20122 : }
20123 :
20124 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
20125 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
20126 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
20127 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
20128 :
20129 : tmp1 = reg1 | reg2;
20130 : tmp2 = reg3 | reg4;
20131 : reg_mask = tmp1 & tmp2;
20132 : reg_mask &= 0xFF;
20133 :
20134 : operands[1] = STRIP_UNARY (operands[1]);
20135 : operands[2] = STRIP_UNARY (operands[2]);
20136 : operands[6] = STRIP_UNARY (operands[6]);
20137 : if (!register_operand (operands[2], V2DImode))
20138 : operands[2] = force_reg (V2DImode, operands[2]);
20139 : if (!register_operand (operands[6], V2DImode))
20140 : operands[6] = force_reg (V2DImode, operands[6]);
20141 : operands[5] = GEN_INT (reg_mask);
20142 : }
20143 : #undef DONE
20144 : #undef FAIL
20145 : static const uint8_t expand_encoding[] = {
20146 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x52, 0x04, 0x01,
20147 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
20148 : 0x25
20149 : };
20150 : return complete_seq (expand_encoding, operands);
20151 : }
20152 :
20153 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
20154 : extern rtx_insn *gen_split_2052 (rtx_insn *, rtx *);
20155 : rtx_insn *
20156 : gen_split_2052 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
20157 : {
20158 : if (dump_file)
20159 : fprintf (dump_file, "Splitting with gen_split_2052 (sse.md:14142)\n");
20160 : start_sequence ();
20161 : #define FAIL return (end_sequence (), nullptr)
20162 : #define DONE return end_sequence ()
20163 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20164 : {
20165 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
20166 : int reg6 = 0xF0;
20167 : int reg2 = 0xCC;
20168 : int reg1 = 0xAA;
20169 : int reg3 = 0;
20170 : int reg4 = 0;
20171 : int reg_mask, tmp1, tmp2;
20172 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
20173 : STRIP_UNARY (operands[4])))
20174 : {
20175 : reg4 = reg1;
20176 : reg3 = reg6;
20177 : operands[6] = operands[3];
20178 : }
20179 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
20180 : STRIP_UNARY (operands[4])))
20181 : {
20182 : reg4 = reg2;
20183 : reg3 = reg6;
20184 : operands[6] = operands[3];
20185 : }
20186 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
20187 : STRIP_UNARY (operands[3])))
20188 : {
20189 : reg4 = reg6;
20190 : reg3 = reg1;
20191 : operands[6] = operands[4];
20192 : }
20193 : else
20194 : {
20195 : reg4 = reg6;
20196 : reg3 = reg2;
20197 : operands[6] = operands[4];
20198 : }
20199 :
20200 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
20201 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
20202 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
20203 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
20204 :
20205 : tmp1 = reg1 ^ reg2;
20206 : tmp2 = reg3 | reg4;
20207 : reg_mask = tmp1 | tmp2;
20208 : reg_mask &= 0xFF;
20209 :
20210 : operands[1] = STRIP_UNARY (operands[1]);
20211 : operands[2] = STRIP_UNARY (operands[2]);
20212 : operands[6] = STRIP_UNARY (operands[6]);
20213 : if (!register_operand (operands[2], V2DImode))
20214 : operands[2] = force_reg (V2DImode, operands[2]);
20215 : if (!register_operand (operands[6], V2DImode))
20216 : operands[6] = force_reg (V2DImode, operands[6]);
20217 : operands[5] = GEN_INT (reg_mask);
20218 : }
20219 : #undef DONE
20220 : #undef FAIL
20221 : static const uint8_t expand_encoding[] = {
20222 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x52, 0x04, 0x01,
20223 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
20224 : 0x25
20225 : };
20226 : return complete_seq (expand_encoding, operands);
20227 : }
20228 :
20229 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
20230 : extern rtx_insn *gen_split_2062 (rtx_insn *, rtx *);
20231 : rtx_insn *
20232 : gen_split_2062 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
20233 : {
20234 : if (dump_file)
20235 : fprintf (dump_file, "Splitting with gen_split_2062 (sse.md:14142)\n");
20236 : start_sequence ();
20237 : #define FAIL return (end_sequence (), nullptr)
20238 : #define DONE return end_sequence ()
20239 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20240 : {
20241 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
20242 : int reg6 = 0xF0;
20243 : int reg2 = 0xCC;
20244 : int reg1 = 0xAA;
20245 : int reg3 = 0;
20246 : int reg4 = 0;
20247 : int reg_mask, tmp1, tmp2;
20248 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
20249 : STRIP_UNARY (operands[4])))
20250 : {
20251 : reg4 = reg1;
20252 : reg3 = reg6;
20253 : operands[6] = operands[3];
20254 : }
20255 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
20256 : STRIP_UNARY (operands[4])))
20257 : {
20258 : reg4 = reg2;
20259 : reg3 = reg6;
20260 : operands[6] = operands[3];
20261 : }
20262 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
20263 : STRIP_UNARY (operands[3])))
20264 : {
20265 : reg4 = reg6;
20266 : reg3 = reg1;
20267 : operands[6] = operands[4];
20268 : }
20269 : else
20270 : {
20271 : reg4 = reg6;
20272 : reg3 = reg2;
20273 : operands[6] = operands[4];
20274 : }
20275 :
20276 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
20277 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
20278 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
20279 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
20280 :
20281 : tmp1 = reg1 & reg2;
20282 : tmp2 = reg3 | reg4;
20283 : reg_mask = tmp1 ^ tmp2;
20284 : reg_mask &= 0xFF;
20285 :
20286 : operands[1] = STRIP_UNARY (operands[1]);
20287 : operands[2] = STRIP_UNARY (operands[2]);
20288 : operands[6] = STRIP_UNARY (operands[6]);
20289 : if (!register_operand (operands[2], V32HFmode))
20290 : operands[2] = force_reg (V32HFmode, operands[2]);
20291 : if (!register_operand (operands[6], V32HFmode))
20292 : operands[6] = force_reg (V32HFmode, operands[6]);
20293 : operands[5] = GEN_INT (reg_mask);
20294 : }
20295 : #undef DONE
20296 : #undef FAIL
20297 : static const uint8_t expand_encoding[] = {
20298 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x73, 0x04, 0x01,
20299 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
20300 : 0x25
20301 : };
20302 : return complete_seq (expand_encoding, operands);
20303 : }
20304 :
20305 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
20306 : extern rtx_insn *gen_split_2072 (rtx_insn *, rtx *);
20307 : rtx_insn *
20308 : gen_split_2072 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
20309 : {
20310 : if (dump_file)
20311 : fprintf (dump_file, "Splitting with gen_split_2072 (sse.md:14142)\n");
20312 : start_sequence ();
20313 : #define FAIL return (end_sequence (), nullptr)
20314 : #define DONE return end_sequence ()
20315 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20316 : {
20317 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
20318 : int reg6 = 0xF0;
20319 : int reg2 = 0xCC;
20320 : int reg1 = 0xAA;
20321 : int reg3 = 0;
20322 : int reg4 = 0;
20323 : int reg_mask, tmp1, tmp2;
20324 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
20325 : STRIP_UNARY (operands[4])))
20326 : {
20327 : reg4 = reg1;
20328 : reg3 = reg6;
20329 : operands[6] = operands[3];
20330 : }
20331 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
20332 : STRIP_UNARY (operands[4])))
20333 : {
20334 : reg4 = reg2;
20335 : reg3 = reg6;
20336 : operands[6] = operands[3];
20337 : }
20338 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
20339 : STRIP_UNARY (operands[3])))
20340 : {
20341 : reg4 = reg6;
20342 : reg3 = reg1;
20343 : operands[6] = operands[4];
20344 : }
20345 : else
20346 : {
20347 : reg4 = reg6;
20348 : reg3 = reg2;
20349 : operands[6] = operands[4];
20350 : }
20351 :
20352 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
20353 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
20354 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
20355 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
20356 :
20357 : tmp1 = reg1 | reg2;
20358 : tmp2 = reg3 ^ reg4;
20359 : reg_mask = tmp1 & tmp2;
20360 : reg_mask &= 0xFF;
20361 :
20362 : operands[1] = STRIP_UNARY (operands[1]);
20363 : operands[2] = STRIP_UNARY (operands[2]);
20364 : operands[6] = STRIP_UNARY (operands[6]);
20365 : if (!register_operand (operands[2], V32HFmode))
20366 : operands[2] = force_reg (V32HFmode, operands[2]);
20367 : if (!register_operand (operands[6], V32HFmode))
20368 : operands[6] = force_reg (V32HFmode, operands[6]);
20369 : operands[5] = GEN_INT (reg_mask);
20370 : }
20371 : #undef DONE
20372 : #undef FAIL
20373 : static const uint8_t expand_encoding[] = {
20374 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x73, 0x04, 0x01,
20375 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
20376 : 0x25
20377 : };
20378 : return complete_seq (expand_encoding, operands);
20379 : }
20380 :
20381 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
20382 : extern rtx_insn *gen_split_2082 (rtx_insn *, rtx *);
20383 : rtx_insn *
20384 : gen_split_2082 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
20385 : {
20386 : if (dump_file)
20387 : fprintf (dump_file, "Splitting with gen_split_2082 (sse.md:14142)\n");
20388 : start_sequence ();
20389 : #define FAIL return (end_sequence (), nullptr)
20390 : #define DONE return end_sequence ()
20391 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20392 : {
20393 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
20394 : int reg6 = 0xF0;
20395 : int reg2 = 0xCC;
20396 : int reg1 = 0xAA;
20397 : int reg3 = 0;
20398 : int reg4 = 0;
20399 : int reg_mask, tmp1, tmp2;
20400 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
20401 : STRIP_UNARY (operands[4])))
20402 : {
20403 : reg4 = reg1;
20404 : reg3 = reg6;
20405 : operands[6] = operands[3];
20406 : }
20407 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
20408 : STRIP_UNARY (operands[4])))
20409 : {
20410 : reg4 = reg2;
20411 : reg3 = reg6;
20412 : operands[6] = operands[3];
20413 : }
20414 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
20415 : STRIP_UNARY (operands[3])))
20416 : {
20417 : reg4 = reg6;
20418 : reg3 = reg1;
20419 : operands[6] = operands[4];
20420 : }
20421 : else
20422 : {
20423 : reg4 = reg6;
20424 : reg3 = reg2;
20425 : operands[6] = operands[4];
20426 : }
20427 :
20428 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
20429 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
20430 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
20431 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
20432 :
20433 : tmp1 = reg1 ^ reg2;
20434 : tmp2 = reg3 ^ reg4;
20435 : reg_mask = tmp1 | tmp2;
20436 : reg_mask &= 0xFF;
20437 :
20438 : operands[1] = STRIP_UNARY (operands[1]);
20439 : operands[2] = STRIP_UNARY (operands[2]);
20440 : operands[6] = STRIP_UNARY (operands[6]);
20441 : if (!register_operand (operands[2], V32HFmode))
20442 : operands[2] = force_reg (V32HFmode, operands[2]);
20443 : if (!register_operand (operands[6], V32HFmode))
20444 : operands[6] = force_reg (V32HFmode, operands[6]);
20445 : operands[5] = GEN_INT (reg_mask);
20446 : }
20447 : #undef DONE
20448 : #undef FAIL
20449 : static const uint8_t expand_encoding[] = {
20450 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x73, 0x04, 0x01,
20451 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
20452 : 0x25
20453 : };
20454 : return complete_seq (expand_encoding, operands);
20455 : }
20456 :
20457 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
20458 : extern rtx_insn *gen_split_2092 (rtx_insn *, rtx *);
20459 : rtx_insn *
20460 : gen_split_2092 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
20461 : {
20462 : if (dump_file)
20463 : fprintf (dump_file, "Splitting with gen_split_2092 (sse.md:14142)\n");
20464 : start_sequence ();
20465 : #define FAIL return (end_sequence (), nullptr)
20466 : #define DONE return end_sequence ()
20467 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20468 : {
20469 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
20470 : int reg6 = 0xF0;
20471 : int reg2 = 0xCC;
20472 : int reg1 = 0xAA;
20473 : int reg3 = 0;
20474 : int reg4 = 0;
20475 : int reg_mask, tmp1, tmp2;
20476 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
20477 : STRIP_UNARY (operands[4])))
20478 : {
20479 : reg4 = reg1;
20480 : reg3 = reg6;
20481 : operands[6] = operands[3];
20482 : }
20483 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
20484 : STRIP_UNARY (operands[4])))
20485 : {
20486 : reg4 = reg2;
20487 : reg3 = reg6;
20488 : operands[6] = operands[3];
20489 : }
20490 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
20491 : STRIP_UNARY (operands[3])))
20492 : {
20493 : reg4 = reg6;
20494 : reg3 = reg1;
20495 : operands[6] = operands[4];
20496 : }
20497 : else
20498 : {
20499 : reg4 = reg6;
20500 : reg3 = reg2;
20501 : operands[6] = operands[4];
20502 : }
20503 :
20504 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
20505 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
20506 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
20507 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
20508 :
20509 : tmp1 = reg1 & reg2;
20510 : tmp2 = reg3 ^ reg4;
20511 : reg_mask = tmp1 ^ tmp2;
20512 : reg_mask &= 0xFF;
20513 :
20514 : operands[1] = STRIP_UNARY (operands[1]);
20515 : operands[2] = STRIP_UNARY (operands[2]);
20516 : operands[6] = STRIP_UNARY (operands[6]);
20517 : if (!register_operand (operands[2], V16HFmode))
20518 : operands[2] = force_reg (V16HFmode, operands[2]);
20519 : if (!register_operand (operands[6], V16HFmode))
20520 : operands[6] = force_reg (V16HFmode, operands[6]);
20521 : operands[5] = GEN_INT (reg_mask);
20522 : }
20523 : #undef DONE
20524 : #undef FAIL
20525 : static const uint8_t expand_encoding[] = {
20526 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6e, 0x04, 0x01,
20527 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
20528 : 0x25
20529 : };
20530 : return complete_seq (expand_encoding, operands);
20531 : }
20532 :
20533 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
20534 : extern rtx_insn *gen_split_2102 (rtx_insn *, rtx *);
20535 : rtx_insn *
20536 : gen_split_2102 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
20537 : {
20538 : if (dump_file)
20539 : fprintf (dump_file, "Splitting with gen_split_2102 (sse.md:14142)\n");
20540 : start_sequence ();
20541 : #define FAIL return (end_sequence (), nullptr)
20542 : #define DONE return end_sequence ()
20543 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20544 : {
20545 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
20546 : int reg6 = 0xF0;
20547 : int reg2 = 0xCC;
20548 : int reg1 = 0xAA;
20549 : int reg3 = 0;
20550 : int reg4 = 0;
20551 : int reg_mask, tmp1, tmp2;
20552 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
20553 : STRIP_UNARY (operands[4])))
20554 : {
20555 : reg4 = reg1;
20556 : reg3 = reg6;
20557 : operands[6] = operands[3];
20558 : }
20559 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
20560 : STRIP_UNARY (operands[4])))
20561 : {
20562 : reg4 = reg2;
20563 : reg3 = reg6;
20564 : operands[6] = operands[3];
20565 : }
20566 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
20567 : STRIP_UNARY (operands[3])))
20568 : {
20569 : reg4 = reg6;
20570 : reg3 = reg1;
20571 : operands[6] = operands[4];
20572 : }
20573 : else
20574 : {
20575 : reg4 = reg6;
20576 : reg3 = reg2;
20577 : operands[6] = operands[4];
20578 : }
20579 :
20580 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
20581 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
20582 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
20583 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
20584 :
20585 : tmp1 = reg1 ^ reg2;
20586 : tmp2 = reg3 & reg4;
20587 : reg_mask = tmp1 & tmp2;
20588 : reg_mask &= 0xFF;
20589 :
20590 : operands[1] = STRIP_UNARY (operands[1]);
20591 : operands[2] = STRIP_UNARY (operands[2]);
20592 : operands[6] = STRIP_UNARY (operands[6]);
20593 : if (!register_operand (operands[2], V16HFmode))
20594 : operands[2] = force_reg (V16HFmode, operands[2]);
20595 : if (!register_operand (operands[6], V16HFmode))
20596 : operands[6] = force_reg (V16HFmode, operands[6]);
20597 : operands[5] = GEN_INT (reg_mask);
20598 : }
20599 : #undef DONE
20600 : #undef FAIL
20601 : static const uint8_t expand_encoding[] = {
20602 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6e, 0x04, 0x01,
20603 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
20604 : 0x25
20605 : };
20606 : return complete_seq (expand_encoding, operands);
20607 : }
20608 :
20609 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
20610 : extern rtx_insn *gen_split_2112 (rtx_insn *, rtx *);
20611 : rtx_insn *
20612 : gen_split_2112 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
20613 : {
20614 : if (dump_file)
20615 : fprintf (dump_file, "Splitting with gen_split_2112 (sse.md:14142)\n");
20616 : start_sequence ();
20617 : #define FAIL return (end_sequence (), nullptr)
20618 : #define DONE return end_sequence ()
20619 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20620 : {
20621 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
20622 : int reg6 = 0xF0;
20623 : int reg2 = 0xCC;
20624 : int reg1 = 0xAA;
20625 : int reg3 = 0;
20626 : int reg4 = 0;
20627 : int reg_mask, tmp1, tmp2;
20628 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
20629 : STRIP_UNARY (operands[4])))
20630 : {
20631 : reg4 = reg1;
20632 : reg3 = reg6;
20633 : operands[6] = operands[3];
20634 : }
20635 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
20636 : STRIP_UNARY (operands[4])))
20637 : {
20638 : reg4 = reg2;
20639 : reg3 = reg6;
20640 : operands[6] = operands[3];
20641 : }
20642 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
20643 : STRIP_UNARY (operands[3])))
20644 : {
20645 : reg4 = reg6;
20646 : reg3 = reg1;
20647 : operands[6] = operands[4];
20648 : }
20649 : else
20650 : {
20651 : reg4 = reg6;
20652 : reg3 = reg2;
20653 : operands[6] = operands[4];
20654 : }
20655 :
20656 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
20657 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
20658 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
20659 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
20660 :
20661 : tmp1 = reg1 & reg2;
20662 : tmp2 = reg3 & reg4;
20663 : reg_mask = tmp1 | tmp2;
20664 : reg_mask &= 0xFF;
20665 :
20666 : operands[1] = STRIP_UNARY (operands[1]);
20667 : operands[2] = STRIP_UNARY (operands[2]);
20668 : operands[6] = STRIP_UNARY (operands[6]);
20669 : if (!register_operand (operands[2], V8HFmode))
20670 : operands[2] = force_reg (V8HFmode, operands[2]);
20671 : if (!register_operand (operands[6], V8HFmode))
20672 : operands[6] = force_reg (V8HFmode, operands[6]);
20673 : operands[5] = GEN_INT (reg_mask);
20674 : }
20675 : #undef DONE
20676 : #undef FAIL
20677 : static const uint8_t expand_encoding[] = {
20678 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6a, 0x04, 0x01,
20679 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
20680 : 0x25
20681 : };
20682 : return complete_seq (expand_encoding, operands);
20683 : }
20684 :
20685 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
20686 : extern rtx_insn *gen_split_2122 (rtx_insn *, rtx *);
20687 : rtx_insn *
20688 : gen_split_2122 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
20689 : {
20690 : if (dump_file)
20691 : fprintf (dump_file, "Splitting with gen_split_2122 (sse.md:14142)\n");
20692 : start_sequence ();
20693 : #define FAIL return (end_sequence (), nullptr)
20694 : #define DONE return end_sequence ()
20695 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20696 : {
20697 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
20698 : int reg6 = 0xF0;
20699 : int reg2 = 0xCC;
20700 : int reg1 = 0xAA;
20701 : int reg3 = 0;
20702 : int reg4 = 0;
20703 : int reg_mask, tmp1, tmp2;
20704 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
20705 : STRIP_UNARY (operands[4])))
20706 : {
20707 : reg4 = reg1;
20708 : reg3 = reg6;
20709 : operands[6] = operands[3];
20710 : }
20711 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
20712 : STRIP_UNARY (operands[4])))
20713 : {
20714 : reg4 = reg2;
20715 : reg3 = reg6;
20716 : operands[6] = operands[3];
20717 : }
20718 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
20719 : STRIP_UNARY (operands[3])))
20720 : {
20721 : reg4 = reg6;
20722 : reg3 = reg1;
20723 : operands[6] = operands[4];
20724 : }
20725 : else
20726 : {
20727 : reg4 = reg6;
20728 : reg3 = reg2;
20729 : operands[6] = operands[4];
20730 : }
20731 :
20732 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
20733 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
20734 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
20735 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
20736 :
20737 : tmp1 = reg1 | reg2;
20738 : tmp2 = reg3 & reg4;
20739 : reg_mask = tmp1 ^ tmp2;
20740 : reg_mask &= 0xFF;
20741 :
20742 : operands[1] = STRIP_UNARY (operands[1]);
20743 : operands[2] = STRIP_UNARY (operands[2]);
20744 : operands[6] = STRIP_UNARY (operands[6]);
20745 : if (!register_operand (operands[2], V8HFmode))
20746 : operands[2] = force_reg (V8HFmode, operands[2]);
20747 : if (!register_operand (operands[6], V8HFmode))
20748 : operands[6] = force_reg (V8HFmode, operands[6]);
20749 : operands[5] = GEN_INT (reg_mask);
20750 : }
20751 : #undef DONE
20752 : #undef FAIL
20753 : static const uint8_t expand_encoding[] = {
20754 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6a, 0x04, 0x01,
20755 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
20756 : 0x25
20757 : };
20758 : return complete_seq (expand_encoding, operands);
20759 : }
20760 :
20761 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
20762 : extern rtx_insn *gen_split_2132 (rtx_insn *, rtx *);
20763 : rtx_insn *
20764 : gen_split_2132 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
20765 : {
20766 : if (dump_file)
20767 : fprintf (dump_file, "Splitting with gen_split_2132 (sse.md:14142)\n");
20768 : start_sequence ();
20769 : #define FAIL return (end_sequence (), nullptr)
20770 : #define DONE return end_sequence ()
20771 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20772 : {
20773 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
20774 : int reg6 = 0xF0;
20775 : int reg2 = 0xCC;
20776 : int reg1 = 0xAA;
20777 : int reg3 = 0;
20778 : int reg4 = 0;
20779 : int reg_mask, tmp1, tmp2;
20780 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
20781 : STRIP_UNARY (operands[4])))
20782 : {
20783 : reg4 = reg1;
20784 : reg3 = reg6;
20785 : operands[6] = operands[3];
20786 : }
20787 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
20788 : STRIP_UNARY (operands[4])))
20789 : {
20790 : reg4 = reg2;
20791 : reg3 = reg6;
20792 : operands[6] = operands[3];
20793 : }
20794 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
20795 : STRIP_UNARY (operands[3])))
20796 : {
20797 : reg4 = reg6;
20798 : reg3 = reg1;
20799 : operands[6] = operands[4];
20800 : }
20801 : else
20802 : {
20803 : reg4 = reg6;
20804 : reg3 = reg2;
20805 : operands[6] = operands[4];
20806 : }
20807 :
20808 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
20809 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
20810 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
20811 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
20812 :
20813 : tmp1 = reg1 ^ reg2;
20814 : tmp2 = reg3 | reg4;
20815 : reg_mask = tmp1 & tmp2;
20816 : reg_mask &= 0xFF;
20817 :
20818 : operands[1] = STRIP_UNARY (operands[1]);
20819 : operands[2] = STRIP_UNARY (operands[2]);
20820 : operands[6] = STRIP_UNARY (operands[6]);
20821 : if (!register_operand (operands[2], V8HFmode))
20822 : operands[2] = force_reg (V8HFmode, operands[2]);
20823 : if (!register_operand (operands[6], V8HFmode))
20824 : operands[6] = force_reg (V8HFmode, operands[6]);
20825 : operands[5] = GEN_INT (reg_mask);
20826 : }
20827 : #undef DONE
20828 : #undef FAIL
20829 : static const uint8_t expand_encoding[] = {
20830 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6a, 0x04, 0x01,
20831 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
20832 : 0x25
20833 : };
20834 : return complete_seq (expand_encoding, operands);
20835 : }
20836 :
20837 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
20838 : extern rtx_insn *gen_split_2142 (rtx_insn *, rtx *);
20839 : rtx_insn *
20840 : gen_split_2142 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
20841 : {
20842 : if (dump_file)
20843 : fprintf (dump_file, "Splitting with gen_split_2142 (sse.md:14142)\n");
20844 : start_sequence ();
20845 : #define FAIL return (end_sequence (), nullptr)
20846 : #define DONE return end_sequence ()
20847 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20848 : {
20849 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
20850 : int reg6 = 0xF0;
20851 : int reg2 = 0xCC;
20852 : int reg1 = 0xAA;
20853 : int reg3 = 0;
20854 : int reg4 = 0;
20855 : int reg_mask, tmp1, tmp2;
20856 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
20857 : STRIP_UNARY (operands[4])))
20858 : {
20859 : reg4 = reg1;
20860 : reg3 = reg6;
20861 : operands[6] = operands[3];
20862 : }
20863 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
20864 : STRIP_UNARY (operands[4])))
20865 : {
20866 : reg4 = reg2;
20867 : reg3 = reg6;
20868 : operands[6] = operands[3];
20869 : }
20870 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
20871 : STRIP_UNARY (operands[3])))
20872 : {
20873 : reg4 = reg6;
20874 : reg3 = reg1;
20875 : operands[6] = operands[4];
20876 : }
20877 : else
20878 : {
20879 : reg4 = reg6;
20880 : reg3 = reg2;
20881 : operands[6] = operands[4];
20882 : }
20883 :
20884 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
20885 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
20886 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
20887 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
20888 :
20889 : tmp1 = reg1 & reg2;
20890 : tmp2 = reg3 | reg4;
20891 : reg_mask = tmp1 | tmp2;
20892 : reg_mask &= 0xFF;
20893 :
20894 : operands[1] = STRIP_UNARY (operands[1]);
20895 : operands[2] = STRIP_UNARY (operands[2]);
20896 : operands[6] = STRIP_UNARY (operands[6]);
20897 : if (!register_operand (operands[2], V32BFmode))
20898 : operands[2] = force_reg (V32BFmode, operands[2]);
20899 : if (!register_operand (operands[6], V32BFmode))
20900 : operands[6] = force_reg (V32BFmode, operands[6]);
20901 : operands[5] = GEN_INT (reg_mask);
20902 : }
20903 : #undef DONE
20904 : #undef FAIL
20905 : static const uint8_t expand_encoding[] = {
20906 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x72, 0x04, 0x01,
20907 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
20908 : 0x25
20909 : };
20910 : return complete_seq (expand_encoding, operands);
20911 : }
20912 :
20913 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
20914 : extern rtx_insn *gen_split_2152 (rtx_insn *, rtx *);
20915 : rtx_insn *
20916 : gen_split_2152 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
20917 : {
20918 : if (dump_file)
20919 : fprintf (dump_file, "Splitting with gen_split_2152 (sse.md:14142)\n");
20920 : start_sequence ();
20921 : #define FAIL return (end_sequence (), nullptr)
20922 : #define DONE return end_sequence ()
20923 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20924 : {
20925 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
20926 : int reg6 = 0xF0;
20927 : int reg2 = 0xCC;
20928 : int reg1 = 0xAA;
20929 : int reg3 = 0;
20930 : int reg4 = 0;
20931 : int reg_mask, tmp1, tmp2;
20932 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
20933 : STRIP_UNARY (operands[4])))
20934 : {
20935 : reg4 = reg1;
20936 : reg3 = reg6;
20937 : operands[6] = operands[3];
20938 : }
20939 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
20940 : STRIP_UNARY (operands[4])))
20941 : {
20942 : reg4 = reg2;
20943 : reg3 = reg6;
20944 : operands[6] = operands[3];
20945 : }
20946 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
20947 : STRIP_UNARY (operands[3])))
20948 : {
20949 : reg4 = reg6;
20950 : reg3 = reg1;
20951 : operands[6] = operands[4];
20952 : }
20953 : else
20954 : {
20955 : reg4 = reg6;
20956 : reg3 = reg2;
20957 : operands[6] = operands[4];
20958 : }
20959 :
20960 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
20961 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
20962 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
20963 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
20964 :
20965 : tmp1 = reg1 | reg2;
20966 : tmp2 = reg3 | reg4;
20967 : reg_mask = tmp1 ^ tmp2;
20968 : reg_mask &= 0xFF;
20969 :
20970 : operands[1] = STRIP_UNARY (operands[1]);
20971 : operands[2] = STRIP_UNARY (operands[2]);
20972 : operands[6] = STRIP_UNARY (operands[6]);
20973 : if (!register_operand (operands[2], V32BFmode))
20974 : operands[2] = force_reg (V32BFmode, operands[2]);
20975 : if (!register_operand (operands[6], V32BFmode))
20976 : operands[6] = force_reg (V32BFmode, operands[6]);
20977 : operands[5] = GEN_INT (reg_mask);
20978 : }
20979 : #undef DONE
20980 : #undef FAIL
20981 : static const uint8_t expand_encoding[] = {
20982 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x72, 0x04, 0x01,
20983 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
20984 : 0x25
20985 : };
20986 : return complete_seq (expand_encoding, operands);
20987 : }
20988 :
20989 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
20990 : extern rtx_insn *gen_split_2162 (rtx_insn *, rtx *);
20991 : rtx_insn *
20992 : gen_split_2162 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
20993 : {
20994 : if (dump_file)
20995 : fprintf (dump_file, "Splitting with gen_split_2162 (sse.md:14142)\n");
20996 : start_sequence ();
20997 : #define FAIL return (end_sequence (), nullptr)
20998 : #define DONE return end_sequence ()
20999 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21000 : {
21001 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
21002 : int reg6 = 0xF0;
21003 : int reg2 = 0xCC;
21004 : int reg1 = 0xAA;
21005 : int reg3 = 0;
21006 : int reg4 = 0;
21007 : int reg_mask, tmp1, tmp2;
21008 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
21009 : STRIP_UNARY (operands[4])))
21010 : {
21011 : reg4 = reg1;
21012 : reg3 = reg6;
21013 : operands[6] = operands[3];
21014 : }
21015 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
21016 : STRIP_UNARY (operands[4])))
21017 : {
21018 : reg4 = reg2;
21019 : reg3 = reg6;
21020 : operands[6] = operands[3];
21021 : }
21022 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
21023 : STRIP_UNARY (operands[3])))
21024 : {
21025 : reg4 = reg6;
21026 : reg3 = reg1;
21027 : operands[6] = operands[4];
21028 : }
21029 : else
21030 : {
21031 : reg4 = reg6;
21032 : reg3 = reg2;
21033 : operands[6] = operands[4];
21034 : }
21035 :
21036 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
21037 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
21038 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
21039 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
21040 :
21041 : tmp1 = reg1 ^ reg2;
21042 : tmp2 = reg3 ^ reg4;
21043 : reg_mask = tmp1 & tmp2;
21044 : reg_mask &= 0xFF;
21045 :
21046 : operands[1] = STRIP_UNARY (operands[1]);
21047 : operands[2] = STRIP_UNARY (operands[2]);
21048 : operands[6] = STRIP_UNARY (operands[6]);
21049 : if (!register_operand (operands[2], V32BFmode))
21050 : operands[2] = force_reg (V32BFmode, operands[2]);
21051 : if (!register_operand (operands[6], V32BFmode))
21052 : operands[6] = force_reg (V32BFmode, operands[6]);
21053 : operands[5] = GEN_INT (reg_mask);
21054 : }
21055 : #undef DONE
21056 : #undef FAIL
21057 : static const uint8_t expand_encoding[] = {
21058 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x72, 0x04, 0x01,
21059 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
21060 : 0x25
21061 : };
21062 : return complete_seq (expand_encoding, operands);
21063 : }
21064 :
21065 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
21066 : extern rtx_insn *gen_split_2172 (rtx_insn *, rtx *);
21067 : rtx_insn *
21068 : gen_split_2172 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
21069 : {
21070 : if (dump_file)
21071 : fprintf (dump_file, "Splitting with gen_split_2172 (sse.md:14142)\n");
21072 : start_sequence ();
21073 : #define FAIL return (end_sequence (), nullptr)
21074 : #define DONE return end_sequence ()
21075 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21076 : {
21077 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
21078 : int reg6 = 0xF0;
21079 : int reg2 = 0xCC;
21080 : int reg1 = 0xAA;
21081 : int reg3 = 0;
21082 : int reg4 = 0;
21083 : int reg_mask, tmp1, tmp2;
21084 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
21085 : STRIP_UNARY (operands[4])))
21086 : {
21087 : reg4 = reg1;
21088 : reg3 = reg6;
21089 : operands[6] = operands[3];
21090 : }
21091 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
21092 : STRIP_UNARY (operands[4])))
21093 : {
21094 : reg4 = reg2;
21095 : reg3 = reg6;
21096 : operands[6] = operands[3];
21097 : }
21098 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
21099 : STRIP_UNARY (operands[3])))
21100 : {
21101 : reg4 = reg6;
21102 : reg3 = reg1;
21103 : operands[6] = operands[4];
21104 : }
21105 : else
21106 : {
21107 : reg4 = reg6;
21108 : reg3 = reg2;
21109 : operands[6] = operands[4];
21110 : }
21111 :
21112 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
21113 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
21114 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
21115 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
21116 :
21117 : tmp1 = reg1 & reg2;
21118 : tmp2 = reg3 ^ reg4;
21119 : reg_mask = tmp1 | tmp2;
21120 : reg_mask &= 0xFF;
21121 :
21122 : operands[1] = STRIP_UNARY (operands[1]);
21123 : operands[2] = STRIP_UNARY (operands[2]);
21124 : operands[6] = STRIP_UNARY (operands[6]);
21125 : if (!register_operand (operands[2], V16BFmode))
21126 : operands[2] = force_reg (V16BFmode, operands[2]);
21127 : if (!register_operand (operands[6], V16BFmode))
21128 : operands[6] = force_reg (V16BFmode, operands[6]);
21129 : operands[5] = GEN_INT (reg_mask);
21130 : }
21131 : #undef DONE
21132 : #undef FAIL
21133 : static const uint8_t expand_encoding[] = {
21134 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6d, 0x04, 0x01,
21135 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
21136 : 0x25
21137 : };
21138 : return complete_seq (expand_encoding, operands);
21139 : }
21140 :
21141 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
21142 : extern rtx_insn *gen_split_2182 (rtx_insn *, rtx *);
21143 : rtx_insn *
21144 : gen_split_2182 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
21145 : {
21146 : if (dump_file)
21147 : fprintf (dump_file, "Splitting with gen_split_2182 (sse.md:14142)\n");
21148 : start_sequence ();
21149 : #define FAIL return (end_sequence (), nullptr)
21150 : #define DONE return end_sequence ()
21151 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21152 : {
21153 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
21154 : int reg6 = 0xF0;
21155 : int reg2 = 0xCC;
21156 : int reg1 = 0xAA;
21157 : int reg3 = 0;
21158 : int reg4 = 0;
21159 : int reg_mask, tmp1, tmp2;
21160 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
21161 : STRIP_UNARY (operands[4])))
21162 : {
21163 : reg4 = reg1;
21164 : reg3 = reg6;
21165 : operands[6] = operands[3];
21166 : }
21167 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
21168 : STRIP_UNARY (operands[4])))
21169 : {
21170 : reg4 = reg2;
21171 : reg3 = reg6;
21172 : operands[6] = operands[3];
21173 : }
21174 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
21175 : STRIP_UNARY (operands[3])))
21176 : {
21177 : reg4 = reg6;
21178 : reg3 = reg1;
21179 : operands[6] = operands[4];
21180 : }
21181 : else
21182 : {
21183 : reg4 = reg6;
21184 : reg3 = reg2;
21185 : operands[6] = operands[4];
21186 : }
21187 :
21188 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
21189 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
21190 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
21191 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
21192 :
21193 : tmp1 = reg1 | reg2;
21194 : tmp2 = reg3 ^ reg4;
21195 : reg_mask = tmp1 ^ tmp2;
21196 : reg_mask &= 0xFF;
21197 :
21198 : operands[1] = STRIP_UNARY (operands[1]);
21199 : operands[2] = STRIP_UNARY (operands[2]);
21200 : operands[6] = STRIP_UNARY (operands[6]);
21201 : if (!register_operand (operands[2], V16BFmode))
21202 : operands[2] = force_reg (V16BFmode, operands[2]);
21203 : if (!register_operand (operands[6], V16BFmode))
21204 : operands[6] = force_reg (V16BFmode, operands[6]);
21205 : operands[5] = GEN_INT (reg_mask);
21206 : }
21207 : #undef DONE
21208 : #undef FAIL
21209 : static const uint8_t expand_encoding[] = {
21210 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6d, 0x04, 0x01,
21211 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
21212 : 0x25
21213 : };
21214 : return complete_seq (expand_encoding, operands);
21215 : }
21216 :
21217 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
21218 : extern rtx_insn *gen_split_2192 (rtx_insn *, rtx *);
21219 : rtx_insn *
21220 : gen_split_2192 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
21221 : {
21222 : if (dump_file)
21223 : fprintf (dump_file, "Splitting with gen_split_2192 (sse.md:14142)\n");
21224 : start_sequence ();
21225 : #define FAIL return (end_sequence (), nullptr)
21226 : #define DONE return end_sequence ()
21227 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21228 : {
21229 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
21230 : int reg6 = 0xF0;
21231 : int reg2 = 0xCC;
21232 : int reg1 = 0xAA;
21233 : int reg3 = 0;
21234 : int reg4 = 0;
21235 : int reg_mask, tmp1, tmp2;
21236 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
21237 : STRIP_UNARY (operands[4])))
21238 : {
21239 : reg4 = reg1;
21240 : reg3 = reg6;
21241 : operands[6] = operands[3];
21242 : }
21243 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
21244 : STRIP_UNARY (operands[4])))
21245 : {
21246 : reg4 = reg2;
21247 : reg3 = reg6;
21248 : operands[6] = operands[3];
21249 : }
21250 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
21251 : STRIP_UNARY (operands[3])))
21252 : {
21253 : reg4 = reg6;
21254 : reg3 = reg1;
21255 : operands[6] = operands[4];
21256 : }
21257 : else
21258 : {
21259 : reg4 = reg6;
21260 : reg3 = reg2;
21261 : operands[6] = operands[4];
21262 : }
21263 :
21264 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
21265 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
21266 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
21267 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
21268 :
21269 : tmp1 = reg1 & reg2;
21270 : tmp2 = reg3 & reg4;
21271 : reg_mask = tmp1 & tmp2;
21272 : reg_mask &= 0xFF;
21273 :
21274 : operands[1] = STRIP_UNARY (operands[1]);
21275 : operands[2] = STRIP_UNARY (operands[2]);
21276 : operands[6] = STRIP_UNARY (operands[6]);
21277 : if (!register_operand (operands[2], V8BFmode))
21278 : operands[2] = force_reg (V8BFmode, operands[2]);
21279 : if (!register_operand (operands[6], V8BFmode))
21280 : operands[6] = force_reg (V8BFmode, operands[6]);
21281 : operands[5] = GEN_INT (reg_mask);
21282 : }
21283 : #undef DONE
21284 : #undef FAIL
21285 : static const uint8_t expand_encoding[] = {
21286 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x69, 0x04, 0x01,
21287 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
21288 : 0x25
21289 : };
21290 : return complete_seq (expand_encoding, operands);
21291 : }
21292 :
21293 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
21294 : extern rtx_insn *gen_split_2201 (rtx_insn *, rtx *);
21295 : rtx_insn *
21296 : gen_split_2201 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
21297 : {
21298 : if (dump_file)
21299 : fprintf (dump_file, "Splitting with gen_split_2201 (sse.md:14142)\n");
21300 : start_sequence ();
21301 : #define FAIL return (end_sequence (), nullptr)
21302 : #define DONE return end_sequence ()
21303 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21304 : {
21305 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
21306 : int reg6 = 0xF0;
21307 : int reg2 = 0xCC;
21308 : int reg1 = 0xAA;
21309 : int reg3 = 0;
21310 : int reg4 = 0;
21311 : int reg_mask, tmp1, tmp2;
21312 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
21313 : STRIP_UNARY (operands[4])))
21314 : {
21315 : reg4 = reg1;
21316 : reg3 = reg6;
21317 : operands[6] = operands[3];
21318 : }
21319 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
21320 : STRIP_UNARY (operands[4])))
21321 : {
21322 : reg4 = reg2;
21323 : reg3 = reg6;
21324 : operands[6] = operands[3];
21325 : }
21326 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
21327 : STRIP_UNARY (operands[3])))
21328 : {
21329 : reg4 = reg6;
21330 : reg3 = reg1;
21331 : operands[6] = operands[4];
21332 : }
21333 : else
21334 : {
21335 : reg4 = reg6;
21336 : reg3 = reg2;
21337 : operands[6] = operands[4];
21338 : }
21339 :
21340 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
21341 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
21342 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
21343 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
21344 :
21345 : tmp1 = reg1 | reg2;
21346 : tmp2 = reg3 & reg4;
21347 : reg_mask = tmp1 & tmp2;
21348 : reg_mask &= 0xFF;
21349 :
21350 : operands[1] = STRIP_UNARY (operands[1]);
21351 : operands[2] = STRIP_UNARY (operands[2]);
21352 : operands[6] = STRIP_UNARY (operands[6]);
21353 : if (!register_operand (operands[2], V8BFmode))
21354 : operands[2] = force_reg (V8BFmode, operands[2]);
21355 : if (!register_operand (operands[6], V8BFmode))
21356 : operands[6] = force_reg (V8BFmode, operands[6]);
21357 : operands[5] = GEN_INT (reg_mask);
21358 : }
21359 : #undef DONE
21360 : #undef FAIL
21361 : static const uint8_t expand_encoding[] = {
21362 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x69, 0x04, 0x01,
21363 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
21364 : 0x25
21365 : };
21366 : return complete_seq (expand_encoding, operands);
21367 : }
21368 :
21369 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
21370 : extern rtx_insn *gen_split_2211 (rtx_insn *, rtx *);
21371 : rtx_insn *
21372 : gen_split_2211 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
21373 : {
21374 : if (dump_file)
21375 : fprintf (dump_file, "Splitting with gen_split_2211 (sse.md:14142)\n");
21376 : start_sequence ();
21377 : #define FAIL return (end_sequence (), nullptr)
21378 : #define DONE return end_sequence ()
21379 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21380 : {
21381 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
21382 : int reg6 = 0xF0;
21383 : int reg2 = 0xCC;
21384 : int reg1 = 0xAA;
21385 : int reg3 = 0;
21386 : int reg4 = 0;
21387 : int reg_mask, tmp1, tmp2;
21388 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
21389 : STRIP_UNARY (operands[4])))
21390 : {
21391 : reg4 = reg1;
21392 : reg3 = reg6;
21393 : operands[6] = operands[3];
21394 : }
21395 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
21396 : STRIP_UNARY (operands[4])))
21397 : {
21398 : reg4 = reg2;
21399 : reg3 = reg6;
21400 : operands[6] = operands[3];
21401 : }
21402 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
21403 : STRIP_UNARY (operands[3])))
21404 : {
21405 : reg4 = reg6;
21406 : reg3 = reg1;
21407 : operands[6] = operands[4];
21408 : }
21409 : else
21410 : {
21411 : reg4 = reg6;
21412 : reg3 = reg2;
21413 : operands[6] = operands[4];
21414 : }
21415 :
21416 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
21417 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
21418 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
21419 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
21420 :
21421 : tmp1 = reg1 ^ reg2;
21422 : tmp2 = reg3 & reg4;
21423 : reg_mask = tmp1 | tmp2;
21424 : reg_mask &= 0xFF;
21425 :
21426 : operands[1] = STRIP_UNARY (operands[1]);
21427 : operands[2] = STRIP_UNARY (operands[2]);
21428 : operands[6] = STRIP_UNARY (operands[6]);
21429 : if (!register_operand (operands[2], V8BFmode))
21430 : operands[2] = force_reg (V8BFmode, operands[2]);
21431 : if (!register_operand (operands[6], V8BFmode))
21432 : operands[6] = force_reg (V8BFmode, operands[6]);
21433 : operands[5] = GEN_INT (reg_mask);
21434 : }
21435 : #undef DONE
21436 : #undef FAIL
21437 : static const uint8_t expand_encoding[] = {
21438 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x69, 0x04, 0x01,
21439 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
21440 : 0x25
21441 : };
21442 : return complete_seq (expand_encoding, operands);
21443 : }
21444 :
21445 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
21446 : extern rtx_insn *gen_split_2221 (rtx_insn *, rtx *);
21447 : rtx_insn *
21448 : gen_split_2221 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
21449 : {
21450 : if (dump_file)
21451 : fprintf (dump_file, "Splitting with gen_split_2221 (sse.md:14142)\n");
21452 : start_sequence ();
21453 : #define FAIL return (end_sequence (), nullptr)
21454 : #define DONE return end_sequence ()
21455 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21456 : {
21457 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
21458 : int reg6 = 0xF0;
21459 : int reg2 = 0xCC;
21460 : int reg1 = 0xAA;
21461 : int reg3 = 0;
21462 : int reg4 = 0;
21463 : int reg_mask, tmp1, tmp2;
21464 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
21465 : STRIP_UNARY (operands[4])))
21466 : {
21467 : reg4 = reg1;
21468 : reg3 = reg6;
21469 : operands[6] = operands[3];
21470 : }
21471 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
21472 : STRIP_UNARY (operands[4])))
21473 : {
21474 : reg4 = reg2;
21475 : reg3 = reg6;
21476 : operands[6] = operands[3];
21477 : }
21478 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
21479 : STRIP_UNARY (operands[3])))
21480 : {
21481 : reg4 = reg6;
21482 : reg3 = reg1;
21483 : operands[6] = operands[4];
21484 : }
21485 : else
21486 : {
21487 : reg4 = reg6;
21488 : reg3 = reg2;
21489 : operands[6] = operands[4];
21490 : }
21491 :
21492 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
21493 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
21494 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
21495 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
21496 :
21497 : tmp1 = reg1 & reg2;
21498 : tmp2 = reg3 & reg4;
21499 : reg_mask = tmp1 ^ tmp2;
21500 : reg_mask &= 0xFF;
21501 :
21502 : operands[1] = STRIP_UNARY (operands[1]);
21503 : operands[2] = STRIP_UNARY (operands[2]);
21504 : operands[6] = STRIP_UNARY (operands[6]);
21505 : if (!register_operand (operands[2], V16SFmode))
21506 : operands[2] = force_reg (V16SFmode, operands[2]);
21507 : if (!register_operand (operands[6], V16SFmode))
21508 : operands[6] = force_reg (V16SFmode, operands[6]);
21509 : operands[5] = GEN_INT (reg_mask);
21510 : }
21511 : #undef DONE
21512 : #undef FAIL
21513 : static const uint8_t expand_encoding[] = {
21514 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x74, 0x04, 0x01,
21515 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
21516 : 0x25
21517 : };
21518 : return complete_seq (expand_encoding, operands);
21519 : }
21520 :
21521 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
21522 : extern rtx_insn *gen_split_2231 (rtx_insn *, rtx *);
21523 : rtx_insn *
21524 : gen_split_2231 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
21525 : {
21526 : if (dump_file)
21527 : fprintf (dump_file, "Splitting with gen_split_2231 (sse.md:14142)\n");
21528 : start_sequence ();
21529 : #define FAIL return (end_sequence (), nullptr)
21530 : #define DONE return end_sequence ()
21531 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21532 : {
21533 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
21534 : int reg6 = 0xF0;
21535 : int reg2 = 0xCC;
21536 : int reg1 = 0xAA;
21537 : int reg3 = 0;
21538 : int reg4 = 0;
21539 : int reg_mask, tmp1, tmp2;
21540 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
21541 : STRIP_UNARY (operands[4])))
21542 : {
21543 : reg4 = reg1;
21544 : reg3 = reg6;
21545 : operands[6] = operands[3];
21546 : }
21547 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
21548 : STRIP_UNARY (operands[4])))
21549 : {
21550 : reg4 = reg2;
21551 : reg3 = reg6;
21552 : operands[6] = operands[3];
21553 : }
21554 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
21555 : STRIP_UNARY (operands[3])))
21556 : {
21557 : reg4 = reg6;
21558 : reg3 = reg1;
21559 : operands[6] = operands[4];
21560 : }
21561 : else
21562 : {
21563 : reg4 = reg6;
21564 : reg3 = reg2;
21565 : operands[6] = operands[4];
21566 : }
21567 :
21568 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
21569 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
21570 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
21571 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
21572 :
21573 : tmp1 = reg1 | reg2;
21574 : tmp2 = reg3 | reg4;
21575 : reg_mask = tmp1 & tmp2;
21576 : reg_mask &= 0xFF;
21577 :
21578 : operands[1] = STRIP_UNARY (operands[1]);
21579 : operands[2] = STRIP_UNARY (operands[2]);
21580 : operands[6] = STRIP_UNARY (operands[6]);
21581 : if (!register_operand (operands[2], V16SFmode))
21582 : operands[2] = force_reg (V16SFmode, operands[2]);
21583 : if (!register_operand (operands[6], V16SFmode))
21584 : operands[6] = force_reg (V16SFmode, operands[6]);
21585 : operands[5] = GEN_INT (reg_mask);
21586 : }
21587 : #undef DONE
21588 : #undef FAIL
21589 : static const uint8_t expand_encoding[] = {
21590 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x74, 0x04, 0x01,
21591 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
21592 : 0x25
21593 : };
21594 : return complete_seq (expand_encoding, operands);
21595 : }
21596 :
21597 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
21598 : extern rtx_insn *gen_split_2241 (rtx_insn *, rtx *);
21599 : rtx_insn *
21600 : gen_split_2241 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
21601 : {
21602 : if (dump_file)
21603 : fprintf (dump_file, "Splitting with gen_split_2241 (sse.md:14142)\n");
21604 : start_sequence ();
21605 : #define FAIL return (end_sequence (), nullptr)
21606 : #define DONE return end_sequence ()
21607 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21608 : {
21609 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
21610 : int reg6 = 0xF0;
21611 : int reg2 = 0xCC;
21612 : int reg1 = 0xAA;
21613 : int reg3 = 0;
21614 : int reg4 = 0;
21615 : int reg_mask, tmp1, tmp2;
21616 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
21617 : STRIP_UNARY (operands[4])))
21618 : {
21619 : reg4 = reg1;
21620 : reg3 = reg6;
21621 : operands[6] = operands[3];
21622 : }
21623 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
21624 : STRIP_UNARY (operands[4])))
21625 : {
21626 : reg4 = reg2;
21627 : reg3 = reg6;
21628 : operands[6] = operands[3];
21629 : }
21630 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
21631 : STRIP_UNARY (operands[3])))
21632 : {
21633 : reg4 = reg6;
21634 : reg3 = reg1;
21635 : operands[6] = operands[4];
21636 : }
21637 : else
21638 : {
21639 : reg4 = reg6;
21640 : reg3 = reg2;
21641 : operands[6] = operands[4];
21642 : }
21643 :
21644 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
21645 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
21646 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
21647 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
21648 :
21649 : tmp1 = reg1 ^ reg2;
21650 : tmp2 = reg3 | reg4;
21651 : reg_mask = tmp1 | tmp2;
21652 : reg_mask &= 0xFF;
21653 :
21654 : operands[1] = STRIP_UNARY (operands[1]);
21655 : operands[2] = STRIP_UNARY (operands[2]);
21656 : operands[6] = STRIP_UNARY (operands[6]);
21657 : if (!register_operand (operands[2], V16SFmode))
21658 : operands[2] = force_reg (V16SFmode, operands[2]);
21659 : if (!register_operand (operands[6], V16SFmode))
21660 : operands[6] = force_reg (V16SFmode, operands[6]);
21661 : operands[5] = GEN_INT (reg_mask);
21662 : }
21663 : #undef DONE
21664 : #undef FAIL
21665 : static const uint8_t expand_encoding[] = {
21666 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x74, 0x04, 0x01,
21667 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
21668 : 0x25
21669 : };
21670 : return complete_seq (expand_encoding, operands);
21671 : }
21672 :
21673 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
21674 : extern rtx_insn *gen_split_2251 (rtx_insn *, rtx *);
21675 : rtx_insn *
21676 : gen_split_2251 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
21677 : {
21678 : if (dump_file)
21679 : fprintf (dump_file, "Splitting with gen_split_2251 (sse.md:14142)\n");
21680 : start_sequence ();
21681 : #define FAIL return (end_sequence (), nullptr)
21682 : #define DONE return end_sequence ()
21683 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21684 : {
21685 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
21686 : int reg6 = 0xF0;
21687 : int reg2 = 0xCC;
21688 : int reg1 = 0xAA;
21689 : int reg3 = 0;
21690 : int reg4 = 0;
21691 : int reg_mask, tmp1, tmp2;
21692 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
21693 : STRIP_UNARY (operands[4])))
21694 : {
21695 : reg4 = reg1;
21696 : reg3 = reg6;
21697 : operands[6] = operands[3];
21698 : }
21699 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
21700 : STRIP_UNARY (operands[4])))
21701 : {
21702 : reg4 = reg2;
21703 : reg3 = reg6;
21704 : operands[6] = operands[3];
21705 : }
21706 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
21707 : STRIP_UNARY (operands[3])))
21708 : {
21709 : reg4 = reg6;
21710 : reg3 = reg1;
21711 : operands[6] = operands[4];
21712 : }
21713 : else
21714 : {
21715 : reg4 = reg6;
21716 : reg3 = reg2;
21717 : operands[6] = operands[4];
21718 : }
21719 :
21720 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
21721 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
21722 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
21723 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
21724 :
21725 : tmp1 = reg1 & reg2;
21726 : tmp2 = reg3 | reg4;
21727 : reg_mask = tmp1 ^ tmp2;
21728 : reg_mask &= 0xFF;
21729 :
21730 : operands[1] = STRIP_UNARY (operands[1]);
21731 : operands[2] = STRIP_UNARY (operands[2]);
21732 : operands[6] = STRIP_UNARY (operands[6]);
21733 : if (!register_operand (operands[2], V8SFmode))
21734 : operands[2] = force_reg (V8SFmode, operands[2]);
21735 : if (!register_operand (operands[6], V8SFmode))
21736 : operands[6] = force_reg (V8SFmode, operands[6]);
21737 : operands[5] = GEN_INT (reg_mask);
21738 : }
21739 : #undef DONE
21740 : #undef FAIL
21741 : static const uint8_t expand_encoding[] = {
21742 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6f, 0x04, 0x01,
21743 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
21744 : 0x25
21745 : };
21746 : return complete_seq (expand_encoding, operands);
21747 : }
21748 :
21749 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
21750 : extern rtx_insn *gen_split_2261 (rtx_insn *, rtx *);
21751 : rtx_insn *
21752 : gen_split_2261 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
21753 : {
21754 : if (dump_file)
21755 : fprintf (dump_file, "Splitting with gen_split_2261 (sse.md:14142)\n");
21756 : start_sequence ();
21757 : #define FAIL return (end_sequence (), nullptr)
21758 : #define DONE return end_sequence ()
21759 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21760 : {
21761 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
21762 : int reg6 = 0xF0;
21763 : int reg2 = 0xCC;
21764 : int reg1 = 0xAA;
21765 : int reg3 = 0;
21766 : int reg4 = 0;
21767 : int reg_mask, tmp1, tmp2;
21768 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
21769 : STRIP_UNARY (operands[4])))
21770 : {
21771 : reg4 = reg1;
21772 : reg3 = reg6;
21773 : operands[6] = operands[3];
21774 : }
21775 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
21776 : STRIP_UNARY (operands[4])))
21777 : {
21778 : reg4 = reg2;
21779 : reg3 = reg6;
21780 : operands[6] = operands[3];
21781 : }
21782 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
21783 : STRIP_UNARY (operands[3])))
21784 : {
21785 : reg4 = reg6;
21786 : reg3 = reg1;
21787 : operands[6] = operands[4];
21788 : }
21789 : else
21790 : {
21791 : reg4 = reg6;
21792 : reg3 = reg2;
21793 : operands[6] = operands[4];
21794 : }
21795 :
21796 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
21797 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
21798 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
21799 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
21800 :
21801 : tmp1 = reg1 | reg2;
21802 : tmp2 = reg3 ^ reg4;
21803 : reg_mask = tmp1 & tmp2;
21804 : reg_mask &= 0xFF;
21805 :
21806 : operands[1] = STRIP_UNARY (operands[1]);
21807 : operands[2] = STRIP_UNARY (operands[2]);
21808 : operands[6] = STRIP_UNARY (operands[6]);
21809 : if (!register_operand (operands[2], V8SFmode))
21810 : operands[2] = force_reg (V8SFmode, operands[2]);
21811 : if (!register_operand (operands[6], V8SFmode))
21812 : operands[6] = force_reg (V8SFmode, operands[6]);
21813 : operands[5] = GEN_INT (reg_mask);
21814 : }
21815 : #undef DONE
21816 : #undef FAIL
21817 : static const uint8_t expand_encoding[] = {
21818 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6f, 0x04, 0x01,
21819 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
21820 : 0x25
21821 : };
21822 : return complete_seq (expand_encoding, operands);
21823 : }
21824 :
21825 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
21826 : extern rtx_insn *gen_split_2271 (rtx_insn *, rtx *);
21827 : rtx_insn *
21828 : gen_split_2271 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
21829 : {
21830 : if (dump_file)
21831 : fprintf (dump_file, "Splitting with gen_split_2271 (sse.md:14142)\n");
21832 : start_sequence ();
21833 : #define FAIL return (end_sequence (), nullptr)
21834 : #define DONE return end_sequence ()
21835 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21836 : {
21837 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
21838 : int reg6 = 0xF0;
21839 : int reg2 = 0xCC;
21840 : int reg1 = 0xAA;
21841 : int reg3 = 0;
21842 : int reg4 = 0;
21843 : int reg_mask, tmp1, tmp2;
21844 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
21845 : STRIP_UNARY (operands[4])))
21846 : {
21847 : reg4 = reg1;
21848 : reg3 = reg6;
21849 : operands[6] = operands[3];
21850 : }
21851 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
21852 : STRIP_UNARY (operands[4])))
21853 : {
21854 : reg4 = reg2;
21855 : reg3 = reg6;
21856 : operands[6] = operands[3];
21857 : }
21858 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
21859 : STRIP_UNARY (operands[3])))
21860 : {
21861 : reg4 = reg6;
21862 : reg3 = reg1;
21863 : operands[6] = operands[4];
21864 : }
21865 : else
21866 : {
21867 : reg4 = reg6;
21868 : reg3 = reg2;
21869 : operands[6] = operands[4];
21870 : }
21871 :
21872 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
21873 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
21874 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
21875 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
21876 :
21877 : tmp1 = reg1 ^ reg2;
21878 : tmp2 = reg3 ^ reg4;
21879 : reg_mask = tmp1 | tmp2;
21880 : reg_mask &= 0xFF;
21881 :
21882 : operands[1] = STRIP_UNARY (operands[1]);
21883 : operands[2] = STRIP_UNARY (operands[2]);
21884 : operands[6] = STRIP_UNARY (operands[6]);
21885 : if (!register_operand (operands[2], V8SFmode))
21886 : operands[2] = force_reg (V8SFmode, operands[2]);
21887 : if (!register_operand (operands[6], V8SFmode))
21888 : operands[6] = force_reg (V8SFmode, operands[6]);
21889 : operands[5] = GEN_INT (reg_mask);
21890 : }
21891 : #undef DONE
21892 : #undef FAIL
21893 : static const uint8_t expand_encoding[] = {
21894 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6f, 0x04, 0x01,
21895 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
21896 : 0x25
21897 : };
21898 : return complete_seq (expand_encoding, operands);
21899 : }
21900 :
21901 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
21902 : extern rtx_insn *gen_split_2281 (rtx_insn *, rtx *);
21903 : rtx_insn *
21904 : gen_split_2281 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
21905 : {
21906 : if (dump_file)
21907 : fprintf (dump_file, "Splitting with gen_split_2281 (sse.md:14142)\n");
21908 : start_sequence ();
21909 : #define FAIL return (end_sequence (), nullptr)
21910 : #define DONE return end_sequence ()
21911 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21912 : {
21913 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
21914 : int reg6 = 0xF0;
21915 : int reg2 = 0xCC;
21916 : int reg1 = 0xAA;
21917 : int reg3 = 0;
21918 : int reg4 = 0;
21919 : int reg_mask, tmp1, tmp2;
21920 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
21921 : STRIP_UNARY (operands[4])))
21922 : {
21923 : reg4 = reg1;
21924 : reg3 = reg6;
21925 : operands[6] = operands[3];
21926 : }
21927 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
21928 : STRIP_UNARY (operands[4])))
21929 : {
21930 : reg4 = reg2;
21931 : reg3 = reg6;
21932 : operands[6] = operands[3];
21933 : }
21934 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
21935 : STRIP_UNARY (operands[3])))
21936 : {
21937 : reg4 = reg6;
21938 : reg3 = reg1;
21939 : operands[6] = operands[4];
21940 : }
21941 : else
21942 : {
21943 : reg4 = reg6;
21944 : reg3 = reg2;
21945 : operands[6] = operands[4];
21946 : }
21947 :
21948 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
21949 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
21950 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
21951 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
21952 :
21953 : tmp1 = reg1 & reg2;
21954 : tmp2 = reg3 ^ reg4;
21955 : reg_mask = tmp1 ^ tmp2;
21956 : reg_mask &= 0xFF;
21957 :
21958 : operands[1] = STRIP_UNARY (operands[1]);
21959 : operands[2] = STRIP_UNARY (operands[2]);
21960 : operands[6] = STRIP_UNARY (operands[6]);
21961 : if (!register_operand (operands[2], V4SFmode))
21962 : operands[2] = force_reg (V4SFmode, operands[2]);
21963 : if (!register_operand (operands[6], V4SFmode))
21964 : operands[6] = force_reg (V4SFmode, operands[6]);
21965 : operands[5] = GEN_INT (reg_mask);
21966 : }
21967 : #undef DONE
21968 : #undef FAIL
21969 : static const uint8_t expand_encoding[] = {
21970 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6b, 0x04, 0x01,
21971 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
21972 : 0x25
21973 : };
21974 : return complete_seq (expand_encoding, operands);
21975 : }
21976 :
21977 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
21978 : extern rtx_insn *gen_split_2291 (rtx_insn *, rtx *);
21979 : rtx_insn *
21980 : gen_split_2291 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
21981 : {
21982 : if (dump_file)
21983 : fprintf (dump_file, "Splitting with gen_split_2291 (sse.md:14142)\n");
21984 : start_sequence ();
21985 : #define FAIL return (end_sequence (), nullptr)
21986 : #define DONE return end_sequence ()
21987 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21988 : {
21989 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
21990 : int reg6 = 0xF0;
21991 : int reg2 = 0xCC;
21992 : int reg1 = 0xAA;
21993 : int reg3 = 0;
21994 : int reg4 = 0;
21995 : int reg_mask, tmp1, tmp2;
21996 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
21997 : STRIP_UNARY (operands[4])))
21998 : {
21999 : reg4 = reg1;
22000 : reg3 = reg6;
22001 : operands[6] = operands[3];
22002 : }
22003 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
22004 : STRIP_UNARY (operands[4])))
22005 : {
22006 : reg4 = reg2;
22007 : reg3 = reg6;
22008 : operands[6] = operands[3];
22009 : }
22010 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
22011 : STRIP_UNARY (operands[3])))
22012 : {
22013 : reg4 = reg6;
22014 : reg3 = reg1;
22015 : operands[6] = operands[4];
22016 : }
22017 : else
22018 : {
22019 : reg4 = reg6;
22020 : reg3 = reg2;
22021 : operands[6] = operands[4];
22022 : }
22023 :
22024 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
22025 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
22026 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
22027 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
22028 :
22029 : tmp1 = reg1 ^ reg2;
22030 : tmp2 = reg3 & reg4;
22031 : reg_mask = tmp1 & tmp2;
22032 : reg_mask &= 0xFF;
22033 :
22034 : operands[1] = STRIP_UNARY (operands[1]);
22035 : operands[2] = STRIP_UNARY (operands[2]);
22036 : operands[6] = STRIP_UNARY (operands[6]);
22037 : if (!register_operand (operands[2], V4SFmode))
22038 : operands[2] = force_reg (V4SFmode, operands[2]);
22039 : if (!register_operand (operands[6], V4SFmode))
22040 : operands[6] = force_reg (V4SFmode, operands[6]);
22041 : operands[5] = GEN_INT (reg_mask);
22042 : }
22043 : #undef DONE
22044 : #undef FAIL
22045 : static const uint8_t expand_encoding[] = {
22046 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6b, 0x04, 0x01,
22047 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
22048 : 0x25
22049 : };
22050 : return complete_seq (expand_encoding, operands);
22051 : }
22052 :
22053 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
22054 : extern rtx_insn *gen_split_2301 (rtx_insn *, rtx *);
22055 : rtx_insn *
22056 : gen_split_2301 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
22057 : {
22058 : if (dump_file)
22059 : fprintf (dump_file, "Splitting with gen_split_2301 (sse.md:14142)\n");
22060 : start_sequence ();
22061 : #define FAIL return (end_sequence (), nullptr)
22062 : #define DONE return end_sequence ()
22063 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22064 : {
22065 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
22066 : int reg6 = 0xF0;
22067 : int reg2 = 0xCC;
22068 : int reg1 = 0xAA;
22069 : int reg3 = 0;
22070 : int reg4 = 0;
22071 : int reg_mask, tmp1, tmp2;
22072 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
22073 : STRIP_UNARY (operands[4])))
22074 : {
22075 : reg4 = reg1;
22076 : reg3 = reg6;
22077 : operands[6] = operands[3];
22078 : }
22079 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
22080 : STRIP_UNARY (operands[4])))
22081 : {
22082 : reg4 = reg2;
22083 : reg3 = reg6;
22084 : operands[6] = operands[3];
22085 : }
22086 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
22087 : STRIP_UNARY (operands[3])))
22088 : {
22089 : reg4 = reg6;
22090 : reg3 = reg1;
22091 : operands[6] = operands[4];
22092 : }
22093 : else
22094 : {
22095 : reg4 = reg6;
22096 : reg3 = reg2;
22097 : operands[6] = operands[4];
22098 : }
22099 :
22100 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
22101 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
22102 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
22103 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
22104 :
22105 : tmp1 = reg1 & reg2;
22106 : tmp2 = reg3 & reg4;
22107 : reg_mask = tmp1 | tmp2;
22108 : reg_mask &= 0xFF;
22109 :
22110 : operands[1] = STRIP_UNARY (operands[1]);
22111 : operands[2] = STRIP_UNARY (operands[2]);
22112 : operands[6] = STRIP_UNARY (operands[6]);
22113 : if (!register_operand (operands[2], V8DFmode))
22114 : operands[2] = force_reg (V8DFmode, operands[2]);
22115 : if (!register_operand (operands[6], V8DFmode))
22116 : operands[6] = force_reg (V8DFmode, operands[6]);
22117 : operands[5] = GEN_INT (reg_mask);
22118 : }
22119 : #undef DONE
22120 : #undef FAIL
22121 : static const uint8_t expand_encoding[] = {
22122 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x75, 0x04, 0x01,
22123 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
22124 : 0x25
22125 : };
22126 : return complete_seq (expand_encoding, operands);
22127 : }
22128 :
22129 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
22130 : extern rtx_insn *gen_split_2311 (rtx_insn *, rtx *);
22131 : rtx_insn *
22132 : gen_split_2311 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
22133 : {
22134 : if (dump_file)
22135 : fprintf (dump_file, "Splitting with gen_split_2311 (sse.md:14142)\n");
22136 : start_sequence ();
22137 : #define FAIL return (end_sequence (), nullptr)
22138 : #define DONE return end_sequence ()
22139 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22140 : {
22141 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
22142 : int reg6 = 0xF0;
22143 : int reg2 = 0xCC;
22144 : int reg1 = 0xAA;
22145 : int reg3 = 0;
22146 : int reg4 = 0;
22147 : int reg_mask, tmp1, tmp2;
22148 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
22149 : STRIP_UNARY (operands[4])))
22150 : {
22151 : reg4 = reg1;
22152 : reg3 = reg6;
22153 : operands[6] = operands[3];
22154 : }
22155 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
22156 : STRIP_UNARY (operands[4])))
22157 : {
22158 : reg4 = reg2;
22159 : reg3 = reg6;
22160 : operands[6] = operands[3];
22161 : }
22162 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
22163 : STRIP_UNARY (operands[3])))
22164 : {
22165 : reg4 = reg6;
22166 : reg3 = reg1;
22167 : operands[6] = operands[4];
22168 : }
22169 : else
22170 : {
22171 : reg4 = reg6;
22172 : reg3 = reg2;
22173 : operands[6] = operands[4];
22174 : }
22175 :
22176 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
22177 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
22178 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
22179 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
22180 :
22181 : tmp1 = reg1 | reg2;
22182 : tmp2 = reg3 & reg4;
22183 : reg_mask = tmp1 ^ tmp2;
22184 : reg_mask &= 0xFF;
22185 :
22186 : operands[1] = STRIP_UNARY (operands[1]);
22187 : operands[2] = STRIP_UNARY (operands[2]);
22188 : operands[6] = STRIP_UNARY (operands[6]);
22189 : if (!register_operand (operands[2], V8DFmode))
22190 : operands[2] = force_reg (V8DFmode, operands[2]);
22191 : if (!register_operand (operands[6], V8DFmode))
22192 : operands[6] = force_reg (V8DFmode, operands[6]);
22193 : operands[5] = GEN_INT (reg_mask);
22194 : }
22195 : #undef DONE
22196 : #undef FAIL
22197 : static const uint8_t expand_encoding[] = {
22198 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x75, 0x04, 0x01,
22199 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
22200 : 0x25
22201 : };
22202 : return complete_seq (expand_encoding, operands);
22203 : }
22204 :
22205 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
22206 : extern rtx_insn *gen_split_2321 (rtx_insn *, rtx *);
22207 : rtx_insn *
22208 : gen_split_2321 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
22209 : {
22210 : if (dump_file)
22211 : fprintf (dump_file, "Splitting with gen_split_2321 (sse.md:14142)\n");
22212 : start_sequence ();
22213 : #define FAIL return (end_sequence (), nullptr)
22214 : #define DONE return end_sequence ()
22215 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22216 : {
22217 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
22218 : int reg6 = 0xF0;
22219 : int reg2 = 0xCC;
22220 : int reg1 = 0xAA;
22221 : int reg3 = 0;
22222 : int reg4 = 0;
22223 : int reg_mask, tmp1, tmp2;
22224 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
22225 : STRIP_UNARY (operands[4])))
22226 : {
22227 : reg4 = reg1;
22228 : reg3 = reg6;
22229 : operands[6] = operands[3];
22230 : }
22231 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
22232 : STRIP_UNARY (operands[4])))
22233 : {
22234 : reg4 = reg2;
22235 : reg3 = reg6;
22236 : operands[6] = operands[3];
22237 : }
22238 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
22239 : STRIP_UNARY (operands[3])))
22240 : {
22241 : reg4 = reg6;
22242 : reg3 = reg1;
22243 : operands[6] = operands[4];
22244 : }
22245 : else
22246 : {
22247 : reg4 = reg6;
22248 : reg3 = reg2;
22249 : operands[6] = operands[4];
22250 : }
22251 :
22252 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
22253 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
22254 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
22255 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
22256 :
22257 : tmp1 = reg1 ^ reg2;
22258 : tmp2 = reg3 | reg4;
22259 : reg_mask = tmp1 & tmp2;
22260 : reg_mask &= 0xFF;
22261 :
22262 : operands[1] = STRIP_UNARY (operands[1]);
22263 : operands[2] = STRIP_UNARY (operands[2]);
22264 : operands[6] = STRIP_UNARY (operands[6]);
22265 : if (!register_operand (operands[2], V8DFmode))
22266 : operands[2] = force_reg (V8DFmode, operands[2]);
22267 : if (!register_operand (operands[6], V8DFmode))
22268 : operands[6] = force_reg (V8DFmode, operands[6]);
22269 : operands[5] = GEN_INT (reg_mask);
22270 : }
22271 : #undef DONE
22272 : #undef FAIL
22273 : static const uint8_t expand_encoding[] = {
22274 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x75, 0x04, 0x01,
22275 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
22276 : 0x25
22277 : };
22278 : return complete_seq (expand_encoding, operands);
22279 : }
22280 :
22281 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
22282 : extern rtx_insn *gen_split_2331 (rtx_insn *, rtx *);
22283 : rtx_insn *
22284 : gen_split_2331 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
22285 : {
22286 : if (dump_file)
22287 : fprintf (dump_file, "Splitting with gen_split_2331 (sse.md:14142)\n");
22288 : start_sequence ();
22289 : #define FAIL return (end_sequence (), nullptr)
22290 : #define DONE return end_sequence ()
22291 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22292 : {
22293 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
22294 : int reg6 = 0xF0;
22295 : int reg2 = 0xCC;
22296 : int reg1 = 0xAA;
22297 : int reg3 = 0;
22298 : int reg4 = 0;
22299 : int reg_mask, tmp1, tmp2;
22300 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
22301 : STRIP_UNARY (operands[4])))
22302 : {
22303 : reg4 = reg1;
22304 : reg3 = reg6;
22305 : operands[6] = operands[3];
22306 : }
22307 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
22308 : STRIP_UNARY (operands[4])))
22309 : {
22310 : reg4 = reg2;
22311 : reg3 = reg6;
22312 : operands[6] = operands[3];
22313 : }
22314 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
22315 : STRIP_UNARY (operands[3])))
22316 : {
22317 : reg4 = reg6;
22318 : reg3 = reg1;
22319 : operands[6] = operands[4];
22320 : }
22321 : else
22322 : {
22323 : reg4 = reg6;
22324 : reg3 = reg2;
22325 : operands[6] = operands[4];
22326 : }
22327 :
22328 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
22329 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
22330 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
22331 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
22332 :
22333 : tmp1 = reg1 & reg2;
22334 : tmp2 = reg3 | reg4;
22335 : reg_mask = tmp1 | tmp2;
22336 : reg_mask &= 0xFF;
22337 :
22338 : operands[1] = STRIP_UNARY (operands[1]);
22339 : operands[2] = STRIP_UNARY (operands[2]);
22340 : operands[6] = STRIP_UNARY (operands[6]);
22341 : if (!register_operand (operands[2], V4DFmode))
22342 : operands[2] = force_reg (V4DFmode, operands[2]);
22343 : if (!register_operand (operands[6], V4DFmode))
22344 : operands[6] = force_reg (V4DFmode, operands[6]);
22345 : operands[5] = GEN_INT (reg_mask);
22346 : }
22347 : #undef DONE
22348 : #undef FAIL
22349 : static const uint8_t expand_encoding[] = {
22350 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x70, 0x04, 0x01,
22351 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
22352 : 0x25
22353 : };
22354 : return complete_seq (expand_encoding, operands);
22355 : }
22356 :
22357 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
22358 : extern rtx_insn *gen_split_2341 (rtx_insn *, rtx *);
22359 : rtx_insn *
22360 : gen_split_2341 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
22361 : {
22362 : if (dump_file)
22363 : fprintf (dump_file, "Splitting with gen_split_2341 (sse.md:14142)\n");
22364 : start_sequence ();
22365 : #define FAIL return (end_sequence (), nullptr)
22366 : #define DONE return end_sequence ()
22367 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22368 : {
22369 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
22370 : int reg6 = 0xF0;
22371 : int reg2 = 0xCC;
22372 : int reg1 = 0xAA;
22373 : int reg3 = 0;
22374 : int reg4 = 0;
22375 : int reg_mask, tmp1, tmp2;
22376 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
22377 : STRIP_UNARY (operands[4])))
22378 : {
22379 : reg4 = reg1;
22380 : reg3 = reg6;
22381 : operands[6] = operands[3];
22382 : }
22383 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
22384 : STRIP_UNARY (operands[4])))
22385 : {
22386 : reg4 = reg2;
22387 : reg3 = reg6;
22388 : operands[6] = operands[3];
22389 : }
22390 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
22391 : STRIP_UNARY (operands[3])))
22392 : {
22393 : reg4 = reg6;
22394 : reg3 = reg1;
22395 : operands[6] = operands[4];
22396 : }
22397 : else
22398 : {
22399 : reg4 = reg6;
22400 : reg3 = reg2;
22401 : operands[6] = operands[4];
22402 : }
22403 :
22404 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
22405 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
22406 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
22407 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
22408 :
22409 : tmp1 = reg1 | reg2;
22410 : tmp2 = reg3 | reg4;
22411 : reg_mask = tmp1 ^ tmp2;
22412 : reg_mask &= 0xFF;
22413 :
22414 : operands[1] = STRIP_UNARY (operands[1]);
22415 : operands[2] = STRIP_UNARY (operands[2]);
22416 : operands[6] = STRIP_UNARY (operands[6]);
22417 : if (!register_operand (operands[2], V4DFmode))
22418 : operands[2] = force_reg (V4DFmode, operands[2]);
22419 : if (!register_operand (operands[6], V4DFmode))
22420 : operands[6] = force_reg (V4DFmode, operands[6]);
22421 : operands[5] = GEN_INT (reg_mask);
22422 : }
22423 : #undef DONE
22424 : #undef FAIL
22425 : static const uint8_t expand_encoding[] = {
22426 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x70, 0x04, 0x01,
22427 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
22428 : 0x25
22429 : };
22430 : return complete_seq (expand_encoding, operands);
22431 : }
22432 :
22433 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
22434 : extern rtx_insn *gen_split_2351 (rtx_insn *, rtx *);
22435 : rtx_insn *
22436 : gen_split_2351 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
22437 : {
22438 : if (dump_file)
22439 : fprintf (dump_file, "Splitting with gen_split_2351 (sse.md:14142)\n");
22440 : start_sequence ();
22441 : #define FAIL return (end_sequence (), nullptr)
22442 : #define DONE return end_sequence ()
22443 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22444 : {
22445 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
22446 : int reg6 = 0xF0;
22447 : int reg2 = 0xCC;
22448 : int reg1 = 0xAA;
22449 : int reg3 = 0;
22450 : int reg4 = 0;
22451 : int reg_mask, tmp1, tmp2;
22452 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
22453 : STRIP_UNARY (operands[4])))
22454 : {
22455 : reg4 = reg1;
22456 : reg3 = reg6;
22457 : operands[6] = operands[3];
22458 : }
22459 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
22460 : STRIP_UNARY (operands[4])))
22461 : {
22462 : reg4 = reg2;
22463 : reg3 = reg6;
22464 : operands[6] = operands[3];
22465 : }
22466 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
22467 : STRIP_UNARY (operands[3])))
22468 : {
22469 : reg4 = reg6;
22470 : reg3 = reg1;
22471 : operands[6] = operands[4];
22472 : }
22473 : else
22474 : {
22475 : reg4 = reg6;
22476 : reg3 = reg2;
22477 : operands[6] = operands[4];
22478 : }
22479 :
22480 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
22481 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
22482 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
22483 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
22484 :
22485 : tmp1 = reg1 ^ reg2;
22486 : tmp2 = reg3 ^ reg4;
22487 : reg_mask = tmp1 & tmp2;
22488 : reg_mask &= 0xFF;
22489 :
22490 : operands[1] = STRIP_UNARY (operands[1]);
22491 : operands[2] = STRIP_UNARY (operands[2]);
22492 : operands[6] = STRIP_UNARY (operands[6]);
22493 : if (!register_operand (operands[2], V4DFmode))
22494 : operands[2] = force_reg (V4DFmode, operands[2]);
22495 : if (!register_operand (operands[6], V4DFmode))
22496 : operands[6] = force_reg (V4DFmode, operands[6]);
22497 : operands[5] = GEN_INT (reg_mask);
22498 : }
22499 : #undef DONE
22500 : #undef FAIL
22501 : static const uint8_t expand_encoding[] = {
22502 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x70, 0x04, 0x01,
22503 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
22504 : 0x25
22505 : };
22506 : return complete_seq (expand_encoding, operands);
22507 : }
22508 :
22509 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
22510 : extern rtx_insn *gen_split_2361 (rtx_insn *, rtx *);
22511 : rtx_insn *
22512 : gen_split_2361 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
22513 : {
22514 : if (dump_file)
22515 : fprintf (dump_file, "Splitting with gen_split_2361 (sse.md:14142)\n");
22516 : start_sequence ();
22517 : #define FAIL return (end_sequence (), nullptr)
22518 : #define DONE return end_sequence ()
22519 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22520 : {
22521 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
22522 : int reg6 = 0xF0;
22523 : int reg2 = 0xCC;
22524 : int reg1 = 0xAA;
22525 : int reg3 = 0;
22526 : int reg4 = 0;
22527 : int reg_mask, tmp1, tmp2;
22528 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
22529 : STRIP_UNARY (operands[4])))
22530 : {
22531 : reg4 = reg1;
22532 : reg3 = reg6;
22533 : operands[6] = operands[3];
22534 : }
22535 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
22536 : STRIP_UNARY (operands[4])))
22537 : {
22538 : reg4 = reg2;
22539 : reg3 = reg6;
22540 : operands[6] = operands[3];
22541 : }
22542 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
22543 : STRIP_UNARY (operands[3])))
22544 : {
22545 : reg4 = reg6;
22546 : reg3 = reg1;
22547 : operands[6] = operands[4];
22548 : }
22549 : else
22550 : {
22551 : reg4 = reg6;
22552 : reg3 = reg2;
22553 : operands[6] = operands[4];
22554 : }
22555 :
22556 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
22557 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
22558 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
22559 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
22560 :
22561 : tmp1 = reg1 & reg2;
22562 : tmp2 = reg3 ^ reg4;
22563 : reg_mask = tmp1 | tmp2;
22564 : reg_mask &= 0xFF;
22565 :
22566 : operands[1] = STRIP_UNARY (operands[1]);
22567 : operands[2] = STRIP_UNARY (operands[2]);
22568 : operands[6] = STRIP_UNARY (operands[6]);
22569 : if (!register_operand (operands[2], V2DFmode))
22570 : operands[2] = force_reg (V2DFmode, operands[2]);
22571 : if (!register_operand (operands[6], V2DFmode))
22572 : operands[6] = force_reg (V2DFmode, operands[6]);
22573 : operands[5] = GEN_INT (reg_mask);
22574 : }
22575 : #undef DONE
22576 : #undef FAIL
22577 : static const uint8_t expand_encoding[] = {
22578 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6c, 0x04, 0x01,
22579 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
22580 : 0x25
22581 : };
22582 : return complete_seq (expand_encoding, operands);
22583 : }
22584 :
22585 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14142 */
22586 : extern rtx_insn *gen_split_2371 (rtx_insn *, rtx *);
22587 : rtx_insn *
22588 : gen_split_2371 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
22589 : {
22590 : if (dump_file)
22591 : fprintf (dump_file, "Splitting with gen_split_2371 (sse.md:14142)\n");
22592 : start_sequence ();
22593 : #define FAIL return (end_sequence (), nullptr)
22594 : #define DONE return end_sequence ()
22595 : #line 14171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22596 : {
22597 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
22598 : int reg6 = 0xF0;
22599 : int reg2 = 0xCC;
22600 : int reg1 = 0xAA;
22601 : int reg3 = 0;
22602 : int reg4 = 0;
22603 : int reg_mask, tmp1, tmp2;
22604 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
22605 : STRIP_UNARY (operands[4])))
22606 : {
22607 : reg4 = reg1;
22608 : reg3 = reg6;
22609 : operands[6] = operands[3];
22610 : }
22611 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
22612 : STRIP_UNARY (operands[4])))
22613 : {
22614 : reg4 = reg2;
22615 : reg3 = reg6;
22616 : operands[6] = operands[3];
22617 : }
22618 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
22619 : STRIP_UNARY (operands[3])))
22620 : {
22621 : reg4 = reg6;
22622 : reg3 = reg1;
22623 : operands[6] = operands[4];
22624 : }
22625 : else
22626 : {
22627 : reg4 = reg6;
22628 : reg3 = reg2;
22629 : operands[6] = operands[4];
22630 : }
22631 :
22632 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
22633 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
22634 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
22635 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
22636 :
22637 : tmp1 = reg1 | reg2;
22638 : tmp2 = reg3 ^ reg4;
22639 : reg_mask = tmp1 ^ tmp2;
22640 : reg_mask &= 0xFF;
22641 :
22642 : operands[1] = STRIP_UNARY (operands[1]);
22643 : operands[2] = STRIP_UNARY (operands[2]);
22644 : operands[6] = STRIP_UNARY (operands[6]);
22645 : if (!register_operand (operands[2], V2DFmode))
22646 : operands[2] = force_reg (V2DFmode, operands[2]);
22647 : if (!register_operand (operands[6], V2DFmode))
22648 : operands[6] = force_reg (V2DFmode, operands[6]);
22649 : operands[5] = GEN_INT (reg_mask);
22650 : }
22651 : #undef DONE
22652 : #undef FAIL
22653 : static const uint8_t expand_encoding[] = {
22654 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6c, 0x04, 0x01,
22655 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
22656 : 0x25
22657 : };
22658 : return complete_seq (expand_encoding, operands);
22659 : }
22660 :
22661 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
22662 : extern rtx_insn *gen_split_2381 (rtx_insn *, rtx *);
22663 : rtx_insn *
22664 : gen_split_2381 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
22665 : {
22666 : if (dump_file)
22667 : fprintf (dump_file, "Splitting with gen_split_2381 (sse.md:14227)\n");
22668 : start_sequence ();
22669 : #define FAIL return (end_sequence (), nullptr)
22670 : #define DONE return end_sequence ()
22671 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22672 : {
22673 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
22674 : int reg6 = 0xF0;
22675 : int reg2 = 0xCC;
22676 : int reg1 = 0xAA;
22677 : int reg3 = 0;
22678 : int reg4 = 0;
22679 : int reg_mask, tmp1, tmp2;
22680 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
22681 : STRIP_UNARY (operands[4])))
22682 : {
22683 : reg4 = reg1;
22684 : reg3 = reg6;
22685 : operands[6] = operands[3];
22686 : }
22687 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
22688 : STRIP_UNARY (operands[4])))
22689 : {
22690 : reg4 = reg2;
22691 : reg3 = reg6;
22692 : operands[6] = operands[3];
22693 : }
22694 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
22695 : STRIP_UNARY (operands[3])))
22696 : {
22697 : reg4 = reg6;
22698 : reg3 = reg1;
22699 : operands[6] = operands[4];
22700 : }
22701 : else
22702 : {
22703 : reg4 = reg6;
22704 : reg3 = reg2;
22705 : operands[6] = operands[4];
22706 : }
22707 :
22708 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
22709 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
22710 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
22711 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
22712 :
22713 : tmp1 = reg1 & reg2;
22714 : tmp2 = tmp1 & reg3;
22715 : reg_mask = tmp2 & reg4;
22716 : reg_mask &= 0xFF;
22717 :
22718 : operands[1] = STRIP_UNARY (operands[1]);
22719 : operands[2] = STRIP_UNARY (operands[2]);
22720 : operands[6] = STRIP_UNARY (operands[6]);
22721 : operands[5] = GEN_INT (reg_mask);
22722 : if (!register_operand (operands[2], V64QImode))
22723 : operands[2] = force_reg (V64QImode, operands[2]);
22724 : if (!register_operand (operands[6], V64QImode))
22725 : operands[6] = force_reg (V64QImode, operands[6]);
22726 :
22727 : }
22728 : #undef DONE
22729 : #undef FAIL
22730 : static const uint8_t expand_encoding[] = {
22731 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x59, 0x04, 0x01,
22732 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
22733 : 0x25
22734 : };
22735 : return complete_seq (expand_encoding, operands);
22736 : }
22737 :
22738 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
22739 : extern rtx_insn *gen_split_2391 (rtx_insn *, rtx *);
22740 : rtx_insn *
22741 : gen_split_2391 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
22742 : {
22743 : if (dump_file)
22744 : fprintf (dump_file, "Splitting with gen_split_2391 (sse.md:14227)\n");
22745 : start_sequence ();
22746 : #define FAIL return (end_sequence (), nullptr)
22747 : #define DONE return end_sequence ()
22748 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22749 : {
22750 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
22751 : int reg6 = 0xF0;
22752 : int reg2 = 0xCC;
22753 : int reg1 = 0xAA;
22754 : int reg3 = 0;
22755 : int reg4 = 0;
22756 : int reg_mask, tmp1, tmp2;
22757 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
22758 : STRIP_UNARY (operands[4])))
22759 : {
22760 : reg4 = reg1;
22761 : reg3 = reg6;
22762 : operands[6] = operands[3];
22763 : }
22764 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
22765 : STRIP_UNARY (operands[4])))
22766 : {
22767 : reg4 = reg2;
22768 : reg3 = reg6;
22769 : operands[6] = operands[3];
22770 : }
22771 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
22772 : STRIP_UNARY (operands[3])))
22773 : {
22774 : reg4 = reg6;
22775 : reg3 = reg1;
22776 : operands[6] = operands[4];
22777 : }
22778 : else
22779 : {
22780 : reg4 = reg6;
22781 : reg3 = reg2;
22782 : operands[6] = operands[4];
22783 : }
22784 :
22785 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
22786 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
22787 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
22788 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
22789 :
22790 : tmp1 = reg1 & reg2;
22791 : tmp2 = tmp1 | reg3;
22792 : reg_mask = tmp2 | reg4;
22793 : reg_mask &= 0xFF;
22794 :
22795 : operands[1] = STRIP_UNARY (operands[1]);
22796 : operands[2] = STRIP_UNARY (operands[2]);
22797 : operands[6] = STRIP_UNARY (operands[6]);
22798 : operands[5] = GEN_INT (reg_mask);
22799 : if (!register_operand (operands[2], V64QImode))
22800 : operands[2] = force_reg (V64QImode, operands[2]);
22801 : if (!register_operand (operands[6], V64QImode))
22802 : operands[6] = force_reg (V64QImode, operands[6]);
22803 :
22804 : }
22805 : #undef DONE
22806 : #undef FAIL
22807 : static const uint8_t expand_encoding[] = {
22808 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x59, 0x04, 0x01,
22809 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
22810 : 0x25
22811 : };
22812 : return complete_seq (expand_encoding, operands);
22813 : }
22814 :
22815 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
22816 : extern rtx_insn *gen_split_2401 (rtx_insn *, rtx *);
22817 : rtx_insn *
22818 : gen_split_2401 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
22819 : {
22820 : if (dump_file)
22821 : fprintf (dump_file, "Splitting with gen_split_2401 (sse.md:14227)\n");
22822 : start_sequence ();
22823 : #define FAIL return (end_sequence (), nullptr)
22824 : #define DONE return end_sequence ()
22825 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22826 : {
22827 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
22828 : int reg6 = 0xF0;
22829 : int reg2 = 0xCC;
22830 : int reg1 = 0xAA;
22831 : int reg3 = 0;
22832 : int reg4 = 0;
22833 : int reg_mask, tmp1, tmp2;
22834 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
22835 : STRIP_UNARY (operands[4])))
22836 : {
22837 : reg4 = reg1;
22838 : reg3 = reg6;
22839 : operands[6] = operands[3];
22840 : }
22841 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
22842 : STRIP_UNARY (operands[4])))
22843 : {
22844 : reg4 = reg2;
22845 : reg3 = reg6;
22846 : operands[6] = operands[3];
22847 : }
22848 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
22849 : STRIP_UNARY (operands[3])))
22850 : {
22851 : reg4 = reg6;
22852 : reg3 = reg1;
22853 : operands[6] = operands[4];
22854 : }
22855 : else
22856 : {
22857 : reg4 = reg6;
22858 : reg3 = reg2;
22859 : operands[6] = operands[4];
22860 : }
22861 :
22862 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
22863 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
22864 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
22865 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
22866 :
22867 : tmp1 = reg1 & reg2;
22868 : tmp2 = tmp1 ^ reg3;
22869 : reg_mask = tmp2 ^ reg4;
22870 : reg_mask &= 0xFF;
22871 :
22872 : operands[1] = STRIP_UNARY (operands[1]);
22873 : operands[2] = STRIP_UNARY (operands[2]);
22874 : operands[6] = STRIP_UNARY (operands[6]);
22875 : operands[5] = GEN_INT (reg_mask);
22876 : if (!register_operand (operands[2], V64QImode))
22877 : operands[2] = force_reg (V64QImode, operands[2]);
22878 : if (!register_operand (operands[6], V64QImode))
22879 : operands[6] = force_reg (V64QImode, operands[6]);
22880 :
22881 : }
22882 : #undef DONE
22883 : #undef FAIL
22884 : static const uint8_t expand_encoding[] = {
22885 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x59, 0x04, 0x01,
22886 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
22887 : 0x25
22888 : };
22889 : return complete_seq (expand_encoding, operands);
22890 : }
22891 :
22892 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
22893 : extern rtx_insn *gen_split_2411 (rtx_insn *, rtx *);
22894 : rtx_insn *
22895 : gen_split_2411 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
22896 : {
22897 : if (dump_file)
22898 : fprintf (dump_file, "Splitting with gen_split_2411 (sse.md:14227)\n");
22899 : start_sequence ();
22900 : #define FAIL return (end_sequence (), nullptr)
22901 : #define DONE return end_sequence ()
22902 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22903 : {
22904 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
22905 : int reg6 = 0xF0;
22906 : int reg2 = 0xCC;
22907 : int reg1 = 0xAA;
22908 : int reg3 = 0;
22909 : int reg4 = 0;
22910 : int reg_mask, tmp1, tmp2;
22911 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
22912 : STRIP_UNARY (operands[4])))
22913 : {
22914 : reg4 = reg1;
22915 : reg3 = reg6;
22916 : operands[6] = operands[3];
22917 : }
22918 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
22919 : STRIP_UNARY (operands[4])))
22920 : {
22921 : reg4 = reg2;
22922 : reg3 = reg6;
22923 : operands[6] = operands[3];
22924 : }
22925 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
22926 : STRIP_UNARY (operands[3])))
22927 : {
22928 : reg4 = reg6;
22929 : reg3 = reg1;
22930 : operands[6] = operands[4];
22931 : }
22932 : else
22933 : {
22934 : reg4 = reg6;
22935 : reg3 = reg2;
22936 : operands[6] = operands[4];
22937 : }
22938 :
22939 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
22940 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
22941 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
22942 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
22943 :
22944 : tmp1 = reg1 | reg2;
22945 : tmp2 = tmp1 & reg3;
22946 : reg_mask = tmp2 & reg4;
22947 : reg_mask &= 0xFF;
22948 :
22949 : operands[1] = STRIP_UNARY (operands[1]);
22950 : operands[2] = STRIP_UNARY (operands[2]);
22951 : operands[6] = STRIP_UNARY (operands[6]);
22952 : operands[5] = GEN_INT (reg_mask);
22953 : if (!register_operand (operands[2], V32QImode))
22954 : operands[2] = force_reg (V32QImode, operands[2]);
22955 : if (!register_operand (operands[6], V32QImode))
22956 : operands[6] = force_reg (V32QImode, operands[6]);
22957 :
22958 : }
22959 : #undef DONE
22960 : #undef FAIL
22961 : static const uint8_t expand_encoding[] = {
22962 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x54, 0x04, 0x01,
22963 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
22964 : 0x25
22965 : };
22966 : return complete_seq (expand_encoding, operands);
22967 : }
22968 :
22969 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
22970 : extern rtx_insn *gen_split_2421 (rtx_insn *, rtx *);
22971 : rtx_insn *
22972 : gen_split_2421 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
22973 : {
22974 : if (dump_file)
22975 : fprintf (dump_file, "Splitting with gen_split_2421 (sse.md:14227)\n");
22976 : start_sequence ();
22977 : #define FAIL return (end_sequence (), nullptr)
22978 : #define DONE return end_sequence ()
22979 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22980 : {
22981 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
22982 : int reg6 = 0xF0;
22983 : int reg2 = 0xCC;
22984 : int reg1 = 0xAA;
22985 : int reg3 = 0;
22986 : int reg4 = 0;
22987 : int reg_mask, tmp1, tmp2;
22988 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
22989 : STRIP_UNARY (operands[4])))
22990 : {
22991 : reg4 = reg1;
22992 : reg3 = reg6;
22993 : operands[6] = operands[3];
22994 : }
22995 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
22996 : STRIP_UNARY (operands[4])))
22997 : {
22998 : reg4 = reg2;
22999 : reg3 = reg6;
23000 : operands[6] = operands[3];
23001 : }
23002 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
23003 : STRIP_UNARY (operands[3])))
23004 : {
23005 : reg4 = reg6;
23006 : reg3 = reg1;
23007 : operands[6] = operands[4];
23008 : }
23009 : else
23010 : {
23011 : reg4 = reg6;
23012 : reg3 = reg2;
23013 : operands[6] = operands[4];
23014 : }
23015 :
23016 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
23017 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
23018 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
23019 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
23020 :
23021 : tmp1 = reg1 | reg2;
23022 : tmp2 = tmp1 | reg3;
23023 : reg_mask = tmp2 | reg4;
23024 : reg_mask &= 0xFF;
23025 :
23026 : operands[1] = STRIP_UNARY (operands[1]);
23027 : operands[2] = STRIP_UNARY (operands[2]);
23028 : operands[6] = STRIP_UNARY (operands[6]);
23029 : operands[5] = GEN_INT (reg_mask);
23030 : if (!register_operand (operands[2], V32QImode))
23031 : operands[2] = force_reg (V32QImode, operands[2]);
23032 : if (!register_operand (operands[6], V32QImode))
23033 : operands[6] = force_reg (V32QImode, operands[6]);
23034 :
23035 : }
23036 : #undef DONE
23037 : #undef FAIL
23038 : static const uint8_t expand_encoding[] = {
23039 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x54, 0x04, 0x01,
23040 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
23041 : 0x25
23042 : };
23043 : return complete_seq (expand_encoding, operands);
23044 : }
23045 :
23046 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
23047 : extern rtx_insn *gen_split_2431 (rtx_insn *, rtx *);
23048 : rtx_insn *
23049 : gen_split_2431 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
23050 : {
23051 : if (dump_file)
23052 : fprintf (dump_file, "Splitting with gen_split_2431 (sse.md:14227)\n");
23053 : start_sequence ();
23054 : #define FAIL return (end_sequence (), nullptr)
23055 : #define DONE return end_sequence ()
23056 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23057 : {
23058 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
23059 : int reg6 = 0xF0;
23060 : int reg2 = 0xCC;
23061 : int reg1 = 0xAA;
23062 : int reg3 = 0;
23063 : int reg4 = 0;
23064 : int reg_mask, tmp1, tmp2;
23065 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
23066 : STRIP_UNARY (operands[4])))
23067 : {
23068 : reg4 = reg1;
23069 : reg3 = reg6;
23070 : operands[6] = operands[3];
23071 : }
23072 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
23073 : STRIP_UNARY (operands[4])))
23074 : {
23075 : reg4 = reg2;
23076 : reg3 = reg6;
23077 : operands[6] = operands[3];
23078 : }
23079 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
23080 : STRIP_UNARY (operands[3])))
23081 : {
23082 : reg4 = reg6;
23083 : reg3 = reg1;
23084 : operands[6] = operands[4];
23085 : }
23086 : else
23087 : {
23088 : reg4 = reg6;
23089 : reg3 = reg2;
23090 : operands[6] = operands[4];
23091 : }
23092 :
23093 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
23094 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
23095 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
23096 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
23097 :
23098 : tmp1 = reg1 | reg2;
23099 : tmp2 = tmp1 ^ reg3;
23100 : reg_mask = tmp2 ^ reg4;
23101 : reg_mask &= 0xFF;
23102 :
23103 : operands[1] = STRIP_UNARY (operands[1]);
23104 : operands[2] = STRIP_UNARY (operands[2]);
23105 : operands[6] = STRIP_UNARY (operands[6]);
23106 : operands[5] = GEN_INT (reg_mask);
23107 : if (!register_operand (operands[2], V32QImode))
23108 : operands[2] = force_reg (V32QImode, operands[2]);
23109 : if (!register_operand (operands[6], V32QImode))
23110 : operands[6] = force_reg (V32QImode, operands[6]);
23111 :
23112 : }
23113 : #undef DONE
23114 : #undef FAIL
23115 : static const uint8_t expand_encoding[] = {
23116 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x54, 0x04, 0x01,
23117 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
23118 : 0x25
23119 : };
23120 : return complete_seq (expand_encoding, operands);
23121 : }
23122 :
23123 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
23124 : extern rtx_insn *gen_split_2441 (rtx_insn *, rtx *);
23125 : rtx_insn *
23126 : gen_split_2441 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
23127 : {
23128 : if (dump_file)
23129 : fprintf (dump_file, "Splitting with gen_split_2441 (sse.md:14227)\n");
23130 : start_sequence ();
23131 : #define FAIL return (end_sequence (), nullptr)
23132 : #define DONE return end_sequence ()
23133 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23134 : {
23135 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
23136 : int reg6 = 0xF0;
23137 : int reg2 = 0xCC;
23138 : int reg1 = 0xAA;
23139 : int reg3 = 0;
23140 : int reg4 = 0;
23141 : int reg_mask, tmp1, tmp2;
23142 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
23143 : STRIP_UNARY (operands[4])))
23144 : {
23145 : reg4 = reg1;
23146 : reg3 = reg6;
23147 : operands[6] = operands[3];
23148 : }
23149 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
23150 : STRIP_UNARY (operands[4])))
23151 : {
23152 : reg4 = reg2;
23153 : reg3 = reg6;
23154 : operands[6] = operands[3];
23155 : }
23156 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
23157 : STRIP_UNARY (operands[3])))
23158 : {
23159 : reg4 = reg6;
23160 : reg3 = reg1;
23161 : operands[6] = operands[4];
23162 : }
23163 : else
23164 : {
23165 : reg4 = reg6;
23166 : reg3 = reg2;
23167 : operands[6] = operands[4];
23168 : }
23169 :
23170 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
23171 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
23172 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
23173 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
23174 :
23175 : tmp1 = reg1 ^ reg2;
23176 : tmp2 = tmp1 & reg3;
23177 : reg_mask = tmp2 & reg4;
23178 : reg_mask &= 0xFF;
23179 :
23180 : operands[1] = STRIP_UNARY (operands[1]);
23181 : operands[2] = STRIP_UNARY (operands[2]);
23182 : operands[6] = STRIP_UNARY (operands[6]);
23183 : operands[5] = GEN_INT (reg_mask);
23184 : if (!register_operand (operands[2], V16QImode))
23185 : operands[2] = force_reg (V16QImode, operands[2]);
23186 : if (!register_operand (operands[6], V16QImode))
23187 : operands[6] = force_reg (V16QImode, operands[6]);
23188 :
23189 : }
23190 : #undef DONE
23191 : #undef FAIL
23192 : static const uint8_t expand_encoding[] = {
23193 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x4f, 0x04, 0x01,
23194 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
23195 : 0x25
23196 : };
23197 : return complete_seq (expand_encoding, operands);
23198 : }
23199 :
23200 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
23201 : extern rtx_insn *gen_split_2451 (rtx_insn *, rtx *);
23202 : rtx_insn *
23203 : gen_split_2451 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
23204 : {
23205 : if (dump_file)
23206 : fprintf (dump_file, "Splitting with gen_split_2451 (sse.md:14227)\n");
23207 : start_sequence ();
23208 : #define FAIL return (end_sequence (), nullptr)
23209 : #define DONE return end_sequence ()
23210 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23211 : {
23212 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
23213 : int reg6 = 0xF0;
23214 : int reg2 = 0xCC;
23215 : int reg1 = 0xAA;
23216 : int reg3 = 0;
23217 : int reg4 = 0;
23218 : int reg_mask, tmp1, tmp2;
23219 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
23220 : STRIP_UNARY (operands[4])))
23221 : {
23222 : reg4 = reg1;
23223 : reg3 = reg6;
23224 : operands[6] = operands[3];
23225 : }
23226 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
23227 : STRIP_UNARY (operands[4])))
23228 : {
23229 : reg4 = reg2;
23230 : reg3 = reg6;
23231 : operands[6] = operands[3];
23232 : }
23233 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
23234 : STRIP_UNARY (operands[3])))
23235 : {
23236 : reg4 = reg6;
23237 : reg3 = reg1;
23238 : operands[6] = operands[4];
23239 : }
23240 : else
23241 : {
23242 : reg4 = reg6;
23243 : reg3 = reg2;
23244 : operands[6] = operands[4];
23245 : }
23246 :
23247 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
23248 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
23249 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
23250 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
23251 :
23252 : tmp1 = reg1 ^ reg2;
23253 : tmp2 = tmp1 | reg3;
23254 : reg_mask = tmp2 | reg4;
23255 : reg_mask &= 0xFF;
23256 :
23257 : operands[1] = STRIP_UNARY (operands[1]);
23258 : operands[2] = STRIP_UNARY (operands[2]);
23259 : operands[6] = STRIP_UNARY (operands[6]);
23260 : operands[5] = GEN_INT (reg_mask);
23261 : if (!register_operand (operands[2], V16QImode))
23262 : operands[2] = force_reg (V16QImode, operands[2]);
23263 : if (!register_operand (operands[6], V16QImode))
23264 : operands[6] = force_reg (V16QImode, operands[6]);
23265 :
23266 : }
23267 : #undef DONE
23268 : #undef FAIL
23269 : static const uint8_t expand_encoding[] = {
23270 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x4f, 0x04, 0x01,
23271 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
23272 : 0x25
23273 : };
23274 : return complete_seq (expand_encoding, operands);
23275 : }
23276 :
23277 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
23278 : extern rtx_insn *gen_split_2461 (rtx_insn *, rtx *);
23279 : rtx_insn *
23280 : gen_split_2461 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
23281 : {
23282 : if (dump_file)
23283 : fprintf (dump_file, "Splitting with gen_split_2461 (sse.md:14227)\n");
23284 : start_sequence ();
23285 : #define FAIL return (end_sequence (), nullptr)
23286 : #define DONE return end_sequence ()
23287 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23288 : {
23289 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
23290 : int reg6 = 0xF0;
23291 : int reg2 = 0xCC;
23292 : int reg1 = 0xAA;
23293 : int reg3 = 0;
23294 : int reg4 = 0;
23295 : int reg_mask, tmp1, tmp2;
23296 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
23297 : STRIP_UNARY (operands[4])))
23298 : {
23299 : reg4 = reg1;
23300 : reg3 = reg6;
23301 : operands[6] = operands[3];
23302 : }
23303 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
23304 : STRIP_UNARY (operands[4])))
23305 : {
23306 : reg4 = reg2;
23307 : reg3 = reg6;
23308 : operands[6] = operands[3];
23309 : }
23310 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
23311 : STRIP_UNARY (operands[3])))
23312 : {
23313 : reg4 = reg6;
23314 : reg3 = reg1;
23315 : operands[6] = operands[4];
23316 : }
23317 : else
23318 : {
23319 : reg4 = reg6;
23320 : reg3 = reg2;
23321 : operands[6] = operands[4];
23322 : }
23323 :
23324 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
23325 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
23326 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
23327 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
23328 :
23329 : tmp1 = reg1 ^ reg2;
23330 : tmp2 = tmp1 ^ reg3;
23331 : reg_mask = tmp2 ^ reg4;
23332 : reg_mask &= 0xFF;
23333 :
23334 : operands[1] = STRIP_UNARY (operands[1]);
23335 : operands[2] = STRIP_UNARY (operands[2]);
23336 : operands[6] = STRIP_UNARY (operands[6]);
23337 : operands[5] = GEN_INT (reg_mask);
23338 : if (!register_operand (operands[2], V16QImode))
23339 : operands[2] = force_reg (V16QImode, operands[2]);
23340 : if (!register_operand (operands[6], V16QImode))
23341 : operands[6] = force_reg (V16QImode, operands[6]);
23342 :
23343 : }
23344 : #undef DONE
23345 : #undef FAIL
23346 : static const uint8_t expand_encoding[] = {
23347 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x4f, 0x04, 0x01,
23348 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
23349 : 0x25
23350 : };
23351 : return complete_seq (expand_encoding, operands);
23352 : }
23353 :
23354 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
23355 : extern rtx_insn *gen_split_2471 (rtx_insn *, rtx *);
23356 : rtx_insn *
23357 : gen_split_2471 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
23358 : {
23359 : if (dump_file)
23360 : fprintf (dump_file, "Splitting with gen_split_2471 (sse.md:14227)\n");
23361 : start_sequence ();
23362 : #define FAIL return (end_sequence (), nullptr)
23363 : #define DONE return end_sequence ()
23364 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23365 : {
23366 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
23367 : int reg6 = 0xF0;
23368 : int reg2 = 0xCC;
23369 : int reg1 = 0xAA;
23370 : int reg3 = 0;
23371 : int reg4 = 0;
23372 : int reg_mask, tmp1, tmp2;
23373 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
23374 : STRIP_UNARY (operands[4])))
23375 : {
23376 : reg4 = reg1;
23377 : reg3 = reg6;
23378 : operands[6] = operands[3];
23379 : }
23380 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
23381 : STRIP_UNARY (operands[4])))
23382 : {
23383 : reg4 = reg2;
23384 : reg3 = reg6;
23385 : operands[6] = operands[3];
23386 : }
23387 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
23388 : STRIP_UNARY (operands[3])))
23389 : {
23390 : reg4 = reg6;
23391 : reg3 = reg1;
23392 : operands[6] = operands[4];
23393 : }
23394 : else
23395 : {
23396 : reg4 = reg6;
23397 : reg3 = reg2;
23398 : operands[6] = operands[4];
23399 : }
23400 :
23401 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
23402 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
23403 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
23404 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
23405 :
23406 : tmp1 = reg1 & reg2;
23407 : tmp2 = tmp1 | reg3;
23408 : reg_mask = tmp2 & reg4;
23409 : reg_mask &= 0xFF;
23410 :
23411 : operands[1] = STRIP_UNARY (operands[1]);
23412 : operands[2] = STRIP_UNARY (operands[2]);
23413 : operands[6] = STRIP_UNARY (operands[6]);
23414 : operands[5] = GEN_INT (reg_mask);
23415 : if (!register_operand (operands[2], V32HImode))
23416 : operands[2] = force_reg (V32HImode, operands[2]);
23417 : if (!register_operand (operands[6], V32HImode))
23418 : operands[6] = force_reg (V32HImode, operands[6]);
23419 :
23420 : }
23421 : #undef DONE
23422 : #undef FAIL
23423 : static const uint8_t expand_encoding[] = {
23424 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x5a, 0x04, 0x01,
23425 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
23426 : 0x25
23427 : };
23428 : return complete_seq (expand_encoding, operands);
23429 : }
23430 :
23431 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
23432 : extern rtx_insn *gen_split_2481 (rtx_insn *, rtx *);
23433 : rtx_insn *
23434 : gen_split_2481 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
23435 : {
23436 : if (dump_file)
23437 : fprintf (dump_file, "Splitting with gen_split_2481 (sse.md:14227)\n");
23438 : start_sequence ();
23439 : #define FAIL return (end_sequence (), nullptr)
23440 : #define DONE return end_sequence ()
23441 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23442 : {
23443 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
23444 : int reg6 = 0xF0;
23445 : int reg2 = 0xCC;
23446 : int reg1 = 0xAA;
23447 : int reg3 = 0;
23448 : int reg4 = 0;
23449 : int reg_mask, tmp1, tmp2;
23450 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
23451 : STRIP_UNARY (operands[4])))
23452 : {
23453 : reg4 = reg1;
23454 : reg3 = reg6;
23455 : operands[6] = operands[3];
23456 : }
23457 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
23458 : STRIP_UNARY (operands[4])))
23459 : {
23460 : reg4 = reg2;
23461 : reg3 = reg6;
23462 : operands[6] = operands[3];
23463 : }
23464 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
23465 : STRIP_UNARY (operands[3])))
23466 : {
23467 : reg4 = reg6;
23468 : reg3 = reg1;
23469 : operands[6] = operands[4];
23470 : }
23471 : else
23472 : {
23473 : reg4 = reg6;
23474 : reg3 = reg2;
23475 : operands[6] = operands[4];
23476 : }
23477 :
23478 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
23479 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
23480 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
23481 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
23482 :
23483 : tmp1 = reg1 & reg2;
23484 : tmp2 = tmp1 ^ reg3;
23485 : reg_mask = tmp2 | reg4;
23486 : reg_mask &= 0xFF;
23487 :
23488 : operands[1] = STRIP_UNARY (operands[1]);
23489 : operands[2] = STRIP_UNARY (operands[2]);
23490 : operands[6] = STRIP_UNARY (operands[6]);
23491 : operands[5] = GEN_INT (reg_mask);
23492 : if (!register_operand (operands[2], V32HImode))
23493 : operands[2] = force_reg (V32HImode, operands[2]);
23494 : if (!register_operand (operands[6], V32HImode))
23495 : operands[6] = force_reg (V32HImode, operands[6]);
23496 :
23497 : }
23498 : #undef DONE
23499 : #undef FAIL
23500 : static const uint8_t expand_encoding[] = {
23501 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x5a, 0x04, 0x01,
23502 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
23503 : 0x25
23504 : };
23505 : return complete_seq (expand_encoding, operands);
23506 : }
23507 :
23508 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
23509 : extern rtx_insn *gen_split_2491 (rtx_insn *, rtx *);
23510 : rtx_insn *
23511 : gen_split_2491 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
23512 : {
23513 : if (dump_file)
23514 : fprintf (dump_file, "Splitting with gen_split_2491 (sse.md:14227)\n");
23515 : start_sequence ();
23516 : #define FAIL return (end_sequence (), nullptr)
23517 : #define DONE return end_sequence ()
23518 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23519 : {
23520 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
23521 : int reg6 = 0xF0;
23522 : int reg2 = 0xCC;
23523 : int reg1 = 0xAA;
23524 : int reg3 = 0;
23525 : int reg4 = 0;
23526 : int reg_mask, tmp1, tmp2;
23527 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
23528 : STRIP_UNARY (operands[4])))
23529 : {
23530 : reg4 = reg1;
23531 : reg3 = reg6;
23532 : operands[6] = operands[3];
23533 : }
23534 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
23535 : STRIP_UNARY (operands[4])))
23536 : {
23537 : reg4 = reg2;
23538 : reg3 = reg6;
23539 : operands[6] = operands[3];
23540 : }
23541 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
23542 : STRIP_UNARY (operands[3])))
23543 : {
23544 : reg4 = reg6;
23545 : reg3 = reg1;
23546 : operands[6] = operands[4];
23547 : }
23548 : else
23549 : {
23550 : reg4 = reg6;
23551 : reg3 = reg2;
23552 : operands[6] = operands[4];
23553 : }
23554 :
23555 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
23556 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
23557 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
23558 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
23559 :
23560 : tmp1 = reg1 & reg2;
23561 : tmp2 = tmp1 & reg3;
23562 : reg_mask = tmp2 ^ reg4;
23563 : reg_mask &= 0xFF;
23564 :
23565 : operands[1] = STRIP_UNARY (operands[1]);
23566 : operands[2] = STRIP_UNARY (operands[2]);
23567 : operands[6] = STRIP_UNARY (operands[6]);
23568 : operands[5] = GEN_INT (reg_mask);
23569 : if (!register_operand (operands[2], V16HImode))
23570 : operands[2] = force_reg (V16HImode, operands[2]);
23571 : if (!register_operand (operands[6], V16HImode))
23572 : operands[6] = force_reg (V16HImode, operands[6]);
23573 :
23574 : }
23575 : #undef DONE
23576 : #undef FAIL
23577 : static const uint8_t expand_encoding[] = {
23578 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x55, 0x04, 0x01,
23579 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
23580 : 0x25
23581 : };
23582 : return complete_seq (expand_encoding, operands);
23583 : }
23584 :
23585 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
23586 : extern rtx_insn *gen_split_2501 (rtx_insn *, rtx *);
23587 : rtx_insn *
23588 : gen_split_2501 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
23589 : {
23590 : if (dump_file)
23591 : fprintf (dump_file, "Splitting with gen_split_2501 (sse.md:14227)\n");
23592 : start_sequence ();
23593 : #define FAIL return (end_sequence (), nullptr)
23594 : #define DONE return end_sequence ()
23595 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23596 : {
23597 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
23598 : int reg6 = 0xF0;
23599 : int reg2 = 0xCC;
23600 : int reg1 = 0xAA;
23601 : int reg3 = 0;
23602 : int reg4 = 0;
23603 : int reg_mask, tmp1, tmp2;
23604 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
23605 : STRIP_UNARY (operands[4])))
23606 : {
23607 : reg4 = reg1;
23608 : reg3 = reg6;
23609 : operands[6] = operands[3];
23610 : }
23611 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
23612 : STRIP_UNARY (operands[4])))
23613 : {
23614 : reg4 = reg2;
23615 : reg3 = reg6;
23616 : operands[6] = operands[3];
23617 : }
23618 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
23619 : STRIP_UNARY (operands[3])))
23620 : {
23621 : reg4 = reg6;
23622 : reg3 = reg1;
23623 : operands[6] = operands[4];
23624 : }
23625 : else
23626 : {
23627 : reg4 = reg6;
23628 : reg3 = reg2;
23629 : operands[6] = operands[4];
23630 : }
23631 :
23632 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
23633 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
23634 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
23635 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
23636 :
23637 : tmp1 = reg1 | reg2;
23638 : tmp2 = tmp1 | reg3;
23639 : reg_mask = tmp2 & reg4;
23640 : reg_mask &= 0xFF;
23641 :
23642 : operands[1] = STRIP_UNARY (operands[1]);
23643 : operands[2] = STRIP_UNARY (operands[2]);
23644 : operands[6] = STRIP_UNARY (operands[6]);
23645 : operands[5] = GEN_INT (reg_mask);
23646 : if (!register_operand (operands[2], V16HImode))
23647 : operands[2] = force_reg (V16HImode, operands[2]);
23648 : if (!register_operand (operands[6], V16HImode))
23649 : operands[6] = force_reg (V16HImode, operands[6]);
23650 :
23651 : }
23652 : #undef DONE
23653 : #undef FAIL
23654 : static const uint8_t expand_encoding[] = {
23655 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x55, 0x04, 0x01,
23656 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
23657 : 0x25
23658 : };
23659 : return complete_seq (expand_encoding, operands);
23660 : }
23661 :
23662 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
23663 : extern rtx_insn *gen_split_2511 (rtx_insn *, rtx *);
23664 : rtx_insn *
23665 : gen_split_2511 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
23666 : {
23667 : if (dump_file)
23668 : fprintf (dump_file, "Splitting with gen_split_2511 (sse.md:14227)\n");
23669 : start_sequence ();
23670 : #define FAIL return (end_sequence (), nullptr)
23671 : #define DONE return end_sequence ()
23672 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23673 : {
23674 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
23675 : int reg6 = 0xF0;
23676 : int reg2 = 0xCC;
23677 : int reg1 = 0xAA;
23678 : int reg3 = 0;
23679 : int reg4 = 0;
23680 : int reg_mask, tmp1, tmp2;
23681 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
23682 : STRIP_UNARY (operands[4])))
23683 : {
23684 : reg4 = reg1;
23685 : reg3 = reg6;
23686 : operands[6] = operands[3];
23687 : }
23688 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
23689 : STRIP_UNARY (operands[4])))
23690 : {
23691 : reg4 = reg2;
23692 : reg3 = reg6;
23693 : operands[6] = operands[3];
23694 : }
23695 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
23696 : STRIP_UNARY (operands[3])))
23697 : {
23698 : reg4 = reg6;
23699 : reg3 = reg1;
23700 : operands[6] = operands[4];
23701 : }
23702 : else
23703 : {
23704 : reg4 = reg6;
23705 : reg3 = reg2;
23706 : operands[6] = operands[4];
23707 : }
23708 :
23709 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
23710 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
23711 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
23712 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
23713 :
23714 : tmp1 = reg1 | reg2;
23715 : tmp2 = tmp1 ^ reg3;
23716 : reg_mask = tmp2 | reg4;
23717 : reg_mask &= 0xFF;
23718 :
23719 : operands[1] = STRIP_UNARY (operands[1]);
23720 : operands[2] = STRIP_UNARY (operands[2]);
23721 : operands[6] = STRIP_UNARY (operands[6]);
23722 : operands[5] = GEN_INT (reg_mask);
23723 : if (!register_operand (operands[2], V16HImode))
23724 : operands[2] = force_reg (V16HImode, operands[2]);
23725 : if (!register_operand (operands[6], V16HImode))
23726 : operands[6] = force_reg (V16HImode, operands[6]);
23727 :
23728 : }
23729 : #undef DONE
23730 : #undef FAIL
23731 : static const uint8_t expand_encoding[] = {
23732 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x55, 0x04, 0x01,
23733 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
23734 : 0x25
23735 : };
23736 : return complete_seq (expand_encoding, operands);
23737 : }
23738 :
23739 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
23740 : extern rtx_insn *gen_split_2521 (rtx_insn *, rtx *);
23741 : rtx_insn *
23742 : gen_split_2521 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
23743 : {
23744 : if (dump_file)
23745 : fprintf (dump_file, "Splitting with gen_split_2521 (sse.md:14227)\n");
23746 : start_sequence ();
23747 : #define FAIL return (end_sequence (), nullptr)
23748 : #define DONE return end_sequence ()
23749 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23750 : {
23751 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
23752 : int reg6 = 0xF0;
23753 : int reg2 = 0xCC;
23754 : int reg1 = 0xAA;
23755 : int reg3 = 0;
23756 : int reg4 = 0;
23757 : int reg_mask, tmp1, tmp2;
23758 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
23759 : STRIP_UNARY (operands[4])))
23760 : {
23761 : reg4 = reg1;
23762 : reg3 = reg6;
23763 : operands[6] = operands[3];
23764 : }
23765 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
23766 : STRIP_UNARY (operands[4])))
23767 : {
23768 : reg4 = reg2;
23769 : reg3 = reg6;
23770 : operands[6] = operands[3];
23771 : }
23772 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
23773 : STRIP_UNARY (operands[3])))
23774 : {
23775 : reg4 = reg6;
23776 : reg3 = reg1;
23777 : operands[6] = operands[4];
23778 : }
23779 : else
23780 : {
23781 : reg4 = reg6;
23782 : reg3 = reg2;
23783 : operands[6] = operands[4];
23784 : }
23785 :
23786 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
23787 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
23788 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
23789 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
23790 :
23791 : tmp1 = reg1 | reg2;
23792 : tmp2 = tmp1 & reg3;
23793 : reg_mask = tmp2 ^ reg4;
23794 : reg_mask &= 0xFF;
23795 :
23796 : operands[1] = STRIP_UNARY (operands[1]);
23797 : operands[2] = STRIP_UNARY (operands[2]);
23798 : operands[6] = STRIP_UNARY (operands[6]);
23799 : operands[5] = GEN_INT (reg_mask);
23800 : if (!register_operand (operands[2], V8HImode))
23801 : operands[2] = force_reg (V8HImode, operands[2]);
23802 : if (!register_operand (operands[6], V8HImode))
23803 : operands[6] = force_reg (V8HImode, operands[6]);
23804 :
23805 : }
23806 : #undef DONE
23807 : #undef FAIL
23808 : static const uint8_t expand_encoding[] = {
23809 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x50, 0x04, 0x01,
23810 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
23811 : 0x25
23812 : };
23813 : return complete_seq (expand_encoding, operands);
23814 : }
23815 :
23816 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
23817 : extern rtx_insn *gen_split_2531 (rtx_insn *, rtx *);
23818 : rtx_insn *
23819 : gen_split_2531 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
23820 : {
23821 : if (dump_file)
23822 : fprintf (dump_file, "Splitting with gen_split_2531 (sse.md:14227)\n");
23823 : start_sequence ();
23824 : #define FAIL return (end_sequence (), nullptr)
23825 : #define DONE return end_sequence ()
23826 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23827 : {
23828 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
23829 : int reg6 = 0xF0;
23830 : int reg2 = 0xCC;
23831 : int reg1 = 0xAA;
23832 : int reg3 = 0;
23833 : int reg4 = 0;
23834 : int reg_mask, tmp1, tmp2;
23835 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
23836 : STRIP_UNARY (operands[4])))
23837 : {
23838 : reg4 = reg1;
23839 : reg3 = reg6;
23840 : operands[6] = operands[3];
23841 : }
23842 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
23843 : STRIP_UNARY (operands[4])))
23844 : {
23845 : reg4 = reg2;
23846 : reg3 = reg6;
23847 : operands[6] = operands[3];
23848 : }
23849 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
23850 : STRIP_UNARY (operands[3])))
23851 : {
23852 : reg4 = reg6;
23853 : reg3 = reg1;
23854 : operands[6] = operands[4];
23855 : }
23856 : else
23857 : {
23858 : reg4 = reg6;
23859 : reg3 = reg2;
23860 : operands[6] = operands[4];
23861 : }
23862 :
23863 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
23864 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
23865 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
23866 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
23867 :
23868 : tmp1 = reg1 ^ reg2;
23869 : tmp2 = tmp1 | reg3;
23870 : reg_mask = tmp2 & reg4;
23871 : reg_mask &= 0xFF;
23872 :
23873 : operands[1] = STRIP_UNARY (operands[1]);
23874 : operands[2] = STRIP_UNARY (operands[2]);
23875 : operands[6] = STRIP_UNARY (operands[6]);
23876 : operands[5] = GEN_INT (reg_mask);
23877 : if (!register_operand (operands[2], V8HImode))
23878 : operands[2] = force_reg (V8HImode, operands[2]);
23879 : if (!register_operand (operands[6], V8HImode))
23880 : operands[6] = force_reg (V8HImode, operands[6]);
23881 :
23882 : }
23883 : #undef DONE
23884 : #undef FAIL
23885 : static const uint8_t expand_encoding[] = {
23886 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x50, 0x04, 0x01,
23887 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
23888 : 0x25
23889 : };
23890 : return complete_seq (expand_encoding, operands);
23891 : }
23892 :
23893 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
23894 : extern rtx_insn *gen_split_2541 (rtx_insn *, rtx *);
23895 : rtx_insn *
23896 : gen_split_2541 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
23897 : {
23898 : if (dump_file)
23899 : fprintf (dump_file, "Splitting with gen_split_2541 (sse.md:14227)\n");
23900 : start_sequence ();
23901 : #define FAIL return (end_sequence (), nullptr)
23902 : #define DONE return end_sequence ()
23903 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23904 : {
23905 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
23906 : int reg6 = 0xF0;
23907 : int reg2 = 0xCC;
23908 : int reg1 = 0xAA;
23909 : int reg3 = 0;
23910 : int reg4 = 0;
23911 : int reg_mask, tmp1, tmp2;
23912 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
23913 : STRIP_UNARY (operands[4])))
23914 : {
23915 : reg4 = reg1;
23916 : reg3 = reg6;
23917 : operands[6] = operands[3];
23918 : }
23919 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
23920 : STRIP_UNARY (operands[4])))
23921 : {
23922 : reg4 = reg2;
23923 : reg3 = reg6;
23924 : operands[6] = operands[3];
23925 : }
23926 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
23927 : STRIP_UNARY (operands[3])))
23928 : {
23929 : reg4 = reg6;
23930 : reg3 = reg1;
23931 : operands[6] = operands[4];
23932 : }
23933 : else
23934 : {
23935 : reg4 = reg6;
23936 : reg3 = reg2;
23937 : operands[6] = operands[4];
23938 : }
23939 :
23940 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
23941 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
23942 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
23943 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
23944 :
23945 : tmp1 = reg1 ^ reg2;
23946 : tmp2 = tmp1 ^ reg3;
23947 : reg_mask = tmp2 | reg4;
23948 : reg_mask &= 0xFF;
23949 :
23950 : operands[1] = STRIP_UNARY (operands[1]);
23951 : operands[2] = STRIP_UNARY (operands[2]);
23952 : operands[6] = STRIP_UNARY (operands[6]);
23953 : operands[5] = GEN_INT (reg_mask);
23954 : if (!register_operand (operands[2], V8HImode))
23955 : operands[2] = force_reg (V8HImode, operands[2]);
23956 : if (!register_operand (operands[6], V8HImode))
23957 : operands[6] = force_reg (V8HImode, operands[6]);
23958 :
23959 : }
23960 : #undef DONE
23961 : #undef FAIL
23962 : static const uint8_t expand_encoding[] = {
23963 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x50, 0x04, 0x01,
23964 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
23965 : 0x25
23966 : };
23967 : return complete_seq (expand_encoding, operands);
23968 : }
23969 :
23970 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
23971 : extern rtx_insn *gen_split_2551 (rtx_insn *, rtx *);
23972 : rtx_insn *
23973 : gen_split_2551 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
23974 : {
23975 : if (dump_file)
23976 : fprintf (dump_file, "Splitting with gen_split_2551 (sse.md:14227)\n");
23977 : start_sequence ();
23978 : #define FAIL return (end_sequence (), nullptr)
23979 : #define DONE return end_sequence ()
23980 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23981 : {
23982 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
23983 : int reg6 = 0xF0;
23984 : int reg2 = 0xCC;
23985 : int reg1 = 0xAA;
23986 : int reg3 = 0;
23987 : int reg4 = 0;
23988 : int reg_mask, tmp1, tmp2;
23989 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
23990 : STRIP_UNARY (operands[4])))
23991 : {
23992 : reg4 = reg1;
23993 : reg3 = reg6;
23994 : operands[6] = operands[3];
23995 : }
23996 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
23997 : STRIP_UNARY (operands[4])))
23998 : {
23999 : reg4 = reg2;
24000 : reg3 = reg6;
24001 : operands[6] = operands[3];
24002 : }
24003 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
24004 : STRIP_UNARY (operands[3])))
24005 : {
24006 : reg4 = reg6;
24007 : reg3 = reg1;
24008 : operands[6] = operands[4];
24009 : }
24010 : else
24011 : {
24012 : reg4 = reg6;
24013 : reg3 = reg2;
24014 : operands[6] = operands[4];
24015 : }
24016 :
24017 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
24018 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
24019 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
24020 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
24021 :
24022 : tmp1 = reg1 ^ reg2;
24023 : tmp2 = tmp1 & reg3;
24024 : reg_mask = tmp2 ^ reg4;
24025 : reg_mask &= 0xFF;
24026 :
24027 : operands[1] = STRIP_UNARY (operands[1]);
24028 : operands[2] = STRIP_UNARY (operands[2]);
24029 : operands[6] = STRIP_UNARY (operands[6]);
24030 : operands[5] = GEN_INT (reg_mask);
24031 : if (!register_operand (operands[2], V16SImode))
24032 : operands[2] = force_reg (V16SImode, operands[2]);
24033 : if (!register_operand (operands[6], V16SImode))
24034 : operands[6] = force_reg (V16SImode, operands[6]);
24035 :
24036 : }
24037 : #undef DONE
24038 : #undef FAIL
24039 : static const uint8_t expand_encoding[] = {
24040 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x5b, 0x04, 0x01,
24041 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
24042 : 0x25
24043 : };
24044 : return complete_seq (expand_encoding, operands);
24045 : }
24046 :
24047 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
24048 : extern rtx_insn *gen_split_2561 (rtx_insn *, rtx *);
24049 : rtx_insn *
24050 : gen_split_2561 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
24051 : {
24052 : if (dump_file)
24053 : fprintf (dump_file, "Splitting with gen_split_2561 (sse.md:14227)\n");
24054 : start_sequence ();
24055 : #define FAIL return (end_sequence (), nullptr)
24056 : #define DONE return end_sequence ()
24057 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24058 : {
24059 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
24060 : int reg6 = 0xF0;
24061 : int reg2 = 0xCC;
24062 : int reg1 = 0xAA;
24063 : int reg3 = 0;
24064 : int reg4 = 0;
24065 : int reg_mask, tmp1, tmp2;
24066 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
24067 : STRIP_UNARY (operands[4])))
24068 : {
24069 : reg4 = reg1;
24070 : reg3 = reg6;
24071 : operands[6] = operands[3];
24072 : }
24073 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
24074 : STRIP_UNARY (operands[4])))
24075 : {
24076 : reg4 = reg2;
24077 : reg3 = reg6;
24078 : operands[6] = operands[3];
24079 : }
24080 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
24081 : STRIP_UNARY (operands[3])))
24082 : {
24083 : reg4 = reg6;
24084 : reg3 = reg1;
24085 : operands[6] = operands[4];
24086 : }
24087 : else
24088 : {
24089 : reg4 = reg6;
24090 : reg3 = reg2;
24091 : operands[6] = operands[4];
24092 : }
24093 :
24094 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
24095 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
24096 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
24097 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
24098 :
24099 : tmp1 = reg1 & reg2;
24100 : tmp2 = tmp1 ^ reg3;
24101 : reg_mask = tmp2 & reg4;
24102 : reg_mask &= 0xFF;
24103 :
24104 : operands[1] = STRIP_UNARY (operands[1]);
24105 : operands[2] = STRIP_UNARY (operands[2]);
24106 : operands[6] = STRIP_UNARY (operands[6]);
24107 : operands[5] = GEN_INT (reg_mask);
24108 : if (!register_operand (operands[2], V16SImode))
24109 : operands[2] = force_reg (V16SImode, operands[2]);
24110 : if (!register_operand (operands[6], V16SImode))
24111 : operands[6] = force_reg (V16SImode, operands[6]);
24112 :
24113 : }
24114 : #undef DONE
24115 : #undef FAIL
24116 : static const uint8_t expand_encoding[] = {
24117 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x5b, 0x04, 0x01,
24118 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
24119 : 0x25
24120 : };
24121 : return complete_seq (expand_encoding, operands);
24122 : }
24123 :
24124 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
24125 : extern rtx_insn *gen_split_2571 (rtx_insn *, rtx *);
24126 : rtx_insn *
24127 : gen_split_2571 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
24128 : {
24129 : if (dump_file)
24130 : fprintf (dump_file, "Splitting with gen_split_2571 (sse.md:14227)\n");
24131 : start_sequence ();
24132 : #define FAIL return (end_sequence (), nullptr)
24133 : #define DONE return end_sequence ()
24134 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24135 : {
24136 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
24137 : int reg6 = 0xF0;
24138 : int reg2 = 0xCC;
24139 : int reg1 = 0xAA;
24140 : int reg3 = 0;
24141 : int reg4 = 0;
24142 : int reg_mask, tmp1, tmp2;
24143 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
24144 : STRIP_UNARY (operands[4])))
24145 : {
24146 : reg4 = reg1;
24147 : reg3 = reg6;
24148 : operands[6] = operands[3];
24149 : }
24150 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
24151 : STRIP_UNARY (operands[4])))
24152 : {
24153 : reg4 = reg2;
24154 : reg3 = reg6;
24155 : operands[6] = operands[3];
24156 : }
24157 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
24158 : STRIP_UNARY (operands[3])))
24159 : {
24160 : reg4 = reg6;
24161 : reg3 = reg1;
24162 : operands[6] = operands[4];
24163 : }
24164 : else
24165 : {
24166 : reg4 = reg6;
24167 : reg3 = reg2;
24168 : operands[6] = operands[4];
24169 : }
24170 :
24171 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
24172 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
24173 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
24174 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
24175 :
24176 : tmp1 = reg1 & reg2;
24177 : tmp2 = tmp1 & reg3;
24178 : reg_mask = tmp2 | reg4;
24179 : reg_mask &= 0xFF;
24180 :
24181 : operands[1] = STRIP_UNARY (operands[1]);
24182 : operands[2] = STRIP_UNARY (operands[2]);
24183 : operands[6] = STRIP_UNARY (operands[6]);
24184 : operands[5] = GEN_INT (reg_mask);
24185 : if (!register_operand (operands[2], V8SImode))
24186 : operands[2] = force_reg (V8SImode, operands[2]);
24187 : if (!register_operand (operands[6], V8SImode))
24188 : operands[6] = force_reg (V8SImode, operands[6]);
24189 :
24190 : }
24191 : #undef DONE
24192 : #undef FAIL
24193 : static const uint8_t expand_encoding[] = {
24194 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x56, 0x04, 0x01,
24195 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
24196 : 0x25
24197 : };
24198 : return complete_seq (expand_encoding, operands);
24199 : }
24200 :
24201 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
24202 : extern rtx_insn *gen_split_2581 (rtx_insn *, rtx *);
24203 : rtx_insn *
24204 : gen_split_2581 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
24205 : {
24206 : if (dump_file)
24207 : fprintf (dump_file, "Splitting with gen_split_2581 (sse.md:14227)\n");
24208 : start_sequence ();
24209 : #define FAIL return (end_sequence (), nullptr)
24210 : #define DONE return end_sequence ()
24211 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24212 : {
24213 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
24214 : int reg6 = 0xF0;
24215 : int reg2 = 0xCC;
24216 : int reg1 = 0xAA;
24217 : int reg3 = 0;
24218 : int reg4 = 0;
24219 : int reg_mask, tmp1, tmp2;
24220 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
24221 : STRIP_UNARY (operands[4])))
24222 : {
24223 : reg4 = reg1;
24224 : reg3 = reg6;
24225 : operands[6] = operands[3];
24226 : }
24227 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
24228 : STRIP_UNARY (operands[4])))
24229 : {
24230 : reg4 = reg2;
24231 : reg3 = reg6;
24232 : operands[6] = operands[3];
24233 : }
24234 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
24235 : STRIP_UNARY (operands[3])))
24236 : {
24237 : reg4 = reg6;
24238 : reg3 = reg1;
24239 : operands[6] = operands[4];
24240 : }
24241 : else
24242 : {
24243 : reg4 = reg6;
24244 : reg3 = reg2;
24245 : operands[6] = operands[4];
24246 : }
24247 :
24248 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
24249 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
24250 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
24251 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
24252 :
24253 : tmp1 = reg1 & reg2;
24254 : tmp2 = tmp1 | reg3;
24255 : reg_mask = tmp2 ^ reg4;
24256 : reg_mask &= 0xFF;
24257 :
24258 : operands[1] = STRIP_UNARY (operands[1]);
24259 : operands[2] = STRIP_UNARY (operands[2]);
24260 : operands[6] = STRIP_UNARY (operands[6]);
24261 : operands[5] = GEN_INT (reg_mask);
24262 : if (!register_operand (operands[2], V8SImode))
24263 : operands[2] = force_reg (V8SImode, operands[2]);
24264 : if (!register_operand (operands[6], V8SImode))
24265 : operands[6] = force_reg (V8SImode, operands[6]);
24266 :
24267 : }
24268 : #undef DONE
24269 : #undef FAIL
24270 : static const uint8_t expand_encoding[] = {
24271 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x56, 0x04, 0x01,
24272 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
24273 : 0x25
24274 : };
24275 : return complete_seq (expand_encoding, operands);
24276 : }
24277 :
24278 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
24279 : extern rtx_insn *gen_split_2591 (rtx_insn *, rtx *);
24280 : rtx_insn *
24281 : gen_split_2591 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
24282 : {
24283 : if (dump_file)
24284 : fprintf (dump_file, "Splitting with gen_split_2591 (sse.md:14227)\n");
24285 : start_sequence ();
24286 : #define FAIL return (end_sequence (), nullptr)
24287 : #define DONE return end_sequence ()
24288 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24289 : {
24290 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
24291 : int reg6 = 0xF0;
24292 : int reg2 = 0xCC;
24293 : int reg1 = 0xAA;
24294 : int reg3 = 0;
24295 : int reg4 = 0;
24296 : int reg_mask, tmp1, tmp2;
24297 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
24298 : STRIP_UNARY (operands[4])))
24299 : {
24300 : reg4 = reg1;
24301 : reg3 = reg6;
24302 : operands[6] = operands[3];
24303 : }
24304 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
24305 : STRIP_UNARY (operands[4])))
24306 : {
24307 : reg4 = reg2;
24308 : reg3 = reg6;
24309 : operands[6] = operands[3];
24310 : }
24311 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
24312 : STRIP_UNARY (operands[3])))
24313 : {
24314 : reg4 = reg6;
24315 : reg3 = reg1;
24316 : operands[6] = operands[4];
24317 : }
24318 : else
24319 : {
24320 : reg4 = reg6;
24321 : reg3 = reg2;
24322 : operands[6] = operands[4];
24323 : }
24324 :
24325 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
24326 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
24327 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
24328 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
24329 :
24330 : tmp1 = reg1 | reg2;
24331 : tmp2 = tmp1 ^ reg3;
24332 : reg_mask = tmp2 & reg4;
24333 : reg_mask &= 0xFF;
24334 :
24335 : operands[1] = STRIP_UNARY (operands[1]);
24336 : operands[2] = STRIP_UNARY (operands[2]);
24337 : operands[6] = STRIP_UNARY (operands[6]);
24338 : operands[5] = GEN_INT (reg_mask);
24339 : if (!register_operand (operands[2], V8SImode))
24340 : operands[2] = force_reg (V8SImode, operands[2]);
24341 : if (!register_operand (operands[6], V8SImode))
24342 : operands[6] = force_reg (V8SImode, operands[6]);
24343 :
24344 : }
24345 : #undef DONE
24346 : #undef FAIL
24347 : static const uint8_t expand_encoding[] = {
24348 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x56, 0x04, 0x01,
24349 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
24350 : 0x25
24351 : };
24352 : return complete_seq (expand_encoding, operands);
24353 : }
24354 :
24355 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
24356 : extern rtx_insn *gen_split_2601 (rtx_insn *, rtx *);
24357 : rtx_insn *
24358 : gen_split_2601 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
24359 : {
24360 : if (dump_file)
24361 : fprintf (dump_file, "Splitting with gen_split_2601 (sse.md:14227)\n");
24362 : start_sequence ();
24363 : #define FAIL return (end_sequence (), nullptr)
24364 : #define DONE return end_sequence ()
24365 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24366 : {
24367 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
24368 : int reg6 = 0xF0;
24369 : int reg2 = 0xCC;
24370 : int reg1 = 0xAA;
24371 : int reg3 = 0;
24372 : int reg4 = 0;
24373 : int reg_mask, tmp1, tmp2;
24374 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
24375 : STRIP_UNARY (operands[4])))
24376 : {
24377 : reg4 = reg1;
24378 : reg3 = reg6;
24379 : operands[6] = operands[3];
24380 : }
24381 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
24382 : STRIP_UNARY (operands[4])))
24383 : {
24384 : reg4 = reg2;
24385 : reg3 = reg6;
24386 : operands[6] = operands[3];
24387 : }
24388 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
24389 : STRIP_UNARY (operands[3])))
24390 : {
24391 : reg4 = reg6;
24392 : reg3 = reg1;
24393 : operands[6] = operands[4];
24394 : }
24395 : else
24396 : {
24397 : reg4 = reg6;
24398 : reg3 = reg2;
24399 : operands[6] = operands[4];
24400 : }
24401 :
24402 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
24403 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
24404 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
24405 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
24406 :
24407 : tmp1 = reg1 | reg2;
24408 : tmp2 = tmp1 & reg3;
24409 : reg_mask = tmp2 | reg4;
24410 : reg_mask &= 0xFF;
24411 :
24412 : operands[1] = STRIP_UNARY (operands[1]);
24413 : operands[2] = STRIP_UNARY (operands[2]);
24414 : operands[6] = STRIP_UNARY (operands[6]);
24415 : operands[5] = GEN_INT (reg_mask);
24416 : if (!register_operand (operands[2], V4SImode))
24417 : operands[2] = force_reg (V4SImode, operands[2]);
24418 : if (!register_operand (operands[6], V4SImode))
24419 : operands[6] = force_reg (V4SImode, operands[6]);
24420 :
24421 : }
24422 : #undef DONE
24423 : #undef FAIL
24424 : static const uint8_t expand_encoding[] = {
24425 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x51, 0x04, 0x01,
24426 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
24427 : 0x25
24428 : };
24429 : return complete_seq (expand_encoding, operands);
24430 : }
24431 :
24432 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
24433 : extern rtx_insn *gen_split_2611 (rtx_insn *, rtx *);
24434 : rtx_insn *
24435 : gen_split_2611 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
24436 : {
24437 : if (dump_file)
24438 : fprintf (dump_file, "Splitting with gen_split_2611 (sse.md:14227)\n");
24439 : start_sequence ();
24440 : #define FAIL return (end_sequence (), nullptr)
24441 : #define DONE return end_sequence ()
24442 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24443 : {
24444 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
24445 : int reg6 = 0xF0;
24446 : int reg2 = 0xCC;
24447 : int reg1 = 0xAA;
24448 : int reg3 = 0;
24449 : int reg4 = 0;
24450 : int reg_mask, tmp1, tmp2;
24451 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
24452 : STRIP_UNARY (operands[4])))
24453 : {
24454 : reg4 = reg1;
24455 : reg3 = reg6;
24456 : operands[6] = operands[3];
24457 : }
24458 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
24459 : STRIP_UNARY (operands[4])))
24460 : {
24461 : reg4 = reg2;
24462 : reg3 = reg6;
24463 : operands[6] = operands[3];
24464 : }
24465 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
24466 : STRIP_UNARY (operands[3])))
24467 : {
24468 : reg4 = reg6;
24469 : reg3 = reg1;
24470 : operands[6] = operands[4];
24471 : }
24472 : else
24473 : {
24474 : reg4 = reg6;
24475 : reg3 = reg2;
24476 : operands[6] = operands[4];
24477 : }
24478 :
24479 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
24480 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
24481 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
24482 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
24483 :
24484 : tmp1 = reg1 | reg2;
24485 : tmp2 = tmp1 | reg3;
24486 : reg_mask = tmp2 ^ reg4;
24487 : reg_mask &= 0xFF;
24488 :
24489 : operands[1] = STRIP_UNARY (operands[1]);
24490 : operands[2] = STRIP_UNARY (operands[2]);
24491 : operands[6] = STRIP_UNARY (operands[6]);
24492 : operands[5] = GEN_INT (reg_mask);
24493 : if (!register_operand (operands[2], V4SImode))
24494 : operands[2] = force_reg (V4SImode, operands[2]);
24495 : if (!register_operand (operands[6], V4SImode))
24496 : operands[6] = force_reg (V4SImode, operands[6]);
24497 :
24498 : }
24499 : #undef DONE
24500 : #undef FAIL
24501 : static const uint8_t expand_encoding[] = {
24502 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x51, 0x04, 0x01,
24503 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
24504 : 0x25
24505 : };
24506 : return complete_seq (expand_encoding, operands);
24507 : }
24508 :
24509 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
24510 : extern rtx_insn *gen_split_2621 (rtx_insn *, rtx *);
24511 : rtx_insn *
24512 : gen_split_2621 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
24513 : {
24514 : if (dump_file)
24515 : fprintf (dump_file, "Splitting with gen_split_2621 (sse.md:14227)\n");
24516 : start_sequence ();
24517 : #define FAIL return (end_sequence (), nullptr)
24518 : #define DONE return end_sequence ()
24519 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24520 : {
24521 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
24522 : int reg6 = 0xF0;
24523 : int reg2 = 0xCC;
24524 : int reg1 = 0xAA;
24525 : int reg3 = 0;
24526 : int reg4 = 0;
24527 : int reg_mask, tmp1, tmp2;
24528 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
24529 : STRIP_UNARY (operands[4])))
24530 : {
24531 : reg4 = reg1;
24532 : reg3 = reg6;
24533 : operands[6] = operands[3];
24534 : }
24535 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
24536 : STRIP_UNARY (operands[4])))
24537 : {
24538 : reg4 = reg2;
24539 : reg3 = reg6;
24540 : operands[6] = operands[3];
24541 : }
24542 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
24543 : STRIP_UNARY (operands[3])))
24544 : {
24545 : reg4 = reg6;
24546 : reg3 = reg1;
24547 : operands[6] = operands[4];
24548 : }
24549 : else
24550 : {
24551 : reg4 = reg6;
24552 : reg3 = reg2;
24553 : operands[6] = operands[4];
24554 : }
24555 :
24556 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
24557 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
24558 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
24559 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
24560 :
24561 : tmp1 = reg1 ^ reg2;
24562 : tmp2 = tmp1 ^ reg3;
24563 : reg_mask = tmp2 & reg4;
24564 : reg_mask &= 0xFF;
24565 :
24566 : operands[1] = STRIP_UNARY (operands[1]);
24567 : operands[2] = STRIP_UNARY (operands[2]);
24568 : operands[6] = STRIP_UNARY (operands[6]);
24569 : operands[5] = GEN_INT (reg_mask);
24570 : if (!register_operand (operands[2], V4SImode))
24571 : operands[2] = force_reg (V4SImode, operands[2]);
24572 : if (!register_operand (operands[6], V4SImode))
24573 : operands[6] = force_reg (V4SImode, operands[6]);
24574 :
24575 : }
24576 : #undef DONE
24577 : #undef FAIL
24578 : static const uint8_t expand_encoding[] = {
24579 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x51, 0x04, 0x01,
24580 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
24581 : 0x25
24582 : };
24583 : return complete_seq (expand_encoding, operands);
24584 : }
24585 :
24586 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
24587 : extern rtx_insn *gen_split_2631 (rtx_insn *, rtx *);
24588 : rtx_insn *
24589 : gen_split_2631 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
24590 : {
24591 : if (dump_file)
24592 : fprintf (dump_file, "Splitting with gen_split_2631 (sse.md:14227)\n");
24593 : start_sequence ();
24594 : #define FAIL return (end_sequence (), nullptr)
24595 : #define DONE return end_sequence ()
24596 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24597 : {
24598 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
24599 : int reg6 = 0xF0;
24600 : int reg2 = 0xCC;
24601 : int reg1 = 0xAA;
24602 : int reg3 = 0;
24603 : int reg4 = 0;
24604 : int reg_mask, tmp1, tmp2;
24605 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
24606 : STRIP_UNARY (operands[4])))
24607 : {
24608 : reg4 = reg1;
24609 : reg3 = reg6;
24610 : operands[6] = operands[3];
24611 : }
24612 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
24613 : STRIP_UNARY (operands[4])))
24614 : {
24615 : reg4 = reg2;
24616 : reg3 = reg6;
24617 : operands[6] = operands[3];
24618 : }
24619 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
24620 : STRIP_UNARY (operands[3])))
24621 : {
24622 : reg4 = reg6;
24623 : reg3 = reg1;
24624 : operands[6] = operands[4];
24625 : }
24626 : else
24627 : {
24628 : reg4 = reg6;
24629 : reg3 = reg2;
24630 : operands[6] = operands[4];
24631 : }
24632 :
24633 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
24634 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
24635 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
24636 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
24637 :
24638 : tmp1 = reg1 ^ reg2;
24639 : tmp2 = tmp1 & reg3;
24640 : reg_mask = tmp2 | reg4;
24641 : reg_mask &= 0xFF;
24642 :
24643 : operands[1] = STRIP_UNARY (operands[1]);
24644 : operands[2] = STRIP_UNARY (operands[2]);
24645 : operands[6] = STRIP_UNARY (operands[6]);
24646 : operands[5] = GEN_INT (reg_mask);
24647 : if (!register_operand (operands[2], V8DImode))
24648 : operands[2] = force_reg (V8DImode, operands[2]);
24649 : if (!register_operand (operands[6], V8DImode))
24650 : operands[6] = force_reg (V8DImode, operands[6]);
24651 :
24652 : }
24653 : #undef DONE
24654 : #undef FAIL
24655 : static const uint8_t expand_encoding[] = {
24656 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x5c, 0x04, 0x01,
24657 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
24658 : 0x25
24659 : };
24660 : return complete_seq (expand_encoding, operands);
24661 : }
24662 :
24663 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
24664 : extern rtx_insn *gen_split_2641 (rtx_insn *, rtx *);
24665 : rtx_insn *
24666 : gen_split_2641 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
24667 : {
24668 : if (dump_file)
24669 : fprintf (dump_file, "Splitting with gen_split_2641 (sse.md:14227)\n");
24670 : start_sequence ();
24671 : #define FAIL return (end_sequence (), nullptr)
24672 : #define DONE return end_sequence ()
24673 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24674 : {
24675 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
24676 : int reg6 = 0xF0;
24677 : int reg2 = 0xCC;
24678 : int reg1 = 0xAA;
24679 : int reg3 = 0;
24680 : int reg4 = 0;
24681 : int reg_mask, tmp1, tmp2;
24682 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
24683 : STRIP_UNARY (operands[4])))
24684 : {
24685 : reg4 = reg1;
24686 : reg3 = reg6;
24687 : operands[6] = operands[3];
24688 : }
24689 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
24690 : STRIP_UNARY (operands[4])))
24691 : {
24692 : reg4 = reg2;
24693 : reg3 = reg6;
24694 : operands[6] = operands[3];
24695 : }
24696 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
24697 : STRIP_UNARY (operands[3])))
24698 : {
24699 : reg4 = reg6;
24700 : reg3 = reg1;
24701 : operands[6] = operands[4];
24702 : }
24703 : else
24704 : {
24705 : reg4 = reg6;
24706 : reg3 = reg2;
24707 : operands[6] = operands[4];
24708 : }
24709 :
24710 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
24711 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
24712 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
24713 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
24714 :
24715 : tmp1 = reg1 ^ reg2;
24716 : tmp2 = tmp1 | reg3;
24717 : reg_mask = tmp2 ^ reg4;
24718 : reg_mask &= 0xFF;
24719 :
24720 : operands[1] = STRIP_UNARY (operands[1]);
24721 : operands[2] = STRIP_UNARY (operands[2]);
24722 : operands[6] = STRIP_UNARY (operands[6]);
24723 : operands[5] = GEN_INT (reg_mask);
24724 : if (!register_operand (operands[2], V8DImode))
24725 : operands[2] = force_reg (V8DImode, operands[2]);
24726 : if (!register_operand (operands[6], V8DImode))
24727 : operands[6] = force_reg (V8DImode, operands[6]);
24728 :
24729 : }
24730 : #undef DONE
24731 : #undef FAIL
24732 : static const uint8_t expand_encoding[] = {
24733 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x5c, 0x04, 0x01,
24734 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
24735 : 0x25
24736 : };
24737 : return complete_seq (expand_encoding, operands);
24738 : }
24739 :
24740 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
24741 : extern rtx_insn *gen_split_2651 (rtx_insn *, rtx *);
24742 : rtx_insn *
24743 : gen_split_2651 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
24744 : {
24745 : if (dump_file)
24746 : fprintf (dump_file, "Splitting with gen_split_2651 (sse.md:14227)\n");
24747 : start_sequence ();
24748 : #define FAIL return (end_sequence (), nullptr)
24749 : #define DONE return end_sequence ()
24750 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24751 : {
24752 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
24753 : int reg6 = 0xF0;
24754 : int reg2 = 0xCC;
24755 : int reg1 = 0xAA;
24756 : int reg3 = 0;
24757 : int reg4 = 0;
24758 : int reg_mask, tmp1, tmp2;
24759 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
24760 : STRIP_UNARY (operands[4])))
24761 : {
24762 : reg4 = reg1;
24763 : reg3 = reg6;
24764 : operands[6] = operands[3];
24765 : }
24766 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
24767 : STRIP_UNARY (operands[4])))
24768 : {
24769 : reg4 = reg2;
24770 : reg3 = reg6;
24771 : operands[6] = operands[3];
24772 : }
24773 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
24774 : STRIP_UNARY (operands[3])))
24775 : {
24776 : reg4 = reg6;
24777 : reg3 = reg1;
24778 : operands[6] = operands[4];
24779 : }
24780 : else
24781 : {
24782 : reg4 = reg6;
24783 : reg3 = reg2;
24784 : operands[6] = operands[4];
24785 : }
24786 :
24787 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
24788 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
24789 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
24790 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
24791 :
24792 : tmp1 = reg1 & reg2;
24793 : tmp2 = tmp1 & reg3;
24794 : reg_mask = tmp2 & reg4;
24795 : reg_mask &= 0xFF;
24796 :
24797 : operands[1] = STRIP_UNARY (operands[1]);
24798 : operands[2] = STRIP_UNARY (operands[2]);
24799 : operands[6] = STRIP_UNARY (operands[6]);
24800 : operands[5] = GEN_INT (reg_mask);
24801 : if (!register_operand (operands[2], V4DImode))
24802 : operands[2] = force_reg (V4DImode, operands[2]);
24803 : if (!register_operand (operands[6], V4DImode))
24804 : operands[6] = force_reg (V4DImode, operands[6]);
24805 :
24806 : }
24807 : #undef DONE
24808 : #undef FAIL
24809 : static const uint8_t expand_encoding[] = {
24810 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x57, 0x04, 0x01,
24811 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
24812 : 0x25
24813 : };
24814 : return complete_seq (expand_encoding, operands);
24815 : }
24816 :
24817 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
24818 : extern rtx_insn *gen_split_2661 (rtx_insn *, rtx *);
24819 : rtx_insn *
24820 : gen_split_2661 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
24821 : {
24822 : if (dump_file)
24823 : fprintf (dump_file, "Splitting with gen_split_2661 (sse.md:14227)\n");
24824 : start_sequence ();
24825 : #define FAIL return (end_sequence (), nullptr)
24826 : #define DONE return end_sequence ()
24827 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24828 : {
24829 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
24830 : int reg6 = 0xF0;
24831 : int reg2 = 0xCC;
24832 : int reg1 = 0xAA;
24833 : int reg3 = 0;
24834 : int reg4 = 0;
24835 : int reg_mask, tmp1, tmp2;
24836 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
24837 : STRIP_UNARY (operands[4])))
24838 : {
24839 : reg4 = reg1;
24840 : reg3 = reg6;
24841 : operands[6] = operands[3];
24842 : }
24843 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
24844 : STRIP_UNARY (operands[4])))
24845 : {
24846 : reg4 = reg2;
24847 : reg3 = reg6;
24848 : operands[6] = operands[3];
24849 : }
24850 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
24851 : STRIP_UNARY (operands[3])))
24852 : {
24853 : reg4 = reg6;
24854 : reg3 = reg1;
24855 : operands[6] = operands[4];
24856 : }
24857 : else
24858 : {
24859 : reg4 = reg6;
24860 : reg3 = reg2;
24861 : operands[6] = operands[4];
24862 : }
24863 :
24864 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
24865 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
24866 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
24867 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
24868 :
24869 : tmp1 = reg1 & reg2;
24870 : tmp2 = tmp1 | reg3;
24871 : reg_mask = tmp2 | reg4;
24872 : reg_mask &= 0xFF;
24873 :
24874 : operands[1] = STRIP_UNARY (operands[1]);
24875 : operands[2] = STRIP_UNARY (operands[2]);
24876 : operands[6] = STRIP_UNARY (operands[6]);
24877 : operands[5] = GEN_INT (reg_mask);
24878 : if (!register_operand (operands[2], V4DImode))
24879 : operands[2] = force_reg (V4DImode, operands[2]);
24880 : if (!register_operand (operands[6], V4DImode))
24881 : operands[6] = force_reg (V4DImode, operands[6]);
24882 :
24883 : }
24884 : #undef DONE
24885 : #undef FAIL
24886 : static const uint8_t expand_encoding[] = {
24887 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x57, 0x04, 0x01,
24888 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
24889 : 0x25
24890 : };
24891 : return complete_seq (expand_encoding, operands);
24892 : }
24893 :
24894 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
24895 : extern rtx_insn *gen_split_2671 (rtx_insn *, rtx *);
24896 : rtx_insn *
24897 : gen_split_2671 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
24898 : {
24899 : if (dump_file)
24900 : fprintf (dump_file, "Splitting with gen_split_2671 (sse.md:14227)\n");
24901 : start_sequence ();
24902 : #define FAIL return (end_sequence (), nullptr)
24903 : #define DONE return end_sequence ()
24904 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24905 : {
24906 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
24907 : int reg6 = 0xF0;
24908 : int reg2 = 0xCC;
24909 : int reg1 = 0xAA;
24910 : int reg3 = 0;
24911 : int reg4 = 0;
24912 : int reg_mask, tmp1, tmp2;
24913 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
24914 : STRIP_UNARY (operands[4])))
24915 : {
24916 : reg4 = reg1;
24917 : reg3 = reg6;
24918 : operands[6] = operands[3];
24919 : }
24920 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
24921 : STRIP_UNARY (operands[4])))
24922 : {
24923 : reg4 = reg2;
24924 : reg3 = reg6;
24925 : operands[6] = operands[3];
24926 : }
24927 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
24928 : STRIP_UNARY (operands[3])))
24929 : {
24930 : reg4 = reg6;
24931 : reg3 = reg1;
24932 : operands[6] = operands[4];
24933 : }
24934 : else
24935 : {
24936 : reg4 = reg6;
24937 : reg3 = reg2;
24938 : operands[6] = operands[4];
24939 : }
24940 :
24941 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
24942 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
24943 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
24944 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
24945 :
24946 : tmp1 = reg1 & reg2;
24947 : tmp2 = tmp1 ^ reg3;
24948 : reg_mask = tmp2 ^ reg4;
24949 : reg_mask &= 0xFF;
24950 :
24951 : operands[1] = STRIP_UNARY (operands[1]);
24952 : operands[2] = STRIP_UNARY (operands[2]);
24953 : operands[6] = STRIP_UNARY (operands[6]);
24954 : operands[5] = GEN_INT (reg_mask);
24955 : if (!register_operand (operands[2], V4DImode))
24956 : operands[2] = force_reg (V4DImode, operands[2]);
24957 : if (!register_operand (operands[6], V4DImode))
24958 : operands[6] = force_reg (V4DImode, operands[6]);
24959 :
24960 : }
24961 : #undef DONE
24962 : #undef FAIL
24963 : static const uint8_t expand_encoding[] = {
24964 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x57, 0x04, 0x01,
24965 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
24966 : 0x25
24967 : };
24968 : return complete_seq (expand_encoding, operands);
24969 : }
24970 :
24971 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
24972 : extern rtx_insn *gen_split_2681 (rtx_insn *, rtx *);
24973 : rtx_insn *
24974 : gen_split_2681 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
24975 : {
24976 : if (dump_file)
24977 : fprintf (dump_file, "Splitting with gen_split_2681 (sse.md:14227)\n");
24978 : start_sequence ();
24979 : #define FAIL return (end_sequence (), nullptr)
24980 : #define DONE return end_sequence ()
24981 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24982 : {
24983 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
24984 : int reg6 = 0xF0;
24985 : int reg2 = 0xCC;
24986 : int reg1 = 0xAA;
24987 : int reg3 = 0;
24988 : int reg4 = 0;
24989 : int reg_mask, tmp1, tmp2;
24990 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
24991 : STRIP_UNARY (operands[4])))
24992 : {
24993 : reg4 = reg1;
24994 : reg3 = reg6;
24995 : operands[6] = operands[3];
24996 : }
24997 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
24998 : STRIP_UNARY (operands[4])))
24999 : {
25000 : reg4 = reg2;
25001 : reg3 = reg6;
25002 : operands[6] = operands[3];
25003 : }
25004 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
25005 : STRIP_UNARY (operands[3])))
25006 : {
25007 : reg4 = reg6;
25008 : reg3 = reg1;
25009 : operands[6] = operands[4];
25010 : }
25011 : else
25012 : {
25013 : reg4 = reg6;
25014 : reg3 = reg2;
25015 : operands[6] = operands[4];
25016 : }
25017 :
25018 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
25019 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
25020 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
25021 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
25022 :
25023 : tmp1 = reg1 | reg2;
25024 : tmp2 = tmp1 & reg3;
25025 : reg_mask = tmp2 & reg4;
25026 : reg_mask &= 0xFF;
25027 :
25028 : operands[1] = STRIP_UNARY (operands[1]);
25029 : operands[2] = STRIP_UNARY (operands[2]);
25030 : operands[6] = STRIP_UNARY (operands[6]);
25031 : operands[5] = GEN_INT (reg_mask);
25032 : if (!register_operand (operands[2], V2DImode))
25033 : operands[2] = force_reg (V2DImode, operands[2]);
25034 : if (!register_operand (operands[6], V2DImode))
25035 : operands[6] = force_reg (V2DImode, operands[6]);
25036 :
25037 : }
25038 : #undef DONE
25039 : #undef FAIL
25040 : static const uint8_t expand_encoding[] = {
25041 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x52, 0x04, 0x01,
25042 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
25043 : 0x25
25044 : };
25045 : return complete_seq (expand_encoding, operands);
25046 : }
25047 :
25048 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
25049 : extern rtx_insn *gen_split_2691 (rtx_insn *, rtx *);
25050 : rtx_insn *
25051 : gen_split_2691 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
25052 : {
25053 : if (dump_file)
25054 : fprintf (dump_file, "Splitting with gen_split_2691 (sse.md:14227)\n");
25055 : start_sequence ();
25056 : #define FAIL return (end_sequence (), nullptr)
25057 : #define DONE return end_sequence ()
25058 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25059 : {
25060 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
25061 : int reg6 = 0xF0;
25062 : int reg2 = 0xCC;
25063 : int reg1 = 0xAA;
25064 : int reg3 = 0;
25065 : int reg4 = 0;
25066 : int reg_mask, tmp1, tmp2;
25067 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
25068 : STRIP_UNARY (operands[4])))
25069 : {
25070 : reg4 = reg1;
25071 : reg3 = reg6;
25072 : operands[6] = operands[3];
25073 : }
25074 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
25075 : STRIP_UNARY (operands[4])))
25076 : {
25077 : reg4 = reg2;
25078 : reg3 = reg6;
25079 : operands[6] = operands[3];
25080 : }
25081 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
25082 : STRIP_UNARY (operands[3])))
25083 : {
25084 : reg4 = reg6;
25085 : reg3 = reg1;
25086 : operands[6] = operands[4];
25087 : }
25088 : else
25089 : {
25090 : reg4 = reg6;
25091 : reg3 = reg2;
25092 : operands[6] = operands[4];
25093 : }
25094 :
25095 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
25096 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
25097 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
25098 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
25099 :
25100 : tmp1 = reg1 | reg2;
25101 : tmp2 = tmp1 | reg3;
25102 : reg_mask = tmp2 | reg4;
25103 : reg_mask &= 0xFF;
25104 :
25105 : operands[1] = STRIP_UNARY (operands[1]);
25106 : operands[2] = STRIP_UNARY (operands[2]);
25107 : operands[6] = STRIP_UNARY (operands[6]);
25108 : operands[5] = GEN_INT (reg_mask);
25109 : if (!register_operand (operands[2], V2DImode))
25110 : operands[2] = force_reg (V2DImode, operands[2]);
25111 : if (!register_operand (operands[6], V2DImode))
25112 : operands[6] = force_reg (V2DImode, operands[6]);
25113 :
25114 : }
25115 : #undef DONE
25116 : #undef FAIL
25117 : static const uint8_t expand_encoding[] = {
25118 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x52, 0x04, 0x01,
25119 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
25120 : 0x25
25121 : };
25122 : return complete_seq (expand_encoding, operands);
25123 : }
25124 :
25125 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
25126 : extern rtx_insn *gen_split_2701 (rtx_insn *, rtx *);
25127 : rtx_insn *
25128 : gen_split_2701 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
25129 : {
25130 : if (dump_file)
25131 : fprintf (dump_file, "Splitting with gen_split_2701 (sse.md:14227)\n");
25132 : start_sequence ();
25133 : #define FAIL return (end_sequence (), nullptr)
25134 : #define DONE return end_sequence ()
25135 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25136 : {
25137 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
25138 : int reg6 = 0xF0;
25139 : int reg2 = 0xCC;
25140 : int reg1 = 0xAA;
25141 : int reg3 = 0;
25142 : int reg4 = 0;
25143 : int reg_mask, tmp1, tmp2;
25144 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
25145 : STRIP_UNARY (operands[4])))
25146 : {
25147 : reg4 = reg1;
25148 : reg3 = reg6;
25149 : operands[6] = operands[3];
25150 : }
25151 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
25152 : STRIP_UNARY (operands[4])))
25153 : {
25154 : reg4 = reg2;
25155 : reg3 = reg6;
25156 : operands[6] = operands[3];
25157 : }
25158 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
25159 : STRIP_UNARY (operands[3])))
25160 : {
25161 : reg4 = reg6;
25162 : reg3 = reg1;
25163 : operands[6] = operands[4];
25164 : }
25165 : else
25166 : {
25167 : reg4 = reg6;
25168 : reg3 = reg2;
25169 : operands[6] = operands[4];
25170 : }
25171 :
25172 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
25173 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
25174 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
25175 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
25176 :
25177 : tmp1 = reg1 | reg2;
25178 : tmp2 = tmp1 ^ reg3;
25179 : reg_mask = tmp2 ^ reg4;
25180 : reg_mask &= 0xFF;
25181 :
25182 : operands[1] = STRIP_UNARY (operands[1]);
25183 : operands[2] = STRIP_UNARY (operands[2]);
25184 : operands[6] = STRIP_UNARY (operands[6]);
25185 : operands[5] = GEN_INT (reg_mask);
25186 : if (!register_operand (operands[2], V2DImode))
25187 : operands[2] = force_reg (V2DImode, operands[2]);
25188 : if (!register_operand (operands[6], V2DImode))
25189 : operands[6] = force_reg (V2DImode, operands[6]);
25190 :
25191 : }
25192 : #undef DONE
25193 : #undef FAIL
25194 : static const uint8_t expand_encoding[] = {
25195 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x52, 0x04, 0x01,
25196 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
25197 : 0x25
25198 : };
25199 : return complete_seq (expand_encoding, operands);
25200 : }
25201 :
25202 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
25203 : extern rtx_insn *gen_split_2711 (rtx_insn *, rtx *);
25204 : rtx_insn *
25205 : gen_split_2711 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
25206 : {
25207 : if (dump_file)
25208 : fprintf (dump_file, "Splitting with gen_split_2711 (sse.md:14227)\n");
25209 : start_sequence ();
25210 : #define FAIL return (end_sequence (), nullptr)
25211 : #define DONE return end_sequence ()
25212 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25213 : {
25214 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
25215 : int reg6 = 0xF0;
25216 : int reg2 = 0xCC;
25217 : int reg1 = 0xAA;
25218 : int reg3 = 0;
25219 : int reg4 = 0;
25220 : int reg_mask, tmp1, tmp2;
25221 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
25222 : STRIP_UNARY (operands[4])))
25223 : {
25224 : reg4 = reg1;
25225 : reg3 = reg6;
25226 : operands[6] = operands[3];
25227 : }
25228 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
25229 : STRIP_UNARY (operands[4])))
25230 : {
25231 : reg4 = reg2;
25232 : reg3 = reg6;
25233 : operands[6] = operands[3];
25234 : }
25235 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
25236 : STRIP_UNARY (operands[3])))
25237 : {
25238 : reg4 = reg6;
25239 : reg3 = reg1;
25240 : operands[6] = operands[4];
25241 : }
25242 : else
25243 : {
25244 : reg4 = reg6;
25245 : reg3 = reg2;
25246 : operands[6] = operands[4];
25247 : }
25248 :
25249 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
25250 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
25251 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
25252 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
25253 :
25254 : tmp1 = reg1 ^ reg2;
25255 : tmp2 = tmp1 & reg3;
25256 : reg_mask = tmp2 & reg4;
25257 : reg_mask &= 0xFF;
25258 :
25259 : operands[1] = STRIP_UNARY (operands[1]);
25260 : operands[2] = STRIP_UNARY (operands[2]);
25261 : operands[6] = STRIP_UNARY (operands[6]);
25262 : operands[5] = GEN_INT (reg_mask);
25263 : if (!register_operand (operands[2], V32HFmode))
25264 : operands[2] = force_reg (V32HFmode, operands[2]);
25265 : if (!register_operand (operands[6], V32HFmode))
25266 : operands[6] = force_reg (V32HFmode, operands[6]);
25267 :
25268 : }
25269 : #undef DONE
25270 : #undef FAIL
25271 : static const uint8_t expand_encoding[] = {
25272 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x73, 0x04, 0x01,
25273 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
25274 : 0x25
25275 : };
25276 : return complete_seq (expand_encoding, operands);
25277 : }
25278 :
25279 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
25280 : extern rtx_insn *gen_split_2721 (rtx_insn *, rtx *);
25281 : rtx_insn *
25282 : gen_split_2721 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
25283 : {
25284 : if (dump_file)
25285 : fprintf (dump_file, "Splitting with gen_split_2721 (sse.md:14227)\n");
25286 : start_sequence ();
25287 : #define FAIL return (end_sequence (), nullptr)
25288 : #define DONE return end_sequence ()
25289 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25290 : {
25291 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
25292 : int reg6 = 0xF0;
25293 : int reg2 = 0xCC;
25294 : int reg1 = 0xAA;
25295 : int reg3 = 0;
25296 : int reg4 = 0;
25297 : int reg_mask, tmp1, tmp2;
25298 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
25299 : STRIP_UNARY (operands[4])))
25300 : {
25301 : reg4 = reg1;
25302 : reg3 = reg6;
25303 : operands[6] = operands[3];
25304 : }
25305 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
25306 : STRIP_UNARY (operands[4])))
25307 : {
25308 : reg4 = reg2;
25309 : reg3 = reg6;
25310 : operands[6] = operands[3];
25311 : }
25312 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
25313 : STRIP_UNARY (operands[3])))
25314 : {
25315 : reg4 = reg6;
25316 : reg3 = reg1;
25317 : operands[6] = operands[4];
25318 : }
25319 : else
25320 : {
25321 : reg4 = reg6;
25322 : reg3 = reg2;
25323 : operands[6] = operands[4];
25324 : }
25325 :
25326 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
25327 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
25328 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
25329 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
25330 :
25331 : tmp1 = reg1 ^ reg2;
25332 : tmp2 = tmp1 | reg3;
25333 : reg_mask = tmp2 | reg4;
25334 : reg_mask &= 0xFF;
25335 :
25336 : operands[1] = STRIP_UNARY (operands[1]);
25337 : operands[2] = STRIP_UNARY (operands[2]);
25338 : operands[6] = STRIP_UNARY (operands[6]);
25339 : operands[5] = GEN_INT (reg_mask);
25340 : if (!register_operand (operands[2], V32HFmode))
25341 : operands[2] = force_reg (V32HFmode, operands[2]);
25342 : if (!register_operand (operands[6], V32HFmode))
25343 : operands[6] = force_reg (V32HFmode, operands[6]);
25344 :
25345 : }
25346 : #undef DONE
25347 : #undef FAIL
25348 : static const uint8_t expand_encoding[] = {
25349 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x73, 0x04, 0x01,
25350 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
25351 : 0x25
25352 : };
25353 : return complete_seq (expand_encoding, operands);
25354 : }
25355 :
25356 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
25357 : extern rtx_insn *gen_split_2731 (rtx_insn *, rtx *);
25358 : rtx_insn *
25359 : gen_split_2731 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
25360 : {
25361 : if (dump_file)
25362 : fprintf (dump_file, "Splitting with gen_split_2731 (sse.md:14227)\n");
25363 : start_sequence ();
25364 : #define FAIL return (end_sequence (), nullptr)
25365 : #define DONE return end_sequence ()
25366 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25367 : {
25368 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
25369 : int reg6 = 0xF0;
25370 : int reg2 = 0xCC;
25371 : int reg1 = 0xAA;
25372 : int reg3 = 0;
25373 : int reg4 = 0;
25374 : int reg_mask, tmp1, tmp2;
25375 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
25376 : STRIP_UNARY (operands[4])))
25377 : {
25378 : reg4 = reg1;
25379 : reg3 = reg6;
25380 : operands[6] = operands[3];
25381 : }
25382 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
25383 : STRIP_UNARY (operands[4])))
25384 : {
25385 : reg4 = reg2;
25386 : reg3 = reg6;
25387 : operands[6] = operands[3];
25388 : }
25389 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
25390 : STRIP_UNARY (operands[3])))
25391 : {
25392 : reg4 = reg6;
25393 : reg3 = reg1;
25394 : operands[6] = operands[4];
25395 : }
25396 : else
25397 : {
25398 : reg4 = reg6;
25399 : reg3 = reg2;
25400 : operands[6] = operands[4];
25401 : }
25402 :
25403 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
25404 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
25405 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
25406 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
25407 :
25408 : tmp1 = reg1 ^ reg2;
25409 : tmp2 = tmp1 ^ reg3;
25410 : reg_mask = tmp2 ^ reg4;
25411 : reg_mask &= 0xFF;
25412 :
25413 : operands[1] = STRIP_UNARY (operands[1]);
25414 : operands[2] = STRIP_UNARY (operands[2]);
25415 : operands[6] = STRIP_UNARY (operands[6]);
25416 : operands[5] = GEN_INT (reg_mask);
25417 : if (!register_operand (operands[2], V32HFmode))
25418 : operands[2] = force_reg (V32HFmode, operands[2]);
25419 : if (!register_operand (operands[6], V32HFmode))
25420 : operands[6] = force_reg (V32HFmode, operands[6]);
25421 :
25422 : }
25423 : #undef DONE
25424 : #undef FAIL
25425 : static const uint8_t expand_encoding[] = {
25426 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x73, 0x04, 0x01,
25427 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
25428 : 0x25
25429 : };
25430 : return complete_seq (expand_encoding, operands);
25431 : }
25432 :
25433 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
25434 : extern rtx_insn *gen_split_2741 (rtx_insn *, rtx *);
25435 : rtx_insn *
25436 : gen_split_2741 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
25437 : {
25438 : if (dump_file)
25439 : fprintf (dump_file, "Splitting with gen_split_2741 (sse.md:14227)\n");
25440 : start_sequence ();
25441 : #define FAIL return (end_sequence (), nullptr)
25442 : #define DONE return end_sequence ()
25443 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25444 : {
25445 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
25446 : int reg6 = 0xF0;
25447 : int reg2 = 0xCC;
25448 : int reg1 = 0xAA;
25449 : int reg3 = 0;
25450 : int reg4 = 0;
25451 : int reg_mask, tmp1, tmp2;
25452 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
25453 : STRIP_UNARY (operands[4])))
25454 : {
25455 : reg4 = reg1;
25456 : reg3 = reg6;
25457 : operands[6] = operands[3];
25458 : }
25459 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
25460 : STRIP_UNARY (operands[4])))
25461 : {
25462 : reg4 = reg2;
25463 : reg3 = reg6;
25464 : operands[6] = operands[3];
25465 : }
25466 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
25467 : STRIP_UNARY (operands[3])))
25468 : {
25469 : reg4 = reg6;
25470 : reg3 = reg1;
25471 : operands[6] = operands[4];
25472 : }
25473 : else
25474 : {
25475 : reg4 = reg6;
25476 : reg3 = reg2;
25477 : operands[6] = operands[4];
25478 : }
25479 :
25480 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
25481 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
25482 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
25483 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
25484 :
25485 : tmp1 = reg1 & reg2;
25486 : tmp2 = tmp1 | reg3;
25487 : reg_mask = tmp2 & reg4;
25488 : reg_mask &= 0xFF;
25489 :
25490 : operands[1] = STRIP_UNARY (operands[1]);
25491 : operands[2] = STRIP_UNARY (operands[2]);
25492 : operands[6] = STRIP_UNARY (operands[6]);
25493 : operands[5] = GEN_INT (reg_mask);
25494 : if (!register_operand (operands[2], V16HFmode))
25495 : operands[2] = force_reg (V16HFmode, operands[2]);
25496 : if (!register_operand (operands[6], V16HFmode))
25497 : operands[6] = force_reg (V16HFmode, operands[6]);
25498 :
25499 : }
25500 : #undef DONE
25501 : #undef FAIL
25502 : static const uint8_t expand_encoding[] = {
25503 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6e, 0x04, 0x01,
25504 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
25505 : 0x25
25506 : };
25507 : return complete_seq (expand_encoding, operands);
25508 : }
25509 :
25510 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
25511 : extern rtx_insn *gen_split_2751 (rtx_insn *, rtx *);
25512 : rtx_insn *
25513 : gen_split_2751 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
25514 : {
25515 : if (dump_file)
25516 : fprintf (dump_file, "Splitting with gen_split_2751 (sse.md:14227)\n");
25517 : start_sequence ();
25518 : #define FAIL return (end_sequence (), nullptr)
25519 : #define DONE return end_sequence ()
25520 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25521 : {
25522 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
25523 : int reg6 = 0xF0;
25524 : int reg2 = 0xCC;
25525 : int reg1 = 0xAA;
25526 : int reg3 = 0;
25527 : int reg4 = 0;
25528 : int reg_mask, tmp1, tmp2;
25529 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
25530 : STRIP_UNARY (operands[4])))
25531 : {
25532 : reg4 = reg1;
25533 : reg3 = reg6;
25534 : operands[6] = operands[3];
25535 : }
25536 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
25537 : STRIP_UNARY (operands[4])))
25538 : {
25539 : reg4 = reg2;
25540 : reg3 = reg6;
25541 : operands[6] = operands[3];
25542 : }
25543 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
25544 : STRIP_UNARY (operands[3])))
25545 : {
25546 : reg4 = reg6;
25547 : reg3 = reg1;
25548 : operands[6] = operands[4];
25549 : }
25550 : else
25551 : {
25552 : reg4 = reg6;
25553 : reg3 = reg2;
25554 : operands[6] = operands[4];
25555 : }
25556 :
25557 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
25558 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
25559 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
25560 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
25561 :
25562 : tmp1 = reg1 & reg2;
25563 : tmp2 = tmp1 ^ reg3;
25564 : reg_mask = tmp2 | reg4;
25565 : reg_mask &= 0xFF;
25566 :
25567 : operands[1] = STRIP_UNARY (operands[1]);
25568 : operands[2] = STRIP_UNARY (operands[2]);
25569 : operands[6] = STRIP_UNARY (operands[6]);
25570 : operands[5] = GEN_INT (reg_mask);
25571 : if (!register_operand (operands[2], V16HFmode))
25572 : operands[2] = force_reg (V16HFmode, operands[2]);
25573 : if (!register_operand (operands[6], V16HFmode))
25574 : operands[6] = force_reg (V16HFmode, operands[6]);
25575 :
25576 : }
25577 : #undef DONE
25578 : #undef FAIL
25579 : static const uint8_t expand_encoding[] = {
25580 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6e, 0x04, 0x01,
25581 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
25582 : 0x25
25583 : };
25584 : return complete_seq (expand_encoding, operands);
25585 : }
25586 :
25587 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
25588 : extern rtx_insn *gen_split_2761 (rtx_insn *, rtx *);
25589 : rtx_insn *
25590 : gen_split_2761 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
25591 : {
25592 : if (dump_file)
25593 : fprintf (dump_file, "Splitting with gen_split_2761 (sse.md:14227)\n");
25594 : start_sequence ();
25595 : #define FAIL return (end_sequence (), nullptr)
25596 : #define DONE return end_sequence ()
25597 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25598 : {
25599 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
25600 : int reg6 = 0xF0;
25601 : int reg2 = 0xCC;
25602 : int reg1 = 0xAA;
25603 : int reg3 = 0;
25604 : int reg4 = 0;
25605 : int reg_mask, tmp1, tmp2;
25606 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
25607 : STRIP_UNARY (operands[4])))
25608 : {
25609 : reg4 = reg1;
25610 : reg3 = reg6;
25611 : operands[6] = operands[3];
25612 : }
25613 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
25614 : STRIP_UNARY (operands[4])))
25615 : {
25616 : reg4 = reg2;
25617 : reg3 = reg6;
25618 : operands[6] = operands[3];
25619 : }
25620 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
25621 : STRIP_UNARY (operands[3])))
25622 : {
25623 : reg4 = reg6;
25624 : reg3 = reg1;
25625 : operands[6] = operands[4];
25626 : }
25627 : else
25628 : {
25629 : reg4 = reg6;
25630 : reg3 = reg2;
25631 : operands[6] = operands[4];
25632 : }
25633 :
25634 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
25635 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
25636 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
25637 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
25638 :
25639 : tmp1 = reg1 & reg2;
25640 : tmp2 = tmp1 & reg3;
25641 : reg_mask = tmp2 ^ reg4;
25642 : reg_mask &= 0xFF;
25643 :
25644 : operands[1] = STRIP_UNARY (operands[1]);
25645 : operands[2] = STRIP_UNARY (operands[2]);
25646 : operands[6] = STRIP_UNARY (operands[6]);
25647 : operands[5] = GEN_INT (reg_mask);
25648 : if (!register_operand (operands[2], V8HFmode))
25649 : operands[2] = force_reg (V8HFmode, operands[2]);
25650 : if (!register_operand (operands[6], V8HFmode))
25651 : operands[6] = force_reg (V8HFmode, operands[6]);
25652 :
25653 : }
25654 : #undef DONE
25655 : #undef FAIL
25656 : static const uint8_t expand_encoding[] = {
25657 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6a, 0x04, 0x01,
25658 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
25659 : 0x25
25660 : };
25661 : return complete_seq (expand_encoding, operands);
25662 : }
25663 :
25664 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
25665 : extern rtx_insn *gen_split_2771 (rtx_insn *, rtx *);
25666 : rtx_insn *
25667 : gen_split_2771 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
25668 : {
25669 : if (dump_file)
25670 : fprintf (dump_file, "Splitting with gen_split_2771 (sse.md:14227)\n");
25671 : start_sequence ();
25672 : #define FAIL return (end_sequence (), nullptr)
25673 : #define DONE return end_sequence ()
25674 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25675 : {
25676 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
25677 : int reg6 = 0xF0;
25678 : int reg2 = 0xCC;
25679 : int reg1 = 0xAA;
25680 : int reg3 = 0;
25681 : int reg4 = 0;
25682 : int reg_mask, tmp1, tmp2;
25683 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
25684 : STRIP_UNARY (operands[4])))
25685 : {
25686 : reg4 = reg1;
25687 : reg3 = reg6;
25688 : operands[6] = operands[3];
25689 : }
25690 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
25691 : STRIP_UNARY (operands[4])))
25692 : {
25693 : reg4 = reg2;
25694 : reg3 = reg6;
25695 : operands[6] = operands[3];
25696 : }
25697 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
25698 : STRIP_UNARY (operands[3])))
25699 : {
25700 : reg4 = reg6;
25701 : reg3 = reg1;
25702 : operands[6] = operands[4];
25703 : }
25704 : else
25705 : {
25706 : reg4 = reg6;
25707 : reg3 = reg2;
25708 : operands[6] = operands[4];
25709 : }
25710 :
25711 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
25712 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
25713 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
25714 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
25715 :
25716 : tmp1 = reg1 | reg2;
25717 : tmp2 = tmp1 | reg3;
25718 : reg_mask = tmp2 & reg4;
25719 : reg_mask &= 0xFF;
25720 :
25721 : operands[1] = STRIP_UNARY (operands[1]);
25722 : operands[2] = STRIP_UNARY (operands[2]);
25723 : operands[6] = STRIP_UNARY (operands[6]);
25724 : operands[5] = GEN_INT (reg_mask);
25725 : if (!register_operand (operands[2], V8HFmode))
25726 : operands[2] = force_reg (V8HFmode, operands[2]);
25727 : if (!register_operand (operands[6], V8HFmode))
25728 : operands[6] = force_reg (V8HFmode, operands[6]);
25729 :
25730 : }
25731 : #undef DONE
25732 : #undef FAIL
25733 : static const uint8_t expand_encoding[] = {
25734 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6a, 0x04, 0x01,
25735 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
25736 : 0x25
25737 : };
25738 : return complete_seq (expand_encoding, operands);
25739 : }
25740 :
25741 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
25742 : extern rtx_insn *gen_split_2781 (rtx_insn *, rtx *);
25743 : rtx_insn *
25744 : gen_split_2781 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
25745 : {
25746 : if (dump_file)
25747 : fprintf (dump_file, "Splitting with gen_split_2781 (sse.md:14227)\n");
25748 : start_sequence ();
25749 : #define FAIL return (end_sequence (), nullptr)
25750 : #define DONE return end_sequence ()
25751 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25752 : {
25753 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
25754 : int reg6 = 0xF0;
25755 : int reg2 = 0xCC;
25756 : int reg1 = 0xAA;
25757 : int reg3 = 0;
25758 : int reg4 = 0;
25759 : int reg_mask, tmp1, tmp2;
25760 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
25761 : STRIP_UNARY (operands[4])))
25762 : {
25763 : reg4 = reg1;
25764 : reg3 = reg6;
25765 : operands[6] = operands[3];
25766 : }
25767 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
25768 : STRIP_UNARY (operands[4])))
25769 : {
25770 : reg4 = reg2;
25771 : reg3 = reg6;
25772 : operands[6] = operands[3];
25773 : }
25774 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
25775 : STRIP_UNARY (operands[3])))
25776 : {
25777 : reg4 = reg6;
25778 : reg3 = reg1;
25779 : operands[6] = operands[4];
25780 : }
25781 : else
25782 : {
25783 : reg4 = reg6;
25784 : reg3 = reg2;
25785 : operands[6] = operands[4];
25786 : }
25787 :
25788 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
25789 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
25790 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
25791 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
25792 :
25793 : tmp1 = reg1 | reg2;
25794 : tmp2 = tmp1 ^ reg3;
25795 : reg_mask = tmp2 | reg4;
25796 : reg_mask &= 0xFF;
25797 :
25798 : operands[1] = STRIP_UNARY (operands[1]);
25799 : operands[2] = STRIP_UNARY (operands[2]);
25800 : operands[6] = STRIP_UNARY (operands[6]);
25801 : operands[5] = GEN_INT (reg_mask);
25802 : if (!register_operand (operands[2], V8HFmode))
25803 : operands[2] = force_reg (V8HFmode, operands[2]);
25804 : if (!register_operand (operands[6], V8HFmode))
25805 : operands[6] = force_reg (V8HFmode, operands[6]);
25806 :
25807 : }
25808 : #undef DONE
25809 : #undef FAIL
25810 : static const uint8_t expand_encoding[] = {
25811 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6a, 0x04, 0x01,
25812 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
25813 : 0x25
25814 : };
25815 : return complete_seq (expand_encoding, operands);
25816 : }
25817 :
25818 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
25819 : extern rtx_insn *gen_split_2791 (rtx_insn *, rtx *);
25820 : rtx_insn *
25821 : gen_split_2791 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
25822 : {
25823 : if (dump_file)
25824 : fprintf (dump_file, "Splitting with gen_split_2791 (sse.md:14227)\n");
25825 : start_sequence ();
25826 : #define FAIL return (end_sequence (), nullptr)
25827 : #define DONE return end_sequence ()
25828 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25829 : {
25830 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
25831 : int reg6 = 0xF0;
25832 : int reg2 = 0xCC;
25833 : int reg1 = 0xAA;
25834 : int reg3 = 0;
25835 : int reg4 = 0;
25836 : int reg_mask, tmp1, tmp2;
25837 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
25838 : STRIP_UNARY (operands[4])))
25839 : {
25840 : reg4 = reg1;
25841 : reg3 = reg6;
25842 : operands[6] = operands[3];
25843 : }
25844 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
25845 : STRIP_UNARY (operands[4])))
25846 : {
25847 : reg4 = reg2;
25848 : reg3 = reg6;
25849 : operands[6] = operands[3];
25850 : }
25851 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
25852 : STRIP_UNARY (operands[3])))
25853 : {
25854 : reg4 = reg6;
25855 : reg3 = reg1;
25856 : operands[6] = operands[4];
25857 : }
25858 : else
25859 : {
25860 : reg4 = reg6;
25861 : reg3 = reg2;
25862 : operands[6] = operands[4];
25863 : }
25864 :
25865 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
25866 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
25867 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
25868 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
25869 :
25870 : tmp1 = reg1 | reg2;
25871 : tmp2 = tmp1 & reg3;
25872 : reg_mask = tmp2 ^ reg4;
25873 : reg_mask &= 0xFF;
25874 :
25875 : operands[1] = STRIP_UNARY (operands[1]);
25876 : operands[2] = STRIP_UNARY (operands[2]);
25877 : operands[6] = STRIP_UNARY (operands[6]);
25878 : operands[5] = GEN_INT (reg_mask);
25879 : if (!register_operand (operands[2], V32BFmode))
25880 : operands[2] = force_reg (V32BFmode, operands[2]);
25881 : if (!register_operand (operands[6], V32BFmode))
25882 : operands[6] = force_reg (V32BFmode, operands[6]);
25883 :
25884 : }
25885 : #undef DONE
25886 : #undef FAIL
25887 : static const uint8_t expand_encoding[] = {
25888 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x72, 0x04, 0x01,
25889 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
25890 : 0x25
25891 : };
25892 : return complete_seq (expand_encoding, operands);
25893 : }
25894 :
25895 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
25896 : extern rtx_insn *gen_split_2801 (rtx_insn *, rtx *);
25897 : rtx_insn *
25898 : gen_split_2801 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
25899 : {
25900 : if (dump_file)
25901 : fprintf (dump_file, "Splitting with gen_split_2801 (sse.md:14227)\n");
25902 : start_sequence ();
25903 : #define FAIL return (end_sequence (), nullptr)
25904 : #define DONE return end_sequence ()
25905 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25906 : {
25907 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
25908 : int reg6 = 0xF0;
25909 : int reg2 = 0xCC;
25910 : int reg1 = 0xAA;
25911 : int reg3 = 0;
25912 : int reg4 = 0;
25913 : int reg_mask, tmp1, tmp2;
25914 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
25915 : STRIP_UNARY (operands[4])))
25916 : {
25917 : reg4 = reg1;
25918 : reg3 = reg6;
25919 : operands[6] = operands[3];
25920 : }
25921 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
25922 : STRIP_UNARY (operands[4])))
25923 : {
25924 : reg4 = reg2;
25925 : reg3 = reg6;
25926 : operands[6] = operands[3];
25927 : }
25928 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
25929 : STRIP_UNARY (operands[3])))
25930 : {
25931 : reg4 = reg6;
25932 : reg3 = reg1;
25933 : operands[6] = operands[4];
25934 : }
25935 : else
25936 : {
25937 : reg4 = reg6;
25938 : reg3 = reg2;
25939 : operands[6] = operands[4];
25940 : }
25941 :
25942 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
25943 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
25944 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
25945 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
25946 :
25947 : tmp1 = reg1 ^ reg2;
25948 : tmp2 = tmp1 | reg3;
25949 : reg_mask = tmp2 & reg4;
25950 : reg_mask &= 0xFF;
25951 :
25952 : operands[1] = STRIP_UNARY (operands[1]);
25953 : operands[2] = STRIP_UNARY (operands[2]);
25954 : operands[6] = STRIP_UNARY (operands[6]);
25955 : operands[5] = GEN_INT (reg_mask);
25956 : if (!register_operand (operands[2], V32BFmode))
25957 : operands[2] = force_reg (V32BFmode, operands[2]);
25958 : if (!register_operand (operands[6], V32BFmode))
25959 : operands[6] = force_reg (V32BFmode, operands[6]);
25960 :
25961 : }
25962 : #undef DONE
25963 : #undef FAIL
25964 : static const uint8_t expand_encoding[] = {
25965 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x72, 0x04, 0x01,
25966 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
25967 : 0x25
25968 : };
25969 : return complete_seq (expand_encoding, operands);
25970 : }
25971 :
25972 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
25973 : extern rtx_insn *gen_split_2811 (rtx_insn *, rtx *);
25974 : rtx_insn *
25975 : gen_split_2811 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
25976 : {
25977 : if (dump_file)
25978 : fprintf (dump_file, "Splitting with gen_split_2811 (sse.md:14227)\n");
25979 : start_sequence ();
25980 : #define FAIL return (end_sequence (), nullptr)
25981 : #define DONE return end_sequence ()
25982 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25983 : {
25984 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
25985 : int reg6 = 0xF0;
25986 : int reg2 = 0xCC;
25987 : int reg1 = 0xAA;
25988 : int reg3 = 0;
25989 : int reg4 = 0;
25990 : int reg_mask, tmp1, tmp2;
25991 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
25992 : STRIP_UNARY (operands[4])))
25993 : {
25994 : reg4 = reg1;
25995 : reg3 = reg6;
25996 : operands[6] = operands[3];
25997 : }
25998 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
25999 : STRIP_UNARY (operands[4])))
26000 : {
26001 : reg4 = reg2;
26002 : reg3 = reg6;
26003 : operands[6] = operands[3];
26004 : }
26005 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
26006 : STRIP_UNARY (operands[3])))
26007 : {
26008 : reg4 = reg6;
26009 : reg3 = reg1;
26010 : operands[6] = operands[4];
26011 : }
26012 : else
26013 : {
26014 : reg4 = reg6;
26015 : reg3 = reg2;
26016 : operands[6] = operands[4];
26017 : }
26018 :
26019 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
26020 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
26021 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
26022 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
26023 :
26024 : tmp1 = reg1 ^ reg2;
26025 : tmp2 = tmp1 ^ reg3;
26026 : reg_mask = tmp2 | reg4;
26027 : reg_mask &= 0xFF;
26028 :
26029 : operands[1] = STRIP_UNARY (operands[1]);
26030 : operands[2] = STRIP_UNARY (operands[2]);
26031 : operands[6] = STRIP_UNARY (operands[6]);
26032 : operands[5] = GEN_INT (reg_mask);
26033 : if (!register_operand (operands[2], V32BFmode))
26034 : operands[2] = force_reg (V32BFmode, operands[2]);
26035 : if (!register_operand (operands[6], V32BFmode))
26036 : operands[6] = force_reg (V32BFmode, operands[6]);
26037 :
26038 : }
26039 : #undef DONE
26040 : #undef FAIL
26041 : static const uint8_t expand_encoding[] = {
26042 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x72, 0x04, 0x01,
26043 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
26044 : 0x25
26045 : };
26046 : return complete_seq (expand_encoding, operands);
26047 : }
26048 :
26049 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
26050 : extern rtx_insn *gen_split_2821 (rtx_insn *, rtx *);
26051 : rtx_insn *
26052 : gen_split_2821 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
26053 : {
26054 : if (dump_file)
26055 : fprintf (dump_file, "Splitting with gen_split_2821 (sse.md:14227)\n");
26056 : start_sequence ();
26057 : #define FAIL return (end_sequence (), nullptr)
26058 : #define DONE return end_sequence ()
26059 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26060 : {
26061 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
26062 : int reg6 = 0xF0;
26063 : int reg2 = 0xCC;
26064 : int reg1 = 0xAA;
26065 : int reg3 = 0;
26066 : int reg4 = 0;
26067 : int reg_mask, tmp1, tmp2;
26068 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
26069 : STRIP_UNARY (operands[4])))
26070 : {
26071 : reg4 = reg1;
26072 : reg3 = reg6;
26073 : operands[6] = operands[3];
26074 : }
26075 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
26076 : STRIP_UNARY (operands[4])))
26077 : {
26078 : reg4 = reg2;
26079 : reg3 = reg6;
26080 : operands[6] = operands[3];
26081 : }
26082 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
26083 : STRIP_UNARY (operands[3])))
26084 : {
26085 : reg4 = reg6;
26086 : reg3 = reg1;
26087 : operands[6] = operands[4];
26088 : }
26089 : else
26090 : {
26091 : reg4 = reg6;
26092 : reg3 = reg2;
26093 : operands[6] = operands[4];
26094 : }
26095 :
26096 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
26097 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
26098 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
26099 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
26100 :
26101 : tmp1 = reg1 ^ reg2;
26102 : tmp2 = tmp1 & reg3;
26103 : reg_mask = tmp2 ^ reg4;
26104 : reg_mask &= 0xFF;
26105 :
26106 : operands[1] = STRIP_UNARY (operands[1]);
26107 : operands[2] = STRIP_UNARY (operands[2]);
26108 : operands[6] = STRIP_UNARY (operands[6]);
26109 : operands[5] = GEN_INT (reg_mask);
26110 : if (!register_operand (operands[2], V16BFmode))
26111 : operands[2] = force_reg (V16BFmode, operands[2]);
26112 : if (!register_operand (operands[6], V16BFmode))
26113 : operands[6] = force_reg (V16BFmode, operands[6]);
26114 :
26115 : }
26116 : #undef DONE
26117 : #undef FAIL
26118 : static const uint8_t expand_encoding[] = {
26119 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6d, 0x04, 0x01,
26120 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
26121 : 0x25
26122 : };
26123 : return complete_seq (expand_encoding, operands);
26124 : }
26125 :
26126 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
26127 : extern rtx_insn *gen_split_2831 (rtx_insn *, rtx *);
26128 : rtx_insn *
26129 : gen_split_2831 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
26130 : {
26131 : if (dump_file)
26132 : fprintf (dump_file, "Splitting with gen_split_2831 (sse.md:14227)\n");
26133 : start_sequence ();
26134 : #define FAIL return (end_sequence (), nullptr)
26135 : #define DONE return end_sequence ()
26136 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26137 : {
26138 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
26139 : int reg6 = 0xF0;
26140 : int reg2 = 0xCC;
26141 : int reg1 = 0xAA;
26142 : int reg3 = 0;
26143 : int reg4 = 0;
26144 : int reg_mask, tmp1, tmp2;
26145 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
26146 : STRIP_UNARY (operands[4])))
26147 : {
26148 : reg4 = reg1;
26149 : reg3 = reg6;
26150 : operands[6] = operands[3];
26151 : }
26152 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
26153 : STRIP_UNARY (operands[4])))
26154 : {
26155 : reg4 = reg2;
26156 : reg3 = reg6;
26157 : operands[6] = operands[3];
26158 : }
26159 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
26160 : STRIP_UNARY (operands[3])))
26161 : {
26162 : reg4 = reg6;
26163 : reg3 = reg1;
26164 : operands[6] = operands[4];
26165 : }
26166 : else
26167 : {
26168 : reg4 = reg6;
26169 : reg3 = reg2;
26170 : operands[6] = operands[4];
26171 : }
26172 :
26173 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
26174 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
26175 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
26176 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
26177 :
26178 : tmp1 = reg1 & reg2;
26179 : tmp2 = tmp1 ^ reg3;
26180 : reg_mask = tmp2 & reg4;
26181 : reg_mask &= 0xFF;
26182 :
26183 : operands[1] = STRIP_UNARY (operands[1]);
26184 : operands[2] = STRIP_UNARY (operands[2]);
26185 : operands[6] = STRIP_UNARY (operands[6]);
26186 : operands[5] = GEN_INT (reg_mask);
26187 : if (!register_operand (operands[2], V16BFmode))
26188 : operands[2] = force_reg (V16BFmode, operands[2]);
26189 : if (!register_operand (operands[6], V16BFmode))
26190 : operands[6] = force_reg (V16BFmode, operands[6]);
26191 :
26192 : }
26193 : #undef DONE
26194 : #undef FAIL
26195 : static const uint8_t expand_encoding[] = {
26196 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6d, 0x04, 0x01,
26197 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
26198 : 0x25
26199 : };
26200 : return complete_seq (expand_encoding, operands);
26201 : }
26202 :
26203 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
26204 : extern rtx_insn *gen_split_2841 (rtx_insn *, rtx *);
26205 : rtx_insn *
26206 : gen_split_2841 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
26207 : {
26208 : if (dump_file)
26209 : fprintf (dump_file, "Splitting with gen_split_2841 (sse.md:14227)\n");
26210 : start_sequence ();
26211 : #define FAIL return (end_sequence (), nullptr)
26212 : #define DONE return end_sequence ()
26213 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26214 : {
26215 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
26216 : int reg6 = 0xF0;
26217 : int reg2 = 0xCC;
26218 : int reg1 = 0xAA;
26219 : int reg3 = 0;
26220 : int reg4 = 0;
26221 : int reg_mask, tmp1, tmp2;
26222 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
26223 : STRIP_UNARY (operands[4])))
26224 : {
26225 : reg4 = reg1;
26226 : reg3 = reg6;
26227 : operands[6] = operands[3];
26228 : }
26229 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
26230 : STRIP_UNARY (operands[4])))
26231 : {
26232 : reg4 = reg2;
26233 : reg3 = reg6;
26234 : operands[6] = operands[3];
26235 : }
26236 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
26237 : STRIP_UNARY (operands[3])))
26238 : {
26239 : reg4 = reg6;
26240 : reg3 = reg1;
26241 : operands[6] = operands[4];
26242 : }
26243 : else
26244 : {
26245 : reg4 = reg6;
26246 : reg3 = reg2;
26247 : operands[6] = operands[4];
26248 : }
26249 :
26250 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
26251 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
26252 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
26253 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
26254 :
26255 : tmp1 = reg1 & reg2;
26256 : tmp2 = tmp1 & reg3;
26257 : reg_mask = tmp2 | reg4;
26258 : reg_mask &= 0xFF;
26259 :
26260 : operands[1] = STRIP_UNARY (operands[1]);
26261 : operands[2] = STRIP_UNARY (operands[2]);
26262 : operands[6] = STRIP_UNARY (operands[6]);
26263 : operands[5] = GEN_INT (reg_mask);
26264 : if (!register_operand (operands[2], V8BFmode))
26265 : operands[2] = force_reg (V8BFmode, operands[2]);
26266 : if (!register_operand (operands[6], V8BFmode))
26267 : operands[6] = force_reg (V8BFmode, operands[6]);
26268 :
26269 : }
26270 : #undef DONE
26271 : #undef FAIL
26272 : static const uint8_t expand_encoding[] = {
26273 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x69, 0x04, 0x01,
26274 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
26275 : 0x25
26276 : };
26277 : return complete_seq (expand_encoding, operands);
26278 : }
26279 :
26280 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
26281 : extern rtx_insn *gen_split_2851 (rtx_insn *, rtx *);
26282 : rtx_insn *
26283 : gen_split_2851 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
26284 : {
26285 : if (dump_file)
26286 : fprintf (dump_file, "Splitting with gen_split_2851 (sse.md:14227)\n");
26287 : start_sequence ();
26288 : #define FAIL return (end_sequence (), nullptr)
26289 : #define DONE return end_sequence ()
26290 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26291 : {
26292 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
26293 : int reg6 = 0xF0;
26294 : int reg2 = 0xCC;
26295 : int reg1 = 0xAA;
26296 : int reg3 = 0;
26297 : int reg4 = 0;
26298 : int reg_mask, tmp1, tmp2;
26299 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
26300 : STRIP_UNARY (operands[4])))
26301 : {
26302 : reg4 = reg1;
26303 : reg3 = reg6;
26304 : operands[6] = operands[3];
26305 : }
26306 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
26307 : STRIP_UNARY (operands[4])))
26308 : {
26309 : reg4 = reg2;
26310 : reg3 = reg6;
26311 : operands[6] = operands[3];
26312 : }
26313 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
26314 : STRIP_UNARY (operands[3])))
26315 : {
26316 : reg4 = reg6;
26317 : reg3 = reg1;
26318 : operands[6] = operands[4];
26319 : }
26320 : else
26321 : {
26322 : reg4 = reg6;
26323 : reg3 = reg2;
26324 : operands[6] = operands[4];
26325 : }
26326 :
26327 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
26328 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
26329 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
26330 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
26331 :
26332 : tmp1 = reg1 & reg2;
26333 : tmp2 = tmp1 | reg3;
26334 : reg_mask = tmp2 ^ reg4;
26335 : reg_mask &= 0xFF;
26336 :
26337 : operands[1] = STRIP_UNARY (operands[1]);
26338 : operands[2] = STRIP_UNARY (operands[2]);
26339 : operands[6] = STRIP_UNARY (operands[6]);
26340 : operands[5] = GEN_INT (reg_mask);
26341 : if (!register_operand (operands[2], V8BFmode))
26342 : operands[2] = force_reg (V8BFmode, operands[2]);
26343 : if (!register_operand (operands[6], V8BFmode))
26344 : operands[6] = force_reg (V8BFmode, operands[6]);
26345 :
26346 : }
26347 : #undef DONE
26348 : #undef FAIL
26349 : static const uint8_t expand_encoding[] = {
26350 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x69, 0x04, 0x01,
26351 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
26352 : 0x25
26353 : };
26354 : return complete_seq (expand_encoding, operands);
26355 : }
26356 :
26357 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
26358 : extern rtx_insn *gen_split_2861 (rtx_insn *, rtx *);
26359 : rtx_insn *
26360 : gen_split_2861 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
26361 : {
26362 : if (dump_file)
26363 : fprintf (dump_file, "Splitting with gen_split_2861 (sse.md:14227)\n");
26364 : start_sequence ();
26365 : #define FAIL return (end_sequence (), nullptr)
26366 : #define DONE return end_sequence ()
26367 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26368 : {
26369 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
26370 : int reg6 = 0xF0;
26371 : int reg2 = 0xCC;
26372 : int reg1 = 0xAA;
26373 : int reg3 = 0;
26374 : int reg4 = 0;
26375 : int reg_mask, tmp1, tmp2;
26376 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
26377 : STRIP_UNARY (operands[4])))
26378 : {
26379 : reg4 = reg1;
26380 : reg3 = reg6;
26381 : operands[6] = operands[3];
26382 : }
26383 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
26384 : STRIP_UNARY (operands[4])))
26385 : {
26386 : reg4 = reg2;
26387 : reg3 = reg6;
26388 : operands[6] = operands[3];
26389 : }
26390 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
26391 : STRIP_UNARY (operands[3])))
26392 : {
26393 : reg4 = reg6;
26394 : reg3 = reg1;
26395 : operands[6] = operands[4];
26396 : }
26397 : else
26398 : {
26399 : reg4 = reg6;
26400 : reg3 = reg2;
26401 : operands[6] = operands[4];
26402 : }
26403 :
26404 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
26405 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
26406 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
26407 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
26408 :
26409 : tmp1 = reg1 | reg2;
26410 : tmp2 = tmp1 ^ reg3;
26411 : reg_mask = tmp2 & reg4;
26412 : reg_mask &= 0xFF;
26413 :
26414 : operands[1] = STRIP_UNARY (operands[1]);
26415 : operands[2] = STRIP_UNARY (operands[2]);
26416 : operands[6] = STRIP_UNARY (operands[6]);
26417 : operands[5] = GEN_INT (reg_mask);
26418 : if (!register_operand (operands[2], V8BFmode))
26419 : operands[2] = force_reg (V8BFmode, operands[2]);
26420 : if (!register_operand (operands[6], V8BFmode))
26421 : operands[6] = force_reg (V8BFmode, operands[6]);
26422 :
26423 : }
26424 : #undef DONE
26425 : #undef FAIL
26426 : static const uint8_t expand_encoding[] = {
26427 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x69, 0x04, 0x01,
26428 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
26429 : 0x25
26430 : };
26431 : return complete_seq (expand_encoding, operands);
26432 : }
26433 :
26434 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
26435 : extern rtx_insn *gen_split_2871 (rtx_insn *, rtx *);
26436 : rtx_insn *
26437 : gen_split_2871 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
26438 : {
26439 : if (dump_file)
26440 : fprintf (dump_file, "Splitting with gen_split_2871 (sse.md:14227)\n");
26441 : start_sequence ();
26442 : #define FAIL return (end_sequence (), nullptr)
26443 : #define DONE return end_sequence ()
26444 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26445 : {
26446 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
26447 : int reg6 = 0xF0;
26448 : int reg2 = 0xCC;
26449 : int reg1 = 0xAA;
26450 : int reg3 = 0;
26451 : int reg4 = 0;
26452 : int reg_mask, tmp1, tmp2;
26453 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
26454 : STRIP_UNARY (operands[4])))
26455 : {
26456 : reg4 = reg1;
26457 : reg3 = reg6;
26458 : operands[6] = operands[3];
26459 : }
26460 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
26461 : STRIP_UNARY (operands[4])))
26462 : {
26463 : reg4 = reg2;
26464 : reg3 = reg6;
26465 : operands[6] = operands[3];
26466 : }
26467 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
26468 : STRIP_UNARY (operands[3])))
26469 : {
26470 : reg4 = reg6;
26471 : reg3 = reg1;
26472 : operands[6] = operands[4];
26473 : }
26474 : else
26475 : {
26476 : reg4 = reg6;
26477 : reg3 = reg2;
26478 : operands[6] = operands[4];
26479 : }
26480 :
26481 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
26482 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
26483 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
26484 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
26485 :
26486 : tmp1 = reg1 | reg2;
26487 : tmp2 = tmp1 & reg3;
26488 : reg_mask = tmp2 | reg4;
26489 : reg_mask &= 0xFF;
26490 :
26491 : operands[1] = STRIP_UNARY (operands[1]);
26492 : operands[2] = STRIP_UNARY (operands[2]);
26493 : operands[6] = STRIP_UNARY (operands[6]);
26494 : operands[5] = GEN_INT (reg_mask);
26495 : if (!register_operand (operands[2], V16SFmode))
26496 : operands[2] = force_reg (V16SFmode, operands[2]);
26497 : if (!register_operand (operands[6], V16SFmode))
26498 : operands[6] = force_reg (V16SFmode, operands[6]);
26499 :
26500 : }
26501 : #undef DONE
26502 : #undef FAIL
26503 : static const uint8_t expand_encoding[] = {
26504 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x74, 0x04, 0x01,
26505 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
26506 : 0x25
26507 : };
26508 : return complete_seq (expand_encoding, operands);
26509 : }
26510 :
26511 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
26512 : extern rtx_insn *gen_split_2881 (rtx_insn *, rtx *);
26513 : rtx_insn *
26514 : gen_split_2881 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
26515 : {
26516 : if (dump_file)
26517 : fprintf (dump_file, "Splitting with gen_split_2881 (sse.md:14227)\n");
26518 : start_sequence ();
26519 : #define FAIL return (end_sequence (), nullptr)
26520 : #define DONE return end_sequence ()
26521 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26522 : {
26523 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
26524 : int reg6 = 0xF0;
26525 : int reg2 = 0xCC;
26526 : int reg1 = 0xAA;
26527 : int reg3 = 0;
26528 : int reg4 = 0;
26529 : int reg_mask, tmp1, tmp2;
26530 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
26531 : STRIP_UNARY (operands[4])))
26532 : {
26533 : reg4 = reg1;
26534 : reg3 = reg6;
26535 : operands[6] = operands[3];
26536 : }
26537 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
26538 : STRIP_UNARY (operands[4])))
26539 : {
26540 : reg4 = reg2;
26541 : reg3 = reg6;
26542 : operands[6] = operands[3];
26543 : }
26544 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
26545 : STRIP_UNARY (operands[3])))
26546 : {
26547 : reg4 = reg6;
26548 : reg3 = reg1;
26549 : operands[6] = operands[4];
26550 : }
26551 : else
26552 : {
26553 : reg4 = reg6;
26554 : reg3 = reg2;
26555 : operands[6] = operands[4];
26556 : }
26557 :
26558 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
26559 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
26560 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
26561 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
26562 :
26563 : tmp1 = reg1 | reg2;
26564 : tmp2 = tmp1 | reg3;
26565 : reg_mask = tmp2 ^ reg4;
26566 : reg_mask &= 0xFF;
26567 :
26568 : operands[1] = STRIP_UNARY (operands[1]);
26569 : operands[2] = STRIP_UNARY (operands[2]);
26570 : operands[6] = STRIP_UNARY (operands[6]);
26571 : operands[5] = GEN_INT (reg_mask);
26572 : if (!register_operand (operands[2], V16SFmode))
26573 : operands[2] = force_reg (V16SFmode, operands[2]);
26574 : if (!register_operand (operands[6], V16SFmode))
26575 : operands[6] = force_reg (V16SFmode, operands[6]);
26576 :
26577 : }
26578 : #undef DONE
26579 : #undef FAIL
26580 : static const uint8_t expand_encoding[] = {
26581 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x74, 0x04, 0x01,
26582 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
26583 : 0x25
26584 : };
26585 : return complete_seq (expand_encoding, operands);
26586 : }
26587 :
26588 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
26589 : extern rtx_insn *gen_split_2891 (rtx_insn *, rtx *);
26590 : rtx_insn *
26591 : gen_split_2891 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
26592 : {
26593 : if (dump_file)
26594 : fprintf (dump_file, "Splitting with gen_split_2891 (sse.md:14227)\n");
26595 : start_sequence ();
26596 : #define FAIL return (end_sequence (), nullptr)
26597 : #define DONE return end_sequence ()
26598 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26599 : {
26600 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
26601 : int reg6 = 0xF0;
26602 : int reg2 = 0xCC;
26603 : int reg1 = 0xAA;
26604 : int reg3 = 0;
26605 : int reg4 = 0;
26606 : int reg_mask, tmp1, tmp2;
26607 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
26608 : STRIP_UNARY (operands[4])))
26609 : {
26610 : reg4 = reg1;
26611 : reg3 = reg6;
26612 : operands[6] = operands[3];
26613 : }
26614 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
26615 : STRIP_UNARY (operands[4])))
26616 : {
26617 : reg4 = reg2;
26618 : reg3 = reg6;
26619 : operands[6] = operands[3];
26620 : }
26621 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
26622 : STRIP_UNARY (operands[3])))
26623 : {
26624 : reg4 = reg6;
26625 : reg3 = reg1;
26626 : operands[6] = operands[4];
26627 : }
26628 : else
26629 : {
26630 : reg4 = reg6;
26631 : reg3 = reg2;
26632 : operands[6] = operands[4];
26633 : }
26634 :
26635 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
26636 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
26637 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
26638 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
26639 :
26640 : tmp1 = reg1 ^ reg2;
26641 : tmp2 = tmp1 ^ reg3;
26642 : reg_mask = tmp2 & reg4;
26643 : reg_mask &= 0xFF;
26644 :
26645 : operands[1] = STRIP_UNARY (operands[1]);
26646 : operands[2] = STRIP_UNARY (operands[2]);
26647 : operands[6] = STRIP_UNARY (operands[6]);
26648 : operands[5] = GEN_INT (reg_mask);
26649 : if (!register_operand (operands[2], V16SFmode))
26650 : operands[2] = force_reg (V16SFmode, operands[2]);
26651 : if (!register_operand (operands[6], V16SFmode))
26652 : operands[6] = force_reg (V16SFmode, operands[6]);
26653 :
26654 : }
26655 : #undef DONE
26656 : #undef FAIL
26657 : static const uint8_t expand_encoding[] = {
26658 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x74, 0x04, 0x01,
26659 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
26660 : 0x25
26661 : };
26662 : return complete_seq (expand_encoding, operands);
26663 : }
26664 :
26665 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
26666 : extern rtx_insn *gen_split_2901 (rtx_insn *, rtx *);
26667 : rtx_insn *
26668 : gen_split_2901 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
26669 : {
26670 : if (dump_file)
26671 : fprintf (dump_file, "Splitting with gen_split_2901 (sse.md:14227)\n");
26672 : start_sequence ();
26673 : #define FAIL return (end_sequence (), nullptr)
26674 : #define DONE return end_sequence ()
26675 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26676 : {
26677 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
26678 : int reg6 = 0xF0;
26679 : int reg2 = 0xCC;
26680 : int reg1 = 0xAA;
26681 : int reg3 = 0;
26682 : int reg4 = 0;
26683 : int reg_mask, tmp1, tmp2;
26684 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
26685 : STRIP_UNARY (operands[4])))
26686 : {
26687 : reg4 = reg1;
26688 : reg3 = reg6;
26689 : operands[6] = operands[3];
26690 : }
26691 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
26692 : STRIP_UNARY (operands[4])))
26693 : {
26694 : reg4 = reg2;
26695 : reg3 = reg6;
26696 : operands[6] = operands[3];
26697 : }
26698 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
26699 : STRIP_UNARY (operands[3])))
26700 : {
26701 : reg4 = reg6;
26702 : reg3 = reg1;
26703 : operands[6] = operands[4];
26704 : }
26705 : else
26706 : {
26707 : reg4 = reg6;
26708 : reg3 = reg2;
26709 : operands[6] = operands[4];
26710 : }
26711 :
26712 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
26713 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
26714 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
26715 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
26716 :
26717 : tmp1 = reg1 ^ reg2;
26718 : tmp2 = tmp1 & reg3;
26719 : reg_mask = tmp2 | reg4;
26720 : reg_mask &= 0xFF;
26721 :
26722 : operands[1] = STRIP_UNARY (operands[1]);
26723 : operands[2] = STRIP_UNARY (operands[2]);
26724 : operands[6] = STRIP_UNARY (operands[6]);
26725 : operands[5] = GEN_INT (reg_mask);
26726 : if (!register_operand (operands[2], V8SFmode))
26727 : operands[2] = force_reg (V8SFmode, operands[2]);
26728 : if (!register_operand (operands[6], V8SFmode))
26729 : operands[6] = force_reg (V8SFmode, operands[6]);
26730 :
26731 : }
26732 : #undef DONE
26733 : #undef FAIL
26734 : static const uint8_t expand_encoding[] = {
26735 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6f, 0x04, 0x01,
26736 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
26737 : 0x25
26738 : };
26739 : return complete_seq (expand_encoding, operands);
26740 : }
26741 :
26742 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
26743 : extern rtx_insn *gen_split_2911 (rtx_insn *, rtx *);
26744 : rtx_insn *
26745 : gen_split_2911 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
26746 : {
26747 : if (dump_file)
26748 : fprintf (dump_file, "Splitting with gen_split_2911 (sse.md:14227)\n");
26749 : start_sequence ();
26750 : #define FAIL return (end_sequence (), nullptr)
26751 : #define DONE return end_sequence ()
26752 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26753 : {
26754 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
26755 : int reg6 = 0xF0;
26756 : int reg2 = 0xCC;
26757 : int reg1 = 0xAA;
26758 : int reg3 = 0;
26759 : int reg4 = 0;
26760 : int reg_mask, tmp1, tmp2;
26761 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
26762 : STRIP_UNARY (operands[4])))
26763 : {
26764 : reg4 = reg1;
26765 : reg3 = reg6;
26766 : operands[6] = operands[3];
26767 : }
26768 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
26769 : STRIP_UNARY (operands[4])))
26770 : {
26771 : reg4 = reg2;
26772 : reg3 = reg6;
26773 : operands[6] = operands[3];
26774 : }
26775 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
26776 : STRIP_UNARY (operands[3])))
26777 : {
26778 : reg4 = reg6;
26779 : reg3 = reg1;
26780 : operands[6] = operands[4];
26781 : }
26782 : else
26783 : {
26784 : reg4 = reg6;
26785 : reg3 = reg2;
26786 : operands[6] = operands[4];
26787 : }
26788 :
26789 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
26790 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
26791 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
26792 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
26793 :
26794 : tmp1 = reg1 ^ reg2;
26795 : tmp2 = tmp1 | reg3;
26796 : reg_mask = tmp2 ^ reg4;
26797 : reg_mask &= 0xFF;
26798 :
26799 : operands[1] = STRIP_UNARY (operands[1]);
26800 : operands[2] = STRIP_UNARY (operands[2]);
26801 : operands[6] = STRIP_UNARY (operands[6]);
26802 : operands[5] = GEN_INT (reg_mask);
26803 : if (!register_operand (operands[2], V8SFmode))
26804 : operands[2] = force_reg (V8SFmode, operands[2]);
26805 : if (!register_operand (operands[6], V8SFmode))
26806 : operands[6] = force_reg (V8SFmode, operands[6]);
26807 :
26808 : }
26809 : #undef DONE
26810 : #undef FAIL
26811 : static const uint8_t expand_encoding[] = {
26812 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6f, 0x04, 0x01,
26813 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
26814 : 0x25
26815 : };
26816 : return complete_seq (expand_encoding, operands);
26817 : }
26818 :
26819 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
26820 : extern rtx_insn *gen_split_2921 (rtx_insn *, rtx *);
26821 : rtx_insn *
26822 : gen_split_2921 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
26823 : {
26824 : if (dump_file)
26825 : fprintf (dump_file, "Splitting with gen_split_2921 (sse.md:14227)\n");
26826 : start_sequence ();
26827 : #define FAIL return (end_sequence (), nullptr)
26828 : #define DONE return end_sequence ()
26829 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26830 : {
26831 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
26832 : int reg6 = 0xF0;
26833 : int reg2 = 0xCC;
26834 : int reg1 = 0xAA;
26835 : int reg3 = 0;
26836 : int reg4 = 0;
26837 : int reg_mask, tmp1, tmp2;
26838 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
26839 : STRIP_UNARY (operands[4])))
26840 : {
26841 : reg4 = reg1;
26842 : reg3 = reg6;
26843 : operands[6] = operands[3];
26844 : }
26845 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
26846 : STRIP_UNARY (operands[4])))
26847 : {
26848 : reg4 = reg2;
26849 : reg3 = reg6;
26850 : operands[6] = operands[3];
26851 : }
26852 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
26853 : STRIP_UNARY (operands[3])))
26854 : {
26855 : reg4 = reg6;
26856 : reg3 = reg1;
26857 : operands[6] = operands[4];
26858 : }
26859 : else
26860 : {
26861 : reg4 = reg6;
26862 : reg3 = reg2;
26863 : operands[6] = operands[4];
26864 : }
26865 :
26866 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
26867 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
26868 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
26869 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
26870 :
26871 : tmp1 = reg1 & reg2;
26872 : tmp2 = tmp1 & reg3;
26873 : reg_mask = tmp2 & reg4;
26874 : reg_mask &= 0xFF;
26875 :
26876 : operands[1] = STRIP_UNARY (operands[1]);
26877 : operands[2] = STRIP_UNARY (operands[2]);
26878 : operands[6] = STRIP_UNARY (operands[6]);
26879 : operands[5] = GEN_INT (reg_mask);
26880 : if (!register_operand (operands[2], V4SFmode))
26881 : operands[2] = force_reg (V4SFmode, operands[2]);
26882 : if (!register_operand (operands[6], V4SFmode))
26883 : operands[6] = force_reg (V4SFmode, operands[6]);
26884 :
26885 : }
26886 : #undef DONE
26887 : #undef FAIL
26888 : static const uint8_t expand_encoding[] = {
26889 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6b, 0x04, 0x01,
26890 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
26891 : 0x25
26892 : };
26893 : return complete_seq (expand_encoding, operands);
26894 : }
26895 :
26896 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
26897 : extern rtx_insn *gen_split_2931 (rtx_insn *, rtx *);
26898 : rtx_insn *
26899 : gen_split_2931 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
26900 : {
26901 : if (dump_file)
26902 : fprintf (dump_file, "Splitting with gen_split_2931 (sse.md:14227)\n");
26903 : start_sequence ();
26904 : #define FAIL return (end_sequence (), nullptr)
26905 : #define DONE return end_sequence ()
26906 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26907 : {
26908 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
26909 : int reg6 = 0xF0;
26910 : int reg2 = 0xCC;
26911 : int reg1 = 0xAA;
26912 : int reg3 = 0;
26913 : int reg4 = 0;
26914 : int reg_mask, tmp1, tmp2;
26915 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
26916 : STRIP_UNARY (operands[4])))
26917 : {
26918 : reg4 = reg1;
26919 : reg3 = reg6;
26920 : operands[6] = operands[3];
26921 : }
26922 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
26923 : STRIP_UNARY (operands[4])))
26924 : {
26925 : reg4 = reg2;
26926 : reg3 = reg6;
26927 : operands[6] = operands[3];
26928 : }
26929 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
26930 : STRIP_UNARY (operands[3])))
26931 : {
26932 : reg4 = reg6;
26933 : reg3 = reg1;
26934 : operands[6] = operands[4];
26935 : }
26936 : else
26937 : {
26938 : reg4 = reg6;
26939 : reg3 = reg2;
26940 : operands[6] = operands[4];
26941 : }
26942 :
26943 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
26944 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
26945 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
26946 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
26947 :
26948 : tmp1 = reg1 & reg2;
26949 : tmp2 = tmp1 | reg3;
26950 : reg_mask = tmp2 | reg4;
26951 : reg_mask &= 0xFF;
26952 :
26953 : operands[1] = STRIP_UNARY (operands[1]);
26954 : operands[2] = STRIP_UNARY (operands[2]);
26955 : operands[6] = STRIP_UNARY (operands[6]);
26956 : operands[5] = GEN_INT (reg_mask);
26957 : if (!register_operand (operands[2], V4SFmode))
26958 : operands[2] = force_reg (V4SFmode, operands[2]);
26959 : if (!register_operand (operands[6], V4SFmode))
26960 : operands[6] = force_reg (V4SFmode, operands[6]);
26961 :
26962 : }
26963 : #undef DONE
26964 : #undef FAIL
26965 : static const uint8_t expand_encoding[] = {
26966 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6b, 0x04, 0x01,
26967 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
26968 : 0x25
26969 : };
26970 : return complete_seq (expand_encoding, operands);
26971 : }
26972 :
26973 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
26974 : extern rtx_insn *gen_split_2941 (rtx_insn *, rtx *);
26975 : rtx_insn *
26976 : gen_split_2941 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
26977 : {
26978 : if (dump_file)
26979 : fprintf (dump_file, "Splitting with gen_split_2941 (sse.md:14227)\n");
26980 : start_sequence ();
26981 : #define FAIL return (end_sequence (), nullptr)
26982 : #define DONE return end_sequence ()
26983 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26984 : {
26985 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
26986 : int reg6 = 0xF0;
26987 : int reg2 = 0xCC;
26988 : int reg1 = 0xAA;
26989 : int reg3 = 0;
26990 : int reg4 = 0;
26991 : int reg_mask, tmp1, tmp2;
26992 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
26993 : STRIP_UNARY (operands[4])))
26994 : {
26995 : reg4 = reg1;
26996 : reg3 = reg6;
26997 : operands[6] = operands[3];
26998 : }
26999 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
27000 : STRIP_UNARY (operands[4])))
27001 : {
27002 : reg4 = reg2;
27003 : reg3 = reg6;
27004 : operands[6] = operands[3];
27005 : }
27006 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
27007 : STRIP_UNARY (operands[3])))
27008 : {
27009 : reg4 = reg6;
27010 : reg3 = reg1;
27011 : operands[6] = operands[4];
27012 : }
27013 : else
27014 : {
27015 : reg4 = reg6;
27016 : reg3 = reg2;
27017 : operands[6] = operands[4];
27018 : }
27019 :
27020 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
27021 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
27022 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
27023 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
27024 :
27025 : tmp1 = reg1 & reg2;
27026 : tmp2 = tmp1 ^ reg3;
27027 : reg_mask = tmp2 ^ reg4;
27028 : reg_mask &= 0xFF;
27029 :
27030 : operands[1] = STRIP_UNARY (operands[1]);
27031 : operands[2] = STRIP_UNARY (operands[2]);
27032 : operands[6] = STRIP_UNARY (operands[6]);
27033 : operands[5] = GEN_INT (reg_mask);
27034 : if (!register_operand (operands[2], V4SFmode))
27035 : operands[2] = force_reg (V4SFmode, operands[2]);
27036 : if (!register_operand (operands[6], V4SFmode))
27037 : operands[6] = force_reg (V4SFmode, operands[6]);
27038 :
27039 : }
27040 : #undef DONE
27041 : #undef FAIL
27042 : static const uint8_t expand_encoding[] = {
27043 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6b, 0x04, 0x01,
27044 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
27045 : 0x25
27046 : };
27047 : return complete_seq (expand_encoding, operands);
27048 : }
27049 :
27050 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
27051 : extern rtx_insn *gen_split_2951 (rtx_insn *, rtx *);
27052 : rtx_insn *
27053 : gen_split_2951 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
27054 : {
27055 : if (dump_file)
27056 : fprintf (dump_file, "Splitting with gen_split_2951 (sse.md:14227)\n");
27057 : start_sequence ();
27058 : #define FAIL return (end_sequence (), nullptr)
27059 : #define DONE return end_sequence ()
27060 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27061 : {
27062 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
27063 : int reg6 = 0xF0;
27064 : int reg2 = 0xCC;
27065 : int reg1 = 0xAA;
27066 : int reg3 = 0;
27067 : int reg4 = 0;
27068 : int reg_mask, tmp1, tmp2;
27069 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
27070 : STRIP_UNARY (operands[4])))
27071 : {
27072 : reg4 = reg1;
27073 : reg3 = reg6;
27074 : operands[6] = operands[3];
27075 : }
27076 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
27077 : STRIP_UNARY (operands[4])))
27078 : {
27079 : reg4 = reg2;
27080 : reg3 = reg6;
27081 : operands[6] = operands[3];
27082 : }
27083 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
27084 : STRIP_UNARY (operands[3])))
27085 : {
27086 : reg4 = reg6;
27087 : reg3 = reg1;
27088 : operands[6] = operands[4];
27089 : }
27090 : else
27091 : {
27092 : reg4 = reg6;
27093 : reg3 = reg2;
27094 : operands[6] = operands[4];
27095 : }
27096 :
27097 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
27098 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
27099 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
27100 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
27101 :
27102 : tmp1 = reg1 | reg2;
27103 : tmp2 = tmp1 & reg3;
27104 : reg_mask = tmp2 & reg4;
27105 : reg_mask &= 0xFF;
27106 :
27107 : operands[1] = STRIP_UNARY (operands[1]);
27108 : operands[2] = STRIP_UNARY (operands[2]);
27109 : operands[6] = STRIP_UNARY (operands[6]);
27110 : operands[5] = GEN_INT (reg_mask);
27111 : if (!register_operand (operands[2], V8DFmode))
27112 : operands[2] = force_reg (V8DFmode, operands[2]);
27113 : if (!register_operand (operands[6], V8DFmode))
27114 : operands[6] = force_reg (V8DFmode, operands[6]);
27115 :
27116 : }
27117 : #undef DONE
27118 : #undef FAIL
27119 : static const uint8_t expand_encoding[] = {
27120 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x75, 0x04, 0x01,
27121 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
27122 : 0x25
27123 : };
27124 : return complete_seq (expand_encoding, operands);
27125 : }
27126 :
27127 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
27128 : extern rtx_insn *gen_split_2961 (rtx_insn *, rtx *);
27129 : rtx_insn *
27130 : gen_split_2961 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
27131 : {
27132 : if (dump_file)
27133 : fprintf (dump_file, "Splitting with gen_split_2961 (sse.md:14227)\n");
27134 : start_sequence ();
27135 : #define FAIL return (end_sequence (), nullptr)
27136 : #define DONE return end_sequence ()
27137 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27138 : {
27139 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
27140 : int reg6 = 0xF0;
27141 : int reg2 = 0xCC;
27142 : int reg1 = 0xAA;
27143 : int reg3 = 0;
27144 : int reg4 = 0;
27145 : int reg_mask, tmp1, tmp2;
27146 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
27147 : STRIP_UNARY (operands[4])))
27148 : {
27149 : reg4 = reg1;
27150 : reg3 = reg6;
27151 : operands[6] = operands[3];
27152 : }
27153 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
27154 : STRIP_UNARY (operands[4])))
27155 : {
27156 : reg4 = reg2;
27157 : reg3 = reg6;
27158 : operands[6] = operands[3];
27159 : }
27160 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
27161 : STRIP_UNARY (operands[3])))
27162 : {
27163 : reg4 = reg6;
27164 : reg3 = reg1;
27165 : operands[6] = operands[4];
27166 : }
27167 : else
27168 : {
27169 : reg4 = reg6;
27170 : reg3 = reg2;
27171 : operands[6] = operands[4];
27172 : }
27173 :
27174 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
27175 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
27176 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
27177 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
27178 :
27179 : tmp1 = reg1 | reg2;
27180 : tmp2 = tmp1 | reg3;
27181 : reg_mask = tmp2 | reg4;
27182 : reg_mask &= 0xFF;
27183 :
27184 : operands[1] = STRIP_UNARY (operands[1]);
27185 : operands[2] = STRIP_UNARY (operands[2]);
27186 : operands[6] = STRIP_UNARY (operands[6]);
27187 : operands[5] = GEN_INT (reg_mask);
27188 : if (!register_operand (operands[2], V8DFmode))
27189 : operands[2] = force_reg (V8DFmode, operands[2]);
27190 : if (!register_operand (operands[6], V8DFmode))
27191 : operands[6] = force_reg (V8DFmode, operands[6]);
27192 :
27193 : }
27194 : #undef DONE
27195 : #undef FAIL
27196 : static const uint8_t expand_encoding[] = {
27197 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x75, 0x04, 0x01,
27198 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
27199 : 0x25
27200 : };
27201 : return complete_seq (expand_encoding, operands);
27202 : }
27203 :
27204 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
27205 : extern rtx_insn *gen_split_2971 (rtx_insn *, rtx *);
27206 : rtx_insn *
27207 : gen_split_2971 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
27208 : {
27209 : if (dump_file)
27210 : fprintf (dump_file, "Splitting with gen_split_2971 (sse.md:14227)\n");
27211 : start_sequence ();
27212 : #define FAIL return (end_sequence (), nullptr)
27213 : #define DONE return end_sequence ()
27214 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27215 : {
27216 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
27217 : int reg6 = 0xF0;
27218 : int reg2 = 0xCC;
27219 : int reg1 = 0xAA;
27220 : int reg3 = 0;
27221 : int reg4 = 0;
27222 : int reg_mask, tmp1, tmp2;
27223 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
27224 : STRIP_UNARY (operands[4])))
27225 : {
27226 : reg4 = reg1;
27227 : reg3 = reg6;
27228 : operands[6] = operands[3];
27229 : }
27230 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
27231 : STRIP_UNARY (operands[4])))
27232 : {
27233 : reg4 = reg2;
27234 : reg3 = reg6;
27235 : operands[6] = operands[3];
27236 : }
27237 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
27238 : STRIP_UNARY (operands[3])))
27239 : {
27240 : reg4 = reg6;
27241 : reg3 = reg1;
27242 : operands[6] = operands[4];
27243 : }
27244 : else
27245 : {
27246 : reg4 = reg6;
27247 : reg3 = reg2;
27248 : operands[6] = operands[4];
27249 : }
27250 :
27251 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
27252 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
27253 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
27254 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
27255 :
27256 : tmp1 = reg1 | reg2;
27257 : tmp2 = tmp1 ^ reg3;
27258 : reg_mask = tmp2 ^ reg4;
27259 : reg_mask &= 0xFF;
27260 :
27261 : operands[1] = STRIP_UNARY (operands[1]);
27262 : operands[2] = STRIP_UNARY (operands[2]);
27263 : operands[6] = STRIP_UNARY (operands[6]);
27264 : operands[5] = GEN_INT (reg_mask);
27265 : if (!register_operand (operands[2], V8DFmode))
27266 : operands[2] = force_reg (V8DFmode, operands[2]);
27267 : if (!register_operand (operands[6], V8DFmode))
27268 : operands[6] = force_reg (V8DFmode, operands[6]);
27269 :
27270 : }
27271 : #undef DONE
27272 : #undef FAIL
27273 : static const uint8_t expand_encoding[] = {
27274 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x75, 0x04, 0x01,
27275 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
27276 : 0x25
27277 : };
27278 : return complete_seq (expand_encoding, operands);
27279 : }
27280 :
27281 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
27282 : extern rtx_insn *gen_split_2981 (rtx_insn *, rtx *);
27283 : rtx_insn *
27284 : gen_split_2981 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
27285 : {
27286 : if (dump_file)
27287 : fprintf (dump_file, "Splitting with gen_split_2981 (sse.md:14227)\n");
27288 : start_sequence ();
27289 : #define FAIL return (end_sequence (), nullptr)
27290 : #define DONE return end_sequence ()
27291 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27292 : {
27293 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
27294 : int reg6 = 0xF0;
27295 : int reg2 = 0xCC;
27296 : int reg1 = 0xAA;
27297 : int reg3 = 0;
27298 : int reg4 = 0;
27299 : int reg_mask, tmp1, tmp2;
27300 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
27301 : STRIP_UNARY (operands[4])))
27302 : {
27303 : reg4 = reg1;
27304 : reg3 = reg6;
27305 : operands[6] = operands[3];
27306 : }
27307 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
27308 : STRIP_UNARY (operands[4])))
27309 : {
27310 : reg4 = reg2;
27311 : reg3 = reg6;
27312 : operands[6] = operands[3];
27313 : }
27314 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
27315 : STRIP_UNARY (operands[3])))
27316 : {
27317 : reg4 = reg6;
27318 : reg3 = reg1;
27319 : operands[6] = operands[4];
27320 : }
27321 : else
27322 : {
27323 : reg4 = reg6;
27324 : reg3 = reg2;
27325 : operands[6] = operands[4];
27326 : }
27327 :
27328 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
27329 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
27330 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
27331 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
27332 :
27333 : tmp1 = reg1 ^ reg2;
27334 : tmp2 = tmp1 & reg3;
27335 : reg_mask = tmp2 & reg4;
27336 : reg_mask &= 0xFF;
27337 :
27338 : operands[1] = STRIP_UNARY (operands[1]);
27339 : operands[2] = STRIP_UNARY (operands[2]);
27340 : operands[6] = STRIP_UNARY (operands[6]);
27341 : operands[5] = GEN_INT (reg_mask);
27342 : if (!register_operand (operands[2], V4DFmode))
27343 : operands[2] = force_reg (V4DFmode, operands[2]);
27344 : if (!register_operand (operands[6], V4DFmode))
27345 : operands[6] = force_reg (V4DFmode, operands[6]);
27346 :
27347 : }
27348 : #undef DONE
27349 : #undef FAIL
27350 : static const uint8_t expand_encoding[] = {
27351 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x70, 0x04, 0x01,
27352 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
27353 : 0x25
27354 : };
27355 : return complete_seq (expand_encoding, operands);
27356 : }
27357 :
27358 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
27359 : extern rtx_insn *gen_split_2991 (rtx_insn *, rtx *);
27360 : rtx_insn *
27361 : gen_split_2991 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
27362 : {
27363 : if (dump_file)
27364 : fprintf (dump_file, "Splitting with gen_split_2991 (sse.md:14227)\n");
27365 : start_sequence ();
27366 : #define FAIL return (end_sequence (), nullptr)
27367 : #define DONE return end_sequence ()
27368 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27369 : {
27370 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
27371 : int reg6 = 0xF0;
27372 : int reg2 = 0xCC;
27373 : int reg1 = 0xAA;
27374 : int reg3 = 0;
27375 : int reg4 = 0;
27376 : int reg_mask, tmp1, tmp2;
27377 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
27378 : STRIP_UNARY (operands[4])))
27379 : {
27380 : reg4 = reg1;
27381 : reg3 = reg6;
27382 : operands[6] = operands[3];
27383 : }
27384 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
27385 : STRIP_UNARY (operands[4])))
27386 : {
27387 : reg4 = reg2;
27388 : reg3 = reg6;
27389 : operands[6] = operands[3];
27390 : }
27391 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
27392 : STRIP_UNARY (operands[3])))
27393 : {
27394 : reg4 = reg6;
27395 : reg3 = reg1;
27396 : operands[6] = operands[4];
27397 : }
27398 : else
27399 : {
27400 : reg4 = reg6;
27401 : reg3 = reg2;
27402 : operands[6] = operands[4];
27403 : }
27404 :
27405 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
27406 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
27407 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
27408 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
27409 :
27410 : tmp1 = reg1 ^ reg2;
27411 : tmp2 = tmp1 | reg3;
27412 : reg_mask = tmp2 | reg4;
27413 : reg_mask &= 0xFF;
27414 :
27415 : operands[1] = STRIP_UNARY (operands[1]);
27416 : operands[2] = STRIP_UNARY (operands[2]);
27417 : operands[6] = STRIP_UNARY (operands[6]);
27418 : operands[5] = GEN_INT (reg_mask);
27419 : if (!register_operand (operands[2], V4DFmode))
27420 : operands[2] = force_reg (V4DFmode, operands[2]);
27421 : if (!register_operand (operands[6], V4DFmode))
27422 : operands[6] = force_reg (V4DFmode, operands[6]);
27423 :
27424 : }
27425 : #undef DONE
27426 : #undef FAIL
27427 : static const uint8_t expand_encoding[] = {
27428 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x70, 0x04, 0x01,
27429 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
27430 : 0x25
27431 : };
27432 : return complete_seq (expand_encoding, operands);
27433 : }
27434 :
27435 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
27436 : extern rtx_insn *gen_split_3001 (rtx_insn *, rtx *);
27437 : rtx_insn *
27438 : gen_split_3001 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
27439 : {
27440 : if (dump_file)
27441 : fprintf (dump_file, "Splitting with gen_split_3001 (sse.md:14227)\n");
27442 : start_sequence ();
27443 : #define FAIL return (end_sequence (), nullptr)
27444 : #define DONE return end_sequence ()
27445 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27446 : {
27447 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
27448 : int reg6 = 0xF0;
27449 : int reg2 = 0xCC;
27450 : int reg1 = 0xAA;
27451 : int reg3 = 0;
27452 : int reg4 = 0;
27453 : int reg_mask, tmp1, tmp2;
27454 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
27455 : STRIP_UNARY (operands[4])))
27456 : {
27457 : reg4 = reg1;
27458 : reg3 = reg6;
27459 : operands[6] = operands[3];
27460 : }
27461 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
27462 : STRIP_UNARY (operands[4])))
27463 : {
27464 : reg4 = reg2;
27465 : reg3 = reg6;
27466 : operands[6] = operands[3];
27467 : }
27468 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
27469 : STRIP_UNARY (operands[3])))
27470 : {
27471 : reg4 = reg6;
27472 : reg3 = reg1;
27473 : operands[6] = operands[4];
27474 : }
27475 : else
27476 : {
27477 : reg4 = reg6;
27478 : reg3 = reg2;
27479 : operands[6] = operands[4];
27480 : }
27481 :
27482 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
27483 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
27484 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
27485 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
27486 :
27487 : tmp1 = reg1 ^ reg2;
27488 : tmp2 = tmp1 ^ reg3;
27489 : reg_mask = tmp2 ^ reg4;
27490 : reg_mask &= 0xFF;
27491 :
27492 : operands[1] = STRIP_UNARY (operands[1]);
27493 : operands[2] = STRIP_UNARY (operands[2]);
27494 : operands[6] = STRIP_UNARY (operands[6]);
27495 : operands[5] = GEN_INT (reg_mask);
27496 : if (!register_operand (operands[2], V4DFmode))
27497 : operands[2] = force_reg (V4DFmode, operands[2]);
27498 : if (!register_operand (operands[6], V4DFmode))
27499 : operands[6] = force_reg (V4DFmode, operands[6]);
27500 :
27501 : }
27502 : #undef DONE
27503 : #undef FAIL
27504 : static const uint8_t expand_encoding[] = {
27505 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x70, 0x04, 0x01,
27506 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
27507 : 0x25
27508 : };
27509 : return complete_seq (expand_encoding, operands);
27510 : }
27511 :
27512 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
27513 : extern rtx_insn *gen_split_3011 (rtx_insn *, rtx *);
27514 : rtx_insn *
27515 : gen_split_3011 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
27516 : {
27517 : if (dump_file)
27518 : fprintf (dump_file, "Splitting with gen_split_3011 (sse.md:14227)\n");
27519 : start_sequence ();
27520 : #define FAIL return (end_sequence (), nullptr)
27521 : #define DONE return end_sequence ()
27522 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27523 : {
27524 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
27525 : int reg6 = 0xF0;
27526 : int reg2 = 0xCC;
27527 : int reg1 = 0xAA;
27528 : int reg3 = 0;
27529 : int reg4 = 0;
27530 : int reg_mask, tmp1, tmp2;
27531 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
27532 : STRIP_UNARY (operands[4])))
27533 : {
27534 : reg4 = reg1;
27535 : reg3 = reg6;
27536 : operands[6] = operands[3];
27537 : }
27538 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
27539 : STRIP_UNARY (operands[4])))
27540 : {
27541 : reg4 = reg2;
27542 : reg3 = reg6;
27543 : operands[6] = operands[3];
27544 : }
27545 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
27546 : STRIP_UNARY (operands[3])))
27547 : {
27548 : reg4 = reg6;
27549 : reg3 = reg1;
27550 : operands[6] = operands[4];
27551 : }
27552 : else
27553 : {
27554 : reg4 = reg6;
27555 : reg3 = reg2;
27556 : operands[6] = operands[4];
27557 : }
27558 :
27559 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
27560 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
27561 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
27562 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
27563 :
27564 : tmp1 = reg1 & reg2;
27565 : tmp2 = tmp1 | reg3;
27566 : reg_mask = tmp2 & reg4;
27567 : reg_mask &= 0xFF;
27568 :
27569 : operands[1] = STRIP_UNARY (operands[1]);
27570 : operands[2] = STRIP_UNARY (operands[2]);
27571 : operands[6] = STRIP_UNARY (operands[6]);
27572 : operands[5] = GEN_INT (reg_mask);
27573 : if (!register_operand (operands[2], V2DFmode))
27574 : operands[2] = force_reg (V2DFmode, operands[2]);
27575 : if (!register_operand (operands[6], V2DFmode))
27576 : operands[6] = force_reg (V2DFmode, operands[6]);
27577 :
27578 : }
27579 : #undef DONE
27580 : #undef FAIL
27581 : static const uint8_t expand_encoding[] = {
27582 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6c, 0x04, 0x01,
27583 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
27584 : 0x25
27585 : };
27586 : return complete_seq (expand_encoding, operands);
27587 : }
27588 :
27589 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14227 */
27590 : extern rtx_insn *gen_split_3021 (rtx_insn *, rtx *);
27591 : rtx_insn *
27592 : gen_split_3021 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
27593 : {
27594 : if (dump_file)
27595 : fprintf (dump_file, "Splitting with gen_split_3021 (sse.md:14227)\n");
27596 : start_sequence ();
27597 : #define FAIL return (end_sequence (), nullptr)
27598 : #define DONE return end_sequence ()
27599 : #line 14256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27600 : {
27601 : /* VPTERNLOGD reg6, reg2, reg1, imm8. */
27602 : int reg6 = 0xF0;
27603 : int reg2 = 0xCC;
27604 : int reg1 = 0xAA;
27605 : int reg3 = 0;
27606 : int reg4 = 0;
27607 : int reg_mask, tmp1, tmp2;
27608 : if (rtx_equal_p (STRIP_UNARY (operands[1]),
27609 : STRIP_UNARY (operands[4])))
27610 : {
27611 : reg4 = reg1;
27612 : reg3 = reg6;
27613 : operands[6] = operands[3];
27614 : }
27615 : else if (rtx_equal_p (STRIP_UNARY (operands[2]),
27616 : STRIP_UNARY (operands[4])))
27617 : {
27618 : reg4 = reg2;
27619 : reg3 = reg6;
27620 : operands[6] = operands[3];
27621 : }
27622 : else if (rtx_equal_p (STRIP_UNARY (operands[1]),
27623 : STRIP_UNARY (operands[3])))
27624 : {
27625 : reg4 = reg6;
27626 : reg3 = reg1;
27627 : operands[6] = operands[4];
27628 : }
27629 : else
27630 : {
27631 : reg4 = reg6;
27632 : reg3 = reg2;
27633 : operands[6] = operands[4];
27634 : }
27635 :
27636 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
27637 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
27638 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
27639 : reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;
27640 :
27641 : tmp1 = reg1 & reg2;
27642 : tmp2 = tmp1 ^ reg3;
27643 : reg_mask = tmp2 | reg4;
27644 : reg_mask &= 0xFF;
27645 :
27646 : operands[1] = STRIP_UNARY (operands[1]);
27647 : operands[2] = STRIP_UNARY (operands[2]);
27648 : operands[6] = STRIP_UNARY (operands[6]);
27649 : operands[5] = GEN_INT (reg_mask);
27650 : if (!register_operand (operands[2], V2DFmode))
27651 : operands[2] = force_reg (V2DFmode, operands[2]);
27652 : if (!register_operand (operands[6], V2DFmode))
27653 : operands[6] = force_reg (V2DFmode, operands[6]);
27654 :
27655 : }
27656 : #undef DONE
27657 : #undef FAIL
27658 : static const uint8_t expand_encoding[] = {
27659 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6c, 0x04, 0x01,
27660 : 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x05, 0x81,
27661 : 0x25
27662 : };
27663 : return complete_seq (expand_encoding, operands);
27664 : }
27665 :
27666 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14313 */
27667 : extern rtx_insn *gen_split_3031 (rtx_insn *, rtx *);
27668 : rtx_insn *
27669 : gen_split_3031 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
27670 : {
27671 : if (dump_file)
27672 : fprintf (dump_file, "Splitting with gen_split_3031 (sse.md:14313)\n");
27673 : start_sequence ();
27674 : #define FAIL return (end_sequence (), nullptr)
27675 : #define DONE return end_sequence ()
27676 : #line 14332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27677 : {
27678 : /* VPTERNLOGD reg3, reg2, reg1, imm8. */
27679 : int reg3 = 0xF0;
27680 : int reg2 = 0xCC;
27681 : int reg1 = 0xAA;
27682 : int reg_mask, tmp1;
27683 :
27684 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
27685 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
27686 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
27687 :
27688 : tmp1 = reg1 & reg2;
27689 : reg_mask = tmp1 ^ reg3;
27690 : reg_mask &= 0xFF;
27691 :
27692 : operands[1] = STRIP_UNARY (operands[1]);
27693 : operands[2] = STRIP_UNARY (operands[2]);
27694 : operands[3] = STRIP_UNARY (operands[3]);
27695 : operands[4] = GEN_INT (reg_mask);
27696 : if (!register_operand (operands[2], V64QImode))
27697 : operands[2] = force_reg (V64QImode, operands[2]);
27698 : if (!register_operand (operands[3], V64QImode))
27699 : operands[3] = force_reg (V64QImode, operands[3]);
27700 : }
27701 : #undef DONE
27702 : #undef FAIL
27703 : static const uint8_t expand_encoding[] = {
27704 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x59, 0x04, 0x01,
27705 : 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x04, 0x81,
27706 : 0x25
27707 : };
27708 : return complete_seq (expand_encoding, operands);
27709 : }
27710 :
27711 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14313 */
27712 : extern rtx_insn *gen_split_3037 (rtx_insn *, rtx *);
27713 : rtx_insn *
27714 : gen_split_3037 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
27715 : {
27716 : if (dump_file)
27717 : fprintf (dump_file, "Splitting with gen_split_3037 (sse.md:14313)\n");
27718 : start_sequence ();
27719 : #define FAIL return (end_sequence (), nullptr)
27720 : #define DONE return end_sequence ()
27721 : #line 14332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27722 : {
27723 : /* VPTERNLOGD reg3, reg2, reg1, imm8. */
27724 : int reg3 = 0xF0;
27725 : int reg2 = 0xCC;
27726 : int reg1 = 0xAA;
27727 : int reg_mask, tmp1;
27728 :
27729 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
27730 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
27731 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
27732 :
27733 : tmp1 = reg1 ^ reg2;
27734 : reg_mask = tmp1 ^ reg3;
27735 : reg_mask &= 0xFF;
27736 :
27737 : operands[1] = STRIP_UNARY (operands[1]);
27738 : operands[2] = STRIP_UNARY (operands[2]);
27739 : operands[3] = STRIP_UNARY (operands[3]);
27740 : operands[4] = GEN_INT (reg_mask);
27741 : if (!register_operand (operands[2], V64QImode))
27742 : operands[2] = force_reg (V64QImode, operands[2]);
27743 : if (!register_operand (operands[3], V64QImode))
27744 : operands[3] = force_reg (V64QImode, operands[3]);
27745 : }
27746 : #undef DONE
27747 : #undef FAIL
27748 : static const uint8_t expand_encoding[] = {
27749 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x59, 0x04, 0x01,
27750 : 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x04, 0x81,
27751 : 0x25
27752 : };
27753 : return complete_seq (expand_encoding, operands);
27754 : }
27755 :
27756 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14313 */
27757 : extern rtx_insn *gen_split_3047 (rtx_insn *, rtx *);
27758 : rtx_insn *
27759 : gen_split_3047 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
27760 : {
27761 : if (dump_file)
27762 : fprintf (dump_file, "Splitting with gen_split_3047 (sse.md:14313)\n");
27763 : start_sequence ();
27764 : #define FAIL return (end_sequence (), nullptr)
27765 : #define DONE return end_sequence ()
27766 : #line 14332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27767 : {
27768 : /* VPTERNLOGD reg3, reg2, reg1, imm8. */
27769 : int reg3 = 0xF0;
27770 : int reg2 = 0xCC;
27771 : int reg1 = 0xAA;
27772 : int reg_mask, tmp1;
27773 :
27774 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
27775 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
27776 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
27777 :
27778 : tmp1 = reg1 & reg2;
27779 : reg_mask = tmp1 & reg3;
27780 : reg_mask &= 0xFF;
27781 :
27782 : operands[1] = STRIP_UNARY (operands[1]);
27783 : operands[2] = STRIP_UNARY (operands[2]);
27784 : operands[3] = STRIP_UNARY (operands[3]);
27785 : operands[4] = GEN_INT (reg_mask);
27786 : if (!register_operand (operands[2], V16QImode))
27787 : operands[2] = force_reg (V16QImode, operands[2]);
27788 : if (!register_operand (operands[3], V16QImode))
27789 : operands[3] = force_reg (V16QImode, operands[3]);
27790 : }
27791 : #undef DONE
27792 : #undef FAIL
27793 : static const uint8_t expand_encoding[] = {
27794 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x4f, 0x04, 0x01,
27795 : 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x04, 0x81,
27796 : 0x25
27797 : };
27798 : return complete_seq (expand_encoding, operands);
27799 : }
27800 :
27801 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14313 */
27802 : extern rtx_insn *gen_split_3057 (rtx_insn *, rtx *);
27803 : rtx_insn *
27804 : gen_split_3057 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
27805 : {
27806 : if (dump_file)
27807 : fprintf (dump_file, "Splitting with gen_split_3057 (sse.md:14313)\n");
27808 : start_sequence ();
27809 : #define FAIL return (end_sequence (), nullptr)
27810 : #define DONE return end_sequence ()
27811 : #line 14332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27812 : {
27813 : /* VPTERNLOGD reg3, reg2, reg1, imm8. */
27814 : int reg3 = 0xF0;
27815 : int reg2 = 0xCC;
27816 : int reg1 = 0xAA;
27817 : int reg_mask, tmp1;
27818 :
27819 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
27820 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
27821 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
27822 :
27823 : tmp1 = reg1 & reg2;
27824 : reg_mask = tmp1 | reg3;
27825 : reg_mask &= 0xFF;
27826 :
27827 : operands[1] = STRIP_UNARY (operands[1]);
27828 : operands[2] = STRIP_UNARY (operands[2]);
27829 : operands[3] = STRIP_UNARY (operands[3]);
27830 : operands[4] = GEN_INT (reg_mask);
27831 : if (!register_operand (operands[2], V32HImode))
27832 : operands[2] = force_reg (V32HImode, operands[2]);
27833 : if (!register_operand (operands[3], V32HImode))
27834 : operands[3] = force_reg (V32HImode, operands[3]);
27835 : }
27836 : #undef DONE
27837 : #undef FAIL
27838 : static const uint8_t expand_encoding[] = {
27839 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x5a, 0x04, 0x01,
27840 : 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x04, 0x81,
27841 : 0x25
27842 : };
27843 : return complete_seq (expand_encoding, operands);
27844 : }
27845 :
27846 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14313 */
27847 : extern rtx_insn *gen_split_3067 (rtx_insn *, rtx *);
27848 : rtx_insn *
27849 : gen_split_3067 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
27850 : {
27851 : if (dump_file)
27852 : fprintf (dump_file, "Splitting with gen_split_3067 (sse.md:14313)\n");
27853 : start_sequence ();
27854 : #define FAIL return (end_sequence (), nullptr)
27855 : #define DONE return end_sequence ()
27856 : #line 14332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27857 : {
27858 : /* VPTERNLOGD reg3, reg2, reg1, imm8. */
27859 : int reg3 = 0xF0;
27860 : int reg2 = 0xCC;
27861 : int reg1 = 0xAA;
27862 : int reg_mask, tmp1;
27863 :
27864 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
27865 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
27866 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
27867 :
27868 : tmp1 = reg1 & reg2;
27869 : reg_mask = tmp1 ^ reg3;
27870 : reg_mask &= 0xFF;
27871 :
27872 : operands[1] = STRIP_UNARY (operands[1]);
27873 : operands[2] = STRIP_UNARY (operands[2]);
27874 : operands[3] = STRIP_UNARY (operands[3]);
27875 : operands[4] = GEN_INT (reg_mask);
27876 : if (!register_operand (operands[2], V16HImode))
27877 : operands[2] = force_reg (V16HImode, operands[2]);
27878 : if (!register_operand (operands[3], V16HImode))
27879 : operands[3] = force_reg (V16HImode, operands[3]);
27880 : }
27881 : #undef DONE
27882 : #undef FAIL
27883 : static const uint8_t expand_encoding[] = {
27884 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x55, 0x04, 0x01,
27885 : 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x04, 0x81,
27886 : 0x25
27887 : };
27888 : return complete_seq (expand_encoding, operands);
27889 : }
27890 :
27891 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14313 */
27892 : extern rtx_insn *gen_split_3077 (rtx_insn *, rtx *);
27893 : rtx_insn *
27894 : gen_split_3077 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
27895 : {
27896 : if (dump_file)
27897 : fprintf (dump_file, "Splitting with gen_split_3077 (sse.md:14313)\n");
27898 : start_sequence ();
27899 : #define FAIL return (end_sequence (), nullptr)
27900 : #define DONE return end_sequence ()
27901 : #line 14332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27902 : {
27903 : /* VPTERNLOGD reg3, reg2, reg1, imm8. */
27904 : int reg3 = 0xF0;
27905 : int reg2 = 0xCC;
27906 : int reg1 = 0xAA;
27907 : int reg_mask, tmp1;
27908 :
27909 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
27910 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
27911 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
27912 :
27913 : tmp1 = reg1 | reg2;
27914 : reg_mask = tmp1 & reg3;
27915 : reg_mask &= 0xFF;
27916 :
27917 : operands[1] = STRIP_UNARY (operands[1]);
27918 : operands[2] = STRIP_UNARY (operands[2]);
27919 : operands[3] = STRIP_UNARY (operands[3]);
27920 : operands[4] = GEN_INT (reg_mask);
27921 : if (!register_operand (operands[2], V8HImode))
27922 : operands[2] = force_reg (V8HImode, operands[2]);
27923 : if (!register_operand (operands[3], V8HImode))
27924 : operands[3] = force_reg (V8HImode, operands[3]);
27925 : }
27926 : #undef DONE
27927 : #undef FAIL
27928 : static const uint8_t expand_encoding[] = {
27929 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x50, 0x04, 0x01,
27930 : 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x04, 0x81,
27931 : 0x25
27932 : };
27933 : return complete_seq (expand_encoding, operands);
27934 : }
27935 :
27936 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14313 */
27937 : extern rtx_insn *gen_split_3087 (rtx_insn *, rtx *);
27938 : rtx_insn *
27939 : gen_split_3087 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
27940 : {
27941 : if (dump_file)
27942 : fprintf (dump_file, "Splitting with gen_split_3087 (sse.md:14313)\n");
27943 : start_sequence ();
27944 : #define FAIL return (end_sequence (), nullptr)
27945 : #define DONE return end_sequence ()
27946 : #line 14332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27947 : {
27948 : /* VPTERNLOGD reg3, reg2, reg1, imm8. */
27949 : int reg3 = 0xF0;
27950 : int reg2 = 0xCC;
27951 : int reg1 = 0xAA;
27952 : int reg_mask, tmp1;
27953 :
27954 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
27955 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
27956 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
27957 :
27958 : tmp1 = reg1 | reg2;
27959 : reg_mask = tmp1 | reg3;
27960 : reg_mask &= 0xFF;
27961 :
27962 : operands[1] = STRIP_UNARY (operands[1]);
27963 : operands[2] = STRIP_UNARY (operands[2]);
27964 : operands[3] = STRIP_UNARY (operands[3]);
27965 : operands[4] = GEN_INT (reg_mask);
27966 : if (!register_operand (operands[2], V16SImode))
27967 : operands[2] = force_reg (V16SImode, operands[2]);
27968 : if (!register_operand (operands[3], V16SImode))
27969 : operands[3] = force_reg (V16SImode, operands[3]);
27970 : }
27971 : #undef DONE
27972 : #undef FAIL
27973 : static const uint8_t expand_encoding[] = {
27974 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x5b, 0x04, 0x01,
27975 : 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x04, 0x81,
27976 : 0x25
27977 : };
27978 : return complete_seq (expand_encoding, operands);
27979 : }
27980 :
27981 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14313 */
27982 : extern rtx_insn *gen_split_3097 (rtx_insn *, rtx *);
27983 : rtx_insn *
27984 : gen_split_3097 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
27985 : {
27986 : if (dump_file)
27987 : fprintf (dump_file, "Splitting with gen_split_3097 (sse.md:14313)\n");
27988 : start_sequence ();
27989 : #define FAIL return (end_sequence (), nullptr)
27990 : #define DONE return end_sequence ()
27991 : #line 14332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27992 : {
27993 : /* VPTERNLOGD reg3, reg2, reg1, imm8. */
27994 : int reg3 = 0xF0;
27995 : int reg2 = 0xCC;
27996 : int reg1 = 0xAA;
27997 : int reg_mask, tmp1;
27998 :
27999 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
28000 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
28001 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
28002 :
28003 : tmp1 = reg1 | reg2;
28004 : reg_mask = tmp1 ^ reg3;
28005 : reg_mask &= 0xFF;
28006 :
28007 : operands[1] = STRIP_UNARY (operands[1]);
28008 : operands[2] = STRIP_UNARY (operands[2]);
28009 : operands[3] = STRIP_UNARY (operands[3]);
28010 : operands[4] = GEN_INT (reg_mask);
28011 : if (!register_operand (operands[2], V8SImode))
28012 : operands[2] = force_reg (V8SImode, operands[2]);
28013 : if (!register_operand (operands[3], V8SImode))
28014 : operands[3] = force_reg (V8SImode, operands[3]);
28015 : }
28016 : #undef DONE
28017 : #undef FAIL
28018 : static const uint8_t expand_encoding[] = {
28019 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x56, 0x04, 0x01,
28020 : 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x04, 0x81,
28021 : 0x25
28022 : };
28023 : return complete_seq (expand_encoding, operands);
28024 : }
28025 :
28026 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14313 */
28027 : extern rtx_insn *gen_split_3107 (rtx_insn *, rtx *);
28028 : rtx_insn *
28029 : gen_split_3107 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
28030 : {
28031 : if (dump_file)
28032 : fprintf (dump_file, "Splitting with gen_split_3107 (sse.md:14313)\n");
28033 : start_sequence ();
28034 : #define FAIL return (end_sequence (), nullptr)
28035 : #define DONE return end_sequence ()
28036 : #line 14332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28037 : {
28038 : /* VPTERNLOGD reg3, reg2, reg1, imm8. */
28039 : int reg3 = 0xF0;
28040 : int reg2 = 0xCC;
28041 : int reg1 = 0xAA;
28042 : int reg_mask, tmp1;
28043 :
28044 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
28045 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
28046 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
28047 :
28048 : tmp1 = reg1 ^ reg2;
28049 : reg_mask = tmp1 & reg3;
28050 : reg_mask &= 0xFF;
28051 :
28052 : operands[1] = STRIP_UNARY (operands[1]);
28053 : operands[2] = STRIP_UNARY (operands[2]);
28054 : operands[3] = STRIP_UNARY (operands[3]);
28055 : operands[4] = GEN_INT (reg_mask);
28056 : if (!register_operand (operands[2], V4SImode))
28057 : operands[2] = force_reg (V4SImode, operands[2]);
28058 : if (!register_operand (operands[3], V4SImode))
28059 : operands[3] = force_reg (V4SImode, operands[3]);
28060 : }
28061 : #undef DONE
28062 : #undef FAIL
28063 : static const uint8_t expand_encoding[] = {
28064 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x51, 0x04, 0x01,
28065 : 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x04, 0x81,
28066 : 0x25
28067 : };
28068 : return complete_seq (expand_encoding, operands);
28069 : }
28070 :
28071 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14313 */
28072 : extern rtx_insn *gen_split_3117 (rtx_insn *, rtx *);
28073 : rtx_insn *
28074 : gen_split_3117 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
28075 : {
28076 : if (dump_file)
28077 : fprintf (dump_file, "Splitting with gen_split_3117 (sse.md:14313)\n");
28078 : start_sequence ();
28079 : #define FAIL return (end_sequence (), nullptr)
28080 : #define DONE return end_sequence ()
28081 : #line 14332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28082 : {
28083 : /* VPTERNLOGD reg3, reg2, reg1, imm8. */
28084 : int reg3 = 0xF0;
28085 : int reg2 = 0xCC;
28086 : int reg1 = 0xAA;
28087 : int reg_mask, tmp1;
28088 :
28089 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
28090 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
28091 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
28092 :
28093 : tmp1 = reg1 ^ reg2;
28094 : reg_mask = tmp1 | reg3;
28095 : reg_mask &= 0xFF;
28096 :
28097 : operands[1] = STRIP_UNARY (operands[1]);
28098 : operands[2] = STRIP_UNARY (operands[2]);
28099 : operands[3] = STRIP_UNARY (operands[3]);
28100 : operands[4] = GEN_INT (reg_mask);
28101 : if (!register_operand (operands[2], V8DImode))
28102 : operands[2] = force_reg (V8DImode, operands[2]);
28103 : if (!register_operand (operands[3], V8DImode))
28104 : operands[3] = force_reg (V8DImode, operands[3]);
28105 : }
28106 : #undef DONE
28107 : #undef FAIL
28108 : static const uint8_t expand_encoding[] = {
28109 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x5c, 0x04, 0x01,
28110 : 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x04, 0x81,
28111 : 0x25
28112 : };
28113 : return complete_seq (expand_encoding, operands);
28114 : }
28115 :
28116 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14313 */
28117 : extern rtx_insn *gen_split_3127 (rtx_insn *, rtx *);
28118 : rtx_insn *
28119 : gen_split_3127 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
28120 : {
28121 : if (dump_file)
28122 : fprintf (dump_file, "Splitting with gen_split_3127 (sse.md:14313)\n");
28123 : start_sequence ();
28124 : #define FAIL return (end_sequence (), nullptr)
28125 : #define DONE return end_sequence ()
28126 : #line 14332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28127 : {
28128 : /* VPTERNLOGD reg3, reg2, reg1, imm8. */
28129 : int reg3 = 0xF0;
28130 : int reg2 = 0xCC;
28131 : int reg1 = 0xAA;
28132 : int reg_mask, tmp1;
28133 :
28134 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
28135 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
28136 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
28137 :
28138 : tmp1 = reg1 ^ reg2;
28139 : reg_mask = tmp1 ^ reg3;
28140 : reg_mask &= 0xFF;
28141 :
28142 : operands[1] = STRIP_UNARY (operands[1]);
28143 : operands[2] = STRIP_UNARY (operands[2]);
28144 : operands[3] = STRIP_UNARY (operands[3]);
28145 : operands[4] = GEN_INT (reg_mask);
28146 : if (!register_operand (operands[2], V4DImode))
28147 : operands[2] = force_reg (V4DImode, operands[2]);
28148 : if (!register_operand (operands[3], V4DImode))
28149 : operands[3] = force_reg (V4DImode, operands[3]);
28150 : }
28151 : #undef DONE
28152 : #undef FAIL
28153 : static const uint8_t expand_encoding[] = {
28154 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x57, 0x04, 0x01,
28155 : 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x04, 0x81,
28156 : 0x25
28157 : };
28158 : return complete_seq (expand_encoding, operands);
28159 : }
28160 :
28161 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14313 */
28162 : extern rtx_insn *gen_split_3137 (rtx_insn *, rtx *);
28163 : rtx_insn *
28164 : gen_split_3137 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
28165 : {
28166 : if (dump_file)
28167 : fprintf (dump_file, "Splitting with gen_split_3137 (sse.md:14313)\n");
28168 : start_sequence ();
28169 : #define FAIL return (end_sequence (), nullptr)
28170 : #define DONE return end_sequence ()
28171 : #line 14332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28172 : {
28173 : /* VPTERNLOGD reg3, reg2, reg1, imm8. */
28174 : int reg3 = 0xF0;
28175 : int reg2 = 0xCC;
28176 : int reg1 = 0xAA;
28177 : int reg_mask, tmp1;
28178 :
28179 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
28180 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
28181 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
28182 :
28183 : tmp1 = reg1 & reg2;
28184 : reg_mask = tmp1 & reg3;
28185 : reg_mask &= 0xFF;
28186 :
28187 : operands[1] = STRIP_UNARY (operands[1]);
28188 : operands[2] = STRIP_UNARY (operands[2]);
28189 : operands[3] = STRIP_UNARY (operands[3]);
28190 : operands[4] = GEN_INT (reg_mask);
28191 : if (!register_operand (operands[2], V32HFmode))
28192 : operands[2] = force_reg (V32HFmode, operands[2]);
28193 : if (!register_operand (operands[3], V32HFmode))
28194 : operands[3] = force_reg (V32HFmode, operands[3]);
28195 : }
28196 : #undef DONE
28197 : #undef FAIL
28198 : static const uint8_t expand_encoding[] = {
28199 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x73, 0x04, 0x01,
28200 : 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x04, 0x81,
28201 : 0x25
28202 : };
28203 : return complete_seq (expand_encoding, operands);
28204 : }
28205 :
28206 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14313 */
28207 : extern rtx_insn *gen_split_3147 (rtx_insn *, rtx *);
28208 : rtx_insn *
28209 : gen_split_3147 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
28210 : {
28211 : if (dump_file)
28212 : fprintf (dump_file, "Splitting with gen_split_3147 (sse.md:14313)\n");
28213 : start_sequence ();
28214 : #define FAIL return (end_sequence (), nullptr)
28215 : #define DONE return end_sequence ()
28216 : #line 14332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28217 : {
28218 : /* VPTERNLOGD reg3, reg2, reg1, imm8. */
28219 : int reg3 = 0xF0;
28220 : int reg2 = 0xCC;
28221 : int reg1 = 0xAA;
28222 : int reg_mask, tmp1;
28223 :
28224 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
28225 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
28226 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
28227 :
28228 : tmp1 = reg1 & reg2;
28229 : reg_mask = tmp1 | reg3;
28230 : reg_mask &= 0xFF;
28231 :
28232 : operands[1] = STRIP_UNARY (operands[1]);
28233 : operands[2] = STRIP_UNARY (operands[2]);
28234 : operands[3] = STRIP_UNARY (operands[3]);
28235 : operands[4] = GEN_INT (reg_mask);
28236 : if (!register_operand (operands[2], V16HFmode))
28237 : operands[2] = force_reg (V16HFmode, operands[2]);
28238 : if (!register_operand (operands[3], V16HFmode))
28239 : operands[3] = force_reg (V16HFmode, operands[3]);
28240 : }
28241 : #undef DONE
28242 : #undef FAIL
28243 : static const uint8_t expand_encoding[] = {
28244 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6e, 0x04, 0x01,
28245 : 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x04, 0x81,
28246 : 0x25
28247 : };
28248 : return complete_seq (expand_encoding, operands);
28249 : }
28250 :
28251 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14313 */
28252 : extern rtx_insn *gen_split_3157 (rtx_insn *, rtx *);
28253 : rtx_insn *
28254 : gen_split_3157 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
28255 : {
28256 : if (dump_file)
28257 : fprintf (dump_file, "Splitting with gen_split_3157 (sse.md:14313)\n");
28258 : start_sequence ();
28259 : #define FAIL return (end_sequence (), nullptr)
28260 : #define DONE return end_sequence ()
28261 : #line 14332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28262 : {
28263 : /* VPTERNLOGD reg3, reg2, reg1, imm8. */
28264 : int reg3 = 0xF0;
28265 : int reg2 = 0xCC;
28266 : int reg1 = 0xAA;
28267 : int reg_mask, tmp1;
28268 :
28269 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
28270 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
28271 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
28272 :
28273 : tmp1 = reg1 & reg2;
28274 : reg_mask = tmp1 ^ reg3;
28275 : reg_mask &= 0xFF;
28276 :
28277 : operands[1] = STRIP_UNARY (operands[1]);
28278 : operands[2] = STRIP_UNARY (operands[2]);
28279 : operands[3] = STRIP_UNARY (operands[3]);
28280 : operands[4] = GEN_INT (reg_mask);
28281 : if (!register_operand (operands[2], V8HFmode))
28282 : operands[2] = force_reg (V8HFmode, operands[2]);
28283 : if (!register_operand (operands[3], V8HFmode))
28284 : operands[3] = force_reg (V8HFmode, operands[3]);
28285 : }
28286 : #undef DONE
28287 : #undef FAIL
28288 : static const uint8_t expand_encoding[] = {
28289 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6a, 0x04, 0x01,
28290 : 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x04, 0x81,
28291 : 0x25
28292 : };
28293 : return complete_seq (expand_encoding, operands);
28294 : }
28295 :
28296 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14313 */
28297 : extern rtx_insn *gen_split_3167 (rtx_insn *, rtx *);
28298 : rtx_insn *
28299 : gen_split_3167 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
28300 : {
28301 : if (dump_file)
28302 : fprintf (dump_file, "Splitting with gen_split_3167 (sse.md:14313)\n");
28303 : start_sequence ();
28304 : #define FAIL return (end_sequence (), nullptr)
28305 : #define DONE return end_sequence ()
28306 : #line 14332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28307 : {
28308 : /* VPTERNLOGD reg3, reg2, reg1, imm8. */
28309 : int reg3 = 0xF0;
28310 : int reg2 = 0xCC;
28311 : int reg1 = 0xAA;
28312 : int reg_mask, tmp1;
28313 :
28314 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
28315 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
28316 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
28317 :
28318 : tmp1 = reg1 | reg2;
28319 : reg_mask = tmp1 & reg3;
28320 : reg_mask &= 0xFF;
28321 :
28322 : operands[1] = STRIP_UNARY (operands[1]);
28323 : operands[2] = STRIP_UNARY (operands[2]);
28324 : operands[3] = STRIP_UNARY (operands[3]);
28325 : operands[4] = GEN_INT (reg_mask);
28326 : if (!register_operand (operands[2], V32BFmode))
28327 : operands[2] = force_reg (V32BFmode, operands[2]);
28328 : if (!register_operand (operands[3], V32BFmode))
28329 : operands[3] = force_reg (V32BFmode, operands[3]);
28330 : }
28331 : #undef DONE
28332 : #undef FAIL
28333 : static const uint8_t expand_encoding[] = {
28334 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x72, 0x04, 0x01,
28335 : 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x04, 0x81,
28336 : 0x25
28337 : };
28338 : return complete_seq (expand_encoding, operands);
28339 : }
28340 :
28341 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14313 */
28342 : extern rtx_insn *gen_split_3177 (rtx_insn *, rtx *);
28343 : rtx_insn *
28344 : gen_split_3177 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
28345 : {
28346 : if (dump_file)
28347 : fprintf (dump_file, "Splitting with gen_split_3177 (sse.md:14313)\n");
28348 : start_sequence ();
28349 : #define FAIL return (end_sequence (), nullptr)
28350 : #define DONE return end_sequence ()
28351 : #line 14332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28352 : {
28353 : /* VPTERNLOGD reg3, reg2, reg1, imm8. */
28354 : int reg3 = 0xF0;
28355 : int reg2 = 0xCC;
28356 : int reg1 = 0xAA;
28357 : int reg_mask, tmp1;
28358 :
28359 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
28360 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
28361 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
28362 :
28363 : tmp1 = reg1 | reg2;
28364 : reg_mask = tmp1 | reg3;
28365 : reg_mask &= 0xFF;
28366 :
28367 : operands[1] = STRIP_UNARY (operands[1]);
28368 : operands[2] = STRIP_UNARY (operands[2]);
28369 : operands[3] = STRIP_UNARY (operands[3]);
28370 : operands[4] = GEN_INT (reg_mask);
28371 : if (!register_operand (operands[2], V16BFmode))
28372 : operands[2] = force_reg (V16BFmode, operands[2]);
28373 : if (!register_operand (operands[3], V16BFmode))
28374 : operands[3] = force_reg (V16BFmode, operands[3]);
28375 : }
28376 : #undef DONE
28377 : #undef FAIL
28378 : static const uint8_t expand_encoding[] = {
28379 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6d, 0x04, 0x01,
28380 : 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x04, 0x81,
28381 : 0x25
28382 : };
28383 : return complete_seq (expand_encoding, operands);
28384 : }
28385 :
28386 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14313 */
28387 : extern rtx_insn *gen_split_3187 (rtx_insn *, rtx *);
28388 : rtx_insn *
28389 : gen_split_3187 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
28390 : {
28391 : if (dump_file)
28392 : fprintf (dump_file, "Splitting with gen_split_3187 (sse.md:14313)\n");
28393 : start_sequence ();
28394 : #define FAIL return (end_sequence (), nullptr)
28395 : #define DONE return end_sequence ()
28396 : #line 14332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28397 : {
28398 : /* VPTERNLOGD reg3, reg2, reg1, imm8. */
28399 : int reg3 = 0xF0;
28400 : int reg2 = 0xCC;
28401 : int reg1 = 0xAA;
28402 : int reg_mask, tmp1;
28403 :
28404 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
28405 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
28406 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
28407 :
28408 : tmp1 = reg1 | reg2;
28409 : reg_mask = tmp1 ^ reg3;
28410 : reg_mask &= 0xFF;
28411 :
28412 : operands[1] = STRIP_UNARY (operands[1]);
28413 : operands[2] = STRIP_UNARY (operands[2]);
28414 : operands[3] = STRIP_UNARY (operands[3]);
28415 : operands[4] = GEN_INT (reg_mask);
28416 : if (!register_operand (operands[2], V8BFmode))
28417 : operands[2] = force_reg (V8BFmode, operands[2]);
28418 : if (!register_operand (operands[3], V8BFmode))
28419 : operands[3] = force_reg (V8BFmode, operands[3]);
28420 : }
28421 : #undef DONE
28422 : #undef FAIL
28423 : static const uint8_t expand_encoding[] = {
28424 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x69, 0x04, 0x01,
28425 : 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x04, 0x81,
28426 : 0x25
28427 : };
28428 : return complete_seq (expand_encoding, operands);
28429 : }
28430 :
28431 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14313 */
28432 : extern rtx_insn *gen_split_3197 (rtx_insn *, rtx *);
28433 : rtx_insn *
28434 : gen_split_3197 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
28435 : {
28436 : if (dump_file)
28437 : fprintf (dump_file, "Splitting with gen_split_3197 (sse.md:14313)\n");
28438 : start_sequence ();
28439 : #define FAIL return (end_sequence (), nullptr)
28440 : #define DONE return end_sequence ()
28441 : #line 14332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28442 : {
28443 : /* VPTERNLOGD reg3, reg2, reg1, imm8. */
28444 : int reg3 = 0xF0;
28445 : int reg2 = 0xCC;
28446 : int reg1 = 0xAA;
28447 : int reg_mask, tmp1;
28448 :
28449 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
28450 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
28451 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
28452 :
28453 : tmp1 = reg1 ^ reg2;
28454 : reg_mask = tmp1 & reg3;
28455 : reg_mask &= 0xFF;
28456 :
28457 : operands[1] = STRIP_UNARY (operands[1]);
28458 : operands[2] = STRIP_UNARY (operands[2]);
28459 : operands[3] = STRIP_UNARY (operands[3]);
28460 : operands[4] = GEN_INT (reg_mask);
28461 : if (!register_operand (operands[2], V16SFmode))
28462 : operands[2] = force_reg (V16SFmode, operands[2]);
28463 : if (!register_operand (operands[3], V16SFmode))
28464 : operands[3] = force_reg (V16SFmode, operands[3]);
28465 : }
28466 : #undef DONE
28467 : #undef FAIL
28468 : static const uint8_t expand_encoding[] = {
28469 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x74, 0x04, 0x01,
28470 : 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x04, 0x81,
28471 : 0x25
28472 : };
28473 : return complete_seq (expand_encoding, operands);
28474 : }
28475 :
28476 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14313 */
28477 : extern rtx_insn *gen_split_3207 (rtx_insn *, rtx *);
28478 : rtx_insn *
28479 : gen_split_3207 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
28480 : {
28481 : if (dump_file)
28482 : fprintf (dump_file, "Splitting with gen_split_3207 (sse.md:14313)\n");
28483 : start_sequence ();
28484 : #define FAIL return (end_sequence (), nullptr)
28485 : #define DONE return end_sequence ()
28486 : #line 14332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28487 : {
28488 : /* VPTERNLOGD reg3, reg2, reg1, imm8. */
28489 : int reg3 = 0xF0;
28490 : int reg2 = 0xCC;
28491 : int reg1 = 0xAA;
28492 : int reg_mask, tmp1;
28493 :
28494 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
28495 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
28496 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
28497 :
28498 : tmp1 = reg1 ^ reg2;
28499 : reg_mask = tmp1 | reg3;
28500 : reg_mask &= 0xFF;
28501 :
28502 : operands[1] = STRIP_UNARY (operands[1]);
28503 : operands[2] = STRIP_UNARY (operands[2]);
28504 : operands[3] = STRIP_UNARY (operands[3]);
28505 : operands[4] = GEN_INT (reg_mask);
28506 : if (!register_operand (operands[2], V8SFmode))
28507 : operands[2] = force_reg (V8SFmode, operands[2]);
28508 : if (!register_operand (operands[3], V8SFmode))
28509 : operands[3] = force_reg (V8SFmode, operands[3]);
28510 : }
28511 : #undef DONE
28512 : #undef FAIL
28513 : static const uint8_t expand_encoding[] = {
28514 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6f, 0x04, 0x01,
28515 : 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x04, 0x81,
28516 : 0x25
28517 : };
28518 : return complete_seq (expand_encoding, operands);
28519 : }
28520 :
28521 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14313 */
28522 : extern rtx_insn *gen_split_3217 (rtx_insn *, rtx *);
28523 : rtx_insn *
28524 : gen_split_3217 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
28525 : {
28526 : if (dump_file)
28527 : fprintf (dump_file, "Splitting with gen_split_3217 (sse.md:14313)\n");
28528 : start_sequence ();
28529 : #define FAIL return (end_sequence (), nullptr)
28530 : #define DONE return end_sequence ()
28531 : #line 14332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28532 : {
28533 : /* VPTERNLOGD reg3, reg2, reg1, imm8. */
28534 : int reg3 = 0xF0;
28535 : int reg2 = 0xCC;
28536 : int reg1 = 0xAA;
28537 : int reg_mask, tmp1;
28538 :
28539 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
28540 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
28541 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
28542 :
28543 : tmp1 = reg1 ^ reg2;
28544 : reg_mask = tmp1 ^ reg3;
28545 : reg_mask &= 0xFF;
28546 :
28547 : operands[1] = STRIP_UNARY (operands[1]);
28548 : operands[2] = STRIP_UNARY (operands[2]);
28549 : operands[3] = STRIP_UNARY (operands[3]);
28550 : operands[4] = GEN_INT (reg_mask);
28551 : if (!register_operand (operands[2], V4SFmode))
28552 : operands[2] = force_reg (V4SFmode, operands[2]);
28553 : if (!register_operand (operands[3], V4SFmode))
28554 : operands[3] = force_reg (V4SFmode, operands[3]);
28555 : }
28556 : #undef DONE
28557 : #undef FAIL
28558 : static const uint8_t expand_encoding[] = {
28559 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6b, 0x04, 0x01,
28560 : 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x04, 0x81,
28561 : 0x25
28562 : };
28563 : return complete_seq (expand_encoding, operands);
28564 : }
28565 :
28566 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14313 */
28567 : extern rtx_insn *gen_split_3227 (rtx_insn *, rtx *);
28568 : rtx_insn *
28569 : gen_split_3227 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
28570 : {
28571 : if (dump_file)
28572 : fprintf (dump_file, "Splitting with gen_split_3227 (sse.md:14313)\n");
28573 : start_sequence ();
28574 : #define FAIL return (end_sequence (), nullptr)
28575 : #define DONE return end_sequence ()
28576 : #line 14332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28577 : {
28578 : /* VPTERNLOGD reg3, reg2, reg1, imm8. */
28579 : int reg3 = 0xF0;
28580 : int reg2 = 0xCC;
28581 : int reg1 = 0xAA;
28582 : int reg_mask, tmp1;
28583 :
28584 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
28585 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
28586 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
28587 :
28588 : tmp1 = reg1 & reg2;
28589 : reg_mask = tmp1 & reg3;
28590 : reg_mask &= 0xFF;
28591 :
28592 : operands[1] = STRIP_UNARY (operands[1]);
28593 : operands[2] = STRIP_UNARY (operands[2]);
28594 : operands[3] = STRIP_UNARY (operands[3]);
28595 : operands[4] = GEN_INT (reg_mask);
28596 : if (!register_operand (operands[2], V4DFmode))
28597 : operands[2] = force_reg (V4DFmode, operands[2]);
28598 : if (!register_operand (operands[3], V4DFmode))
28599 : operands[3] = force_reg (V4DFmode, operands[3]);
28600 : }
28601 : #undef DONE
28602 : #undef FAIL
28603 : static const uint8_t expand_encoding[] = {
28604 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x70, 0x04, 0x01,
28605 : 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x04, 0x81,
28606 : 0x25
28607 : };
28608 : return complete_seq (expand_encoding, operands);
28609 : }
28610 :
28611 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14313 */
28612 : extern rtx_insn *gen_split_3237 (rtx_insn *, rtx *);
28613 : rtx_insn *
28614 : gen_split_3237 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
28615 : {
28616 : if (dump_file)
28617 : fprintf (dump_file, "Splitting with gen_split_3237 (sse.md:14313)\n");
28618 : start_sequence ();
28619 : #define FAIL return (end_sequence (), nullptr)
28620 : #define DONE return end_sequence ()
28621 : #line 14332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28622 : {
28623 : /* VPTERNLOGD reg3, reg2, reg1, imm8. */
28624 : int reg3 = 0xF0;
28625 : int reg2 = 0xCC;
28626 : int reg1 = 0xAA;
28627 : int reg_mask, tmp1;
28628 :
28629 : reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
28630 : reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
28631 : reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
28632 :
28633 : tmp1 = reg1 & reg2;
28634 : reg_mask = tmp1 | reg3;
28635 : reg_mask &= 0xFF;
28636 :
28637 : operands[1] = STRIP_UNARY (operands[1]);
28638 : operands[2] = STRIP_UNARY (operands[2]);
28639 : operands[3] = STRIP_UNARY (operands[3]);
28640 : operands[4] = GEN_INT (reg_mask);
28641 : if (!register_operand (operands[2], V2DFmode))
28642 : operands[2] = force_reg (V2DFmode, operands[2]);
28643 : if (!register_operand (operands[3], V2DFmode))
28644 : operands[3] = force_reg (V2DFmode, operands[3]);
28645 : }
28646 : #undef DONE
28647 : #undef FAIL
28648 : static const uint8_t expand_encoding[] = {
28649 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6c, 0x04, 0x01,
28650 : 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x04, 0x81,
28651 : 0x25
28652 : };
28653 : return complete_seq (expand_encoding, operands);
28654 : }
28655 :
28656 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14358 */
28657 : rtx
28658 : gen_avx512vl_vternlogv4si_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
28659 : {
28660 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
28661 : start_sequence ();
28662 : {
28663 : #define FAIL return (end_sequence (), nullptr)
28664 : #define DONE return end_sequence ()
28665 : #line 14370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28666 : {
28667 : unsigned HOST_WIDE_INT mode_mask = GET_MODE_MASK (QImode);
28668 : if (CONST_INT_P (operands[5])
28669 : && (UINTVAL (operands[5]) & mode_mask) == mode_mask)
28670 : {
28671 : ix86_expand_ternlog (V4SImode, operands[1], operands[2],
28672 : operands[3], INTVAL (operands[4]),
28673 : operands[0]);
28674 : DONE;
28675 : }
28676 : if (!register_operand (operands[5], QImode))
28677 : operands[5] = force_reg (QImode, operands[5]);
28678 : }
28679 : #undef DONE
28680 : #undef FAIL
28681 : }
28682 : static const uint8_t expand_encoding[] = {
28683 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x51, 0x1a,
28684 : 0x51, 0x04, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03,
28685 : 0x01, 0x04, 0x81, 0x25, 0x01, 0x01, 0x01, 0x05
28686 : };
28687 : return complete_seq (expand_encoding, operands);
28688 : }
28689 :
28690 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14497 */
28691 : rtx
28692 : gen_avx512vl_fixupimmv4sf_maskz (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
28693 : {
28694 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
28695 : start_sequence ();
28696 : {
28697 : #define FAIL return (end_sequence (), nullptr)
28698 : #define DONE return end_sequence ()
28699 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28700 : {
28701 : emit_insn (gen_avx512vl_fixupimmv4sf_maskz_1 (
28702 : operands[0], operands[1], operands[2], operands[3],
28703 : operands[4], CONST0_RTX (V4SFmode), operands[5]
28704 : ));
28705 : DONE;
28706 : }
28707 : #undef DONE
28708 : #undef FAIL
28709 : }
28710 : static const uint8_t expand_encoding[] = {
28711 : 0x06, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
28712 : 0x03, 0x01, 0x04, 0x01, 0x05
28713 : };
28714 : return complete_seq (expand_encoding, operands);
28715 : }
28716 :
28717 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:14542 */
28718 : rtx
28719 : gen_avx512f_sfixupimmv4sf_maskz_round (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5, const rtx operand6)
28720 : {
28721 : rtx operands[7] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5, operand6 };
28722 : start_sequence ();
28723 : {
28724 : #define FAIL return (end_sequence (), nullptr)
28725 : #define DONE return end_sequence ()
28726 : #line 14550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28727 : {
28728 : emit_insn (gen_avx512f_sfixupimmv4sf_maskz_1_round (
28729 : operands[0], operands[1], operands[2], operands[3],
28730 : operands[4], CONST0_RTX (V4SFmode), operands[5]
28731 : , operands[6]));
28732 : DONE;
28733 : }
28734 : #undef DONE
28735 : #undef FAIL
28736 : }
28737 : static const uint8_t expand_encoding[] = {
28738 : 0x07, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
28739 : 0x03, 0x01, 0x04, 0x01, 0x05, 0x1a, 0x00, 0x01,
28740 : 0x01, 0x06, 0x81, 0x33
28741 : };
28742 : return complete_seq (expand_encoding, operands);
28743 : }
28744 :
28745 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:15064 */
28746 : extern rtx_insn *gen_split_3248 (rtx_insn *, rtx *);
28747 : rtx_insn *
28748 : gen_split_3248 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
28749 : {
28750 : if (dump_file)
28751 : fprintf (dump_file, "Splitting with gen_split_3248 (sse.md:15064)\n");
28752 : start_sequence ();
28753 : static const uint8_t expand_encoding[] = {
28754 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x0a, 0x2e, 0x01,
28755 : 0x01, 0x17, 0x00, 0x01, 0x27, 0x00
28756 : };
28757 : return complete_seq (expand_encoding, operands);
28758 : }
28759 :
28760 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:15353 */
28761 : rtx
28762 : gen_truncv8div8si2 (const rtx operand0, const rtx operand1)
28763 : {
28764 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
28765 : static const uint8_t expand_encoding[] = {
28766 : 0x1f, 0x01, 0x00, 0x70, 0x56, 0x01, 0x01
28767 : };
28768 : return expand_rtx (expand_encoding, operands);
28769 : }
28770 :
28771 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:15483 */
28772 : extern rtx_insn *gen_split_3255 (rtx_insn *, rtx *);
28773 : rtx_insn *
28774 : gen_split_3255 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
28775 : {
28776 : if (dump_file)
28777 : fprintf (dump_file, "Splitting with gen_split_3255 (sse.md:15483)\n");
28778 : start_sequence ();
28779 : #define FAIL return (end_sequence (), nullptr)
28780 : #define DONE return end_sequence ()
28781 : #line 15499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28782 : operands[1] = lowpart_subreg (V8DImode,
28783 : force_reg (V16SImode, operands[1]),
28784 : V16SImode);
28785 : #undef DONE
28786 : #undef FAIL
28787 : static const uint8_t expand_encoding[] = {
28788 : 0x01, 0x1f, 0x01, 0x00, 0x70, 0x56, 0x01, 0x01
28789 : };
28790 : return complete_seq (expand_encoding, operands);
28791 : }
28792 :
28793 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:15517 */
28794 : rtx
28795 : gen_avx512f_us_truncatev8div8hi2_mask_store (const rtx operand0, const rtx operand1, const rtx operand2)
28796 : {
28797 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
28798 : static const uint8_t expand_encoding[] = {
28799 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x50, 0x81, 0x18,
28800 : 0x50, 0x01, 0x01, 0x01, 0x00, 0x01, 0x02
28801 : };
28802 : return expand_rtx (expand_encoding, operands);
28803 : }
28804 :
28805 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:15689 */
28806 : rtx
28807 : gen_avx512vl_ss_truncatev4div4si2_mask_store (const rtx operand0, const rtx operand1, const rtx operand2)
28808 : {
28809 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
28810 : static const uint8_t expand_encoding[] = {
28811 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x51, 0x81, 0x17,
28812 : 0x51, 0x01, 0x01, 0x01, 0x00, 0x01, 0x02
28813 : };
28814 : return expand_rtx (expand_encoding, operands);
28815 : }
28816 :
28817 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:15689 */
28818 : rtx
28819 : gen_avx512vl_us_truncatev8siv8hi2_mask_store (const rtx operand0, const rtx operand1, const rtx operand2)
28820 : {
28821 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
28822 : static const uint8_t expand_encoding[] = {
28823 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x50, 0x81, 0x18,
28824 : 0x50, 0x01, 0x01, 0x01, 0x00, 0x01, 0x02
28825 : };
28826 : return expand_rtx (expand_encoding, operands);
28827 : }
28828 :
28829 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:15782 */
28830 : extern rtx_insn *gen_split_3260 (rtx_insn *, rtx *);
28831 : rtx_insn *
28832 : gen_split_3260 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
28833 : {
28834 : if (dump_file)
28835 : fprintf (dump_file, "Splitting with gen_split_3260 (sse.md:15782)\n");
28836 : start_sequence ();
28837 : #define FAIL return (end_sequence (), nullptr)
28838 : #define DONE return end_sequence ()
28839 : #line 15792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28840 : operands[0] = adjust_address_nv (operands[0], V2QImode, 0);
28841 : #undef DONE
28842 : #undef FAIL
28843 : static const uint8_t expand_encoding[] = {
28844 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x17, 0x44, 0x01,
28845 : 0x01
28846 : };
28847 : return complete_seq (expand_encoding, operands);
28848 : }
28849 :
28850 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:15852 */
28851 : rtx
28852 : gen_avx512vl_truncatev2div2qi2_mask_store_2 (const rtx operand0, const rtx operand1, const rtx operand2)
28853 : {
28854 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
28855 : start_sequence ();
28856 : {
28857 : #define FAIL return (end_sequence (), nullptr)
28858 : #define DONE return end_sequence ()
28859 : #line 15858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28860 : {
28861 : operands[0] = adjust_address_nv (operands[0], V2QImode, 0);
28862 : emit_insn (gen_avx512vl_truncatev2div2qi2_mask_store_1 (operands[0],
28863 : operands[1],
28864 : operands[2]));
28865 : DONE;
28866 : }
28867 : #undef DONE
28868 : #undef FAIL
28869 : }
28870 : static const uint8_t expand_encoding[] = {
28871 : 0x03, 0x01, 0x00, 0x70, 0x44, 0x01, 0x01, 0x01,
28872 : 0x02
28873 : };
28874 : return complete_seq (expand_encoding, operands);
28875 : }
28876 :
28877 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:15975 */
28878 : extern rtx_insn *gen_split_3269 (rtx_insn *, rtx *);
28879 : rtx_insn *
28880 : gen_split_3269 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
28881 : {
28882 : if (dump_file)
28883 : fprintf (dump_file, "Splitting with gen_split_3269 (sse.md:15975)\n");
28884 : start_sequence ();
28885 : #define FAIL return (end_sequence (), nullptr)
28886 : #define DONE return end_sequence ()
28887 : #line 15985 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28888 : operands[0] = adjust_address_nv (operands[0], V8QImode, 0);
28889 : #undef DONE
28890 : #undef FAIL
28891 : static const uint8_t expand_encoding[] = {
28892 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x17, 0x48, 0x01,
28893 : 0x01
28894 : };
28895 : return complete_seq (expand_encoding, operands);
28896 : }
28897 :
28898 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16045 */
28899 : rtx
28900 : gen_avx512vl_ss_truncatev8hiv8qi2_mask_store_2 (const rtx operand0, const rtx operand1, const rtx operand2)
28901 : {
28902 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
28903 : start_sequence ();
28904 : {
28905 : #define FAIL return (end_sequence (), nullptr)
28906 : #define DONE return end_sequence ()
28907 : #line 16051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28908 : {
28909 : operands[0] = adjust_address_nv (operands[0], V8QImode, 0);
28910 : emit_insn (gen_avx512vl_ss_truncatev8hiv8qi2_mask_store_1 (operands[0],
28911 : operands[1],
28912 : operands[2]));
28913 : DONE;
28914 : }
28915 : #undef DONE
28916 : #undef FAIL
28917 : }
28918 : static const uint8_t expand_encoding[] = {
28919 : 0x03, 0x01, 0x00, 0x81, 0x17, 0x48, 0x01, 0x01,
28920 : 0x01, 0x02
28921 : };
28922 : return complete_seq (expand_encoding, operands);
28923 : }
28924 :
28925 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16137 */
28926 : extern rtx_insn *gen_split_3277 (rtx_insn *, rtx *);
28927 : rtx_insn *
28928 : gen_split_3277 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
28929 : {
28930 : if (dump_file)
28931 : fprintf (dump_file, "Splitting with gen_split_3277 (sse.md:16137)\n");
28932 : start_sequence ();
28933 : #define FAIL return (end_sequence (), nullptr)
28934 : #define DONE return end_sequence ()
28935 : #line 16147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28936 : operands[0] = adjust_address_nv (operands[0], V4HImode, 0);
28937 : #undef DONE
28938 : #undef FAIL
28939 : static const uint8_t expand_encoding[] = {
28940 : 0x01, 0x1f, 0x01, 0x00, 0x70, 0x49, 0x01, 0x01
28941 : };
28942 : return complete_seq (expand_encoding, operands);
28943 : }
28944 :
28945 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16203 */
28946 : rtx
28947 : gen_avx512vl_truncatev4div4hi2_mask_store_2 (const rtx operand0, const rtx operand1, const rtx operand2)
28948 : {
28949 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
28950 : start_sequence ();
28951 : {
28952 : #define FAIL return (end_sequence (), nullptr)
28953 : #define DONE return end_sequence ()
28954 : #line 16209 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28955 : {
28956 : operands[0] = adjust_address_nv (operands[0], V4HImode, 0);
28957 : emit_insn (gen_avx512vl_truncatev4div4hi2_mask_store_1 (operands[0],
28958 : operands[1],
28959 : operands[2]));
28960 : DONE;
28961 : }
28962 : #undef DONE
28963 : #undef FAIL
28964 : }
28965 : static const uint8_t expand_encoding[] = {
28966 : 0x03, 0x01, 0x00, 0x70, 0x49, 0x01, 0x01, 0x01,
28967 : 0x02
28968 : };
28969 : return complete_seq (expand_encoding, operands);
28970 : }
28971 :
28972 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16436 */
28973 : rtx
28974 : gen_avx512vl_ss_truncatev2div2si2_mask_store_2 (const rtx operand0, const rtx operand1, const rtx operand2)
28975 : {
28976 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
28977 : start_sequence ();
28978 : {
28979 : #define FAIL return (end_sequence (), nullptr)
28980 : #define DONE return end_sequence ()
28981 : #line 16442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28982 : {
28983 : operands[0] = adjust_address_nv (operands[0], V2SImode, 0);
28984 : emit_insn (gen_avx512vl_ss_truncatev2div2si2_mask_store_1 (operands[0],
28985 : operands[1],
28986 : operands[2]));
28987 : DONE;
28988 : }
28989 : #undef DONE
28990 : #undef FAIL
28991 : }
28992 : static const uint8_t expand_encoding[] = {
28993 : 0x03, 0x01, 0x00, 0x81, 0x17, 0x4a, 0x01, 0x01,
28994 : 0x01, 0x02
28995 : };
28996 : return complete_seq (expand_encoding, operands);
28997 : }
28998 :
28999 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16581 */
29000 : rtx
29001 : gen_negv64qi2 (const rtx operand0, const rtx operand1)
29002 : {
29003 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1 };
29004 : start_sequence ();
29005 : {
29006 : #define FAIL return (end_sequence (), nullptr)
29007 : #define DONE return end_sequence ()
29008 : #line 16587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29009 : operands[2] = force_reg (V64QImode, CONST0_RTX (V64QImode));
29010 : #undef DONE
29011 : #undef FAIL
29012 : }
29013 : static const uint8_t expand_encoding[] = {
29014 : 0x01, 0x1f, 0x01, 0x00, 0x3c, 0x59, 0x01, 0x02,
29015 : 0x01, 0x01
29016 : };
29017 : return complete_seq (expand_encoding, operands);
29018 : }
29019 :
29020 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16581 */
29021 : rtx
29022 : gen_negv8si2 (const rtx operand0, const rtx operand1)
29023 : {
29024 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1 };
29025 : start_sequence ();
29026 : {
29027 : #define FAIL return (end_sequence (), nullptr)
29028 : #define DONE return end_sequence ()
29029 : #line 16587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29030 : operands[2] = force_reg (V8SImode, CONST0_RTX (V8SImode));
29031 : #undef DONE
29032 : #undef FAIL
29033 : }
29034 : static const uint8_t expand_encoding[] = {
29035 : 0x01, 0x1f, 0x01, 0x00, 0x3c, 0x56, 0x01, 0x02,
29036 : 0x01, 0x01
29037 : };
29038 : return complete_seq (expand_encoding, operands);
29039 : }
29040 :
29041 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16589 */
29042 : rtx
29043 : gen_subv16qi3 (const rtx operand0, const rtx operand1, const rtx operand2)
29044 : {
29045 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
29046 : start_sequence ();
29047 : {
29048 : #define FAIL return (end_sequence (), nullptr)
29049 : #define DONE return end_sequence ()
29050 : #line 16595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29051 : ix86_fixup_binary_operands_no_copy (MINUS, V16QImode, operands);
29052 : #undef DONE
29053 : #undef FAIL
29054 : }
29055 : static const uint8_t expand_encoding[] = {
29056 : 0x01, 0x1f, 0x01, 0x00, 0x3c, 0x4f, 0x01, 0x01,
29057 : 0x01, 0x02
29058 : };
29059 : return complete_seq (expand_encoding, operands);
29060 : }
29061 :
29062 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16589 */
29063 : rtx
29064 : gen_subv8si3 (const rtx operand0, const rtx operand1, const rtx operand2)
29065 : {
29066 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
29067 : start_sequence ();
29068 : {
29069 : #define FAIL return (end_sequence (), nullptr)
29070 : #define DONE return end_sequence ()
29071 : #line 16595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29072 : ix86_fixup_binary_operands_no_copy (MINUS, V8SImode, operands);
29073 : #undef DONE
29074 : #undef FAIL
29075 : }
29076 : static const uint8_t expand_encoding[] = {
29077 : 0x01, 0x1f, 0x01, 0x00, 0x3c, 0x56, 0x01, 0x01,
29078 : 0x01, 0x02
29079 : };
29080 : return complete_seq (expand_encoding, operands);
29081 : }
29082 :
29083 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16597 */
29084 : rtx
29085 : gen_cond_subv64qi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
29086 : {
29087 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
29088 : start_sequence ();
29089 : {
29090 : #define FAIL _Pragma ("GCC error \"cond_subv64qi cannot FAIL\"") (void)0
29091 : #define DONE return end_sequence ()
29092 : #line 16606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29093 : {
29094 : emit_insn (gen_subv64qi3_mask (operands[0],
29095 : operands[2],
29096 : operands[3],
29097 : operands[4],
29098 : operands[1]));
29099 : DONE;
29100 : }
29101 : #undef DONE
29102 : #undef FAIL
29103 : }
29104 : static const uint8_t expand_encoding[] = {
29105 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x59, 0x3c,
29106 : 0x59, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01,
29107 : 0x01
29108 : };
29109 : return complete_seq (expand_encoding, operands);
29110 : }
29111 :
29112 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16597 */
29113 : rtx
29114 : gen_cond_subv8hi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
29115 : {
29116 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
29117 : start_sequence ();
29118 : {
29119 : #define FAIL _Pragma ("GCC error \"cond_subv8hi cannot FAIL\"") (void)0
29120 : #define DONE return end_sequence ()
29121 : #line 16606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29122 : {
29123 : emit_insn (gen_subv8hi3_mask (operands[0],
29124 : operands[2],
29125 : operands[3],
29126 : operands[4],
29127 : operands[1]));
29128 : DONE;
29129 : }
29130 : #undef DONE
29131 : #undef FAIL
29132 : }
29133 : static const uint8_t expand_encoding[] = {
29134 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x50, 0x3c,
29135 : 0x50, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01,
29136 : 0x01
29137 : };
29138 : return complete_seq (expand_encoding, operands);
29139 : }
29140 :
29141 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16597 */
29142 : rtx
29143 : gen_cond_subv4di (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
29144 : {
29145 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
29146 : start_sequence ();
29147 : {
29148 : #define FAIL _Pragma ("GCC error \"cond_subv4di cannot FAIL\"") (void)0
29149 : #define DONE return end_sequence ()
29150 : #line 16606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29151 : {
29152 : emit_insn (gen_subv4di3_mask (operands[0],
29153 : operands[2],
29154 : operands[3],
29155 : operands[4],
29156 : operands[1]));
29157 : DONE;
29158 : }
29159 : #undef DONE
29160 : #undef FAIL
29161 : }
29162 : static const uint8_t expand_encoding[] = {
29163 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x57, 0x3c,
29164 : 0x57, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01,
29165 : 0x01
29166 : };
29167 : return complete_seq (expand_encoding, operands);
29168 : }
29169 :
29170 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16615 */
29171 : rtx
29172 : gen_subv4di3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
29173 : {
29174 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
29175 : start_sequence ();
29176 : {
29177 : #define FAIL return (end_sequence (), nullptr)
29178 : #define DONE return end_sequence ()
29179 : #line 16624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29180 : ix86_fixup_binary_operands_no_copy (MINUS, V4DImode, operands);
29181 : #undef DONE
29182 : #undef FAIL
29183 : }
29184 : static const uint8_t expand_encoding[] = {
29185 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x57, 0x3c,
29186 : 0x57, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01,
29187 : 0x04
29188 : };
29189 : return complete_seq (expand_encoding, operands);
29190 : }
29191 :
29192 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16626 */
29193 : rtx
29194 : gen_subv32hi3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
29195 : {
29196 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
29197 : start_sequence ();
29198 : {
29199 : #define FAIL return (end_sequence (), nullptr)
29200 : #define DONE return end_sequence ()
29201 : #line 16635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29202 : ix86_fixup_binary_operands_no_copy (MINUS, V32HImode, operands);
29203 : #undef DONE
29204 : #undef FAIL
29205 : }
29206 : static const uint8_t expand_encoding[] = {
29207 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5a, 0x3c,
29208 : 0x5a, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01,
29209 : 0x04
29210 : };
29211 : return complete_seq (expand_encoding, operands);
29212 : }
29213 :
29214 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16680 */
29215 : rtx
29216 : gen_sssubv64qi3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
29217 : {
29218 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
29219 : start_sequence ();
29220 : {
29221 : #define FAIL return (end_sequence (), nullptr)
29222 : #define DONE return end_sequence ()
29223 : #line 16686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29224 : ix86_fixup_binary_operands_no_copy (SS_MINUS, V64QImode, operands);
29225 : #undef DONE
29226 : #undef FAIL
29227 : }
29228 : static const uint8_t expand_encoding[] = {
29229 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x59, 0x81,
29230 : 0x10, 0x59, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03,
29231 : 0x01, 0x04
29232 : };
29233 : return complete_seq (expand_encoding, operands);
29234 : }
29235 :
29236 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16680 */
29237 : rtx
29238 : gen_ssaddv16qi3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
29239 : {
29240 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
29241 : start_sequence ();
29242 : {
29243 : #define FAIL return (end_sequence (), nullptr)
29244 : #define DONE return end_sequence ()
29245 : #line 16686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29246 : ix86_fixup_binary_operands_no_copy (SS_PLUS, V16QImode, operands);
29247 : #undef DONE
29248 : #undef FAIL
29249 : }
29250 : static const uint8_t expand_encoding[] = {
29251 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x4f, 0x81,
29252 : 0x0e, 0x4f, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03,
29253 : 0x01, 0x04
29254 : };
29255 : return complete_seq (expand_encoding, operands);
29256 : }
29257 :
29258 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16680 */
29259 : rtx
29260 : gen_sssubv32hi3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
29261 : {
29262 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
29263 : start_sequence ();
29264 : {
29265 : #define FAIL return (end_sequence (), nullptr)
29266 : #define DONE return end_sequence ()
29267 : #line 16686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29268 : ix86_fixup_binary_operands_no_copy (SS_MINUS, V32HImode, operands);
29269 : #undef DONE
29270 : #undef FAIL
29271 : }
29272 : static const uint8_t expand_encoding[] = {
29273 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5a, 0x81,
29274 : 0x10, 0x5a, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03,
29275 : 0x01, 0x04
29276 : };
29277 : return complete_seq (expand_encoding, operands);
29278 : }
29279 :
29280 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16680 */
29281 : rtx
29282 : gen_ssaddv8hi3 (const rtx operand0, const rtx operand1, const rtx operand2)
29283 : {
29284 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
29285 : start_sequence ();
29286 : {
29287 : #define FAIL return (end_sequence (), nullptr)
29288 : #define DONE return end_sequence ()
29289 : #line 16686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29290 : ix86_fixup_binary_operands_no_copy (SS_PLUS, V8HImode, operands);
29291 : #undef DONE
29292 : #undef FAIL
29293 : }
29294 : static const uint8_t expand_encoding[] = {
29295 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x0e, 0x50, 0x01,
29296 : 0x01, 0x01, 0x02
29297 : };
29298 : return complete_seq (expand_encoding, operands);
29299 : }
29300 :
29301 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16705 */
29302 : extern rtx_insn *gen_split_3293 (rtx_insn *, rtx *);
29303 : rtx_insn *
29304 : gen_split_3293 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
29305 : {
29306 : if (dump_file)
29307 : fprintf (dump_file, "Splitting with gen_split_3293 (sse.md:16705)\n");
29308 : start_sequence ();
29309 : #define FAIL return (end_sequence (), nullptr)
29310 : #define DONE return end_sequence ()
29311 : #line 16719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29312 : operands[4] = gen_reg_rtx (V16QImode);
29313 : #undef DONE
29314 : #undef FAIL
29315 : static const uint8_t expand_encoding[] = {
29316 : 0x02, 0x1f, 0x01, 0x04, 0x54, 0x4f, 0x01, 0x01,
29317 : 0x01, 0x02, 0x1f, 0x01, 0x00, 0x5d, 0x4f, 0x01,
29318 : 0x04, 0x01, 0x01
29319 : };
29320 : return complete_seq (expand_encoding, operands);
29321 : }
29322 :
29323 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16749 */
29324 : rtx
29325 : gen_mulv32hi3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
29326 : {
29327 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
29328 : start_sequence ();
29329 : {
29330 : #define FAIL return (end_sequence (), nullptr)
29331 : #define DONE return end_sequence ()
29332 : #line 16754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29333 : ix86_fixup_binary_operands_no_copy (MULT, V32HImode, operands);
29334 : #undef DONE
29335 : #undef FAIL
29336 : }
29337 : static const uint8_t expand_encoding[] = {
29338 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5a, 0x3e,
29339 : 0x5a, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01,
29340 : 0x04
29341 : };
29342 : return complete_seq (expand_encoding, operands);
29343 : }
29344 :
29345 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16771 */
29346 : rtx
29347 : gen_smulv16hi3_highpart_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
29348 : {
29349 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
29350 : start_sequence ();
29351 : {
29352 : #define FAIL return (end_sequence (), nullptr)
29353 : #define DONE return end_sequence ()
29354 : #line 16783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29355 : ix86_fixup_binary_operands_no_copy (MULT, V16HImode, operands);
29356 : #undef DONE
29357 : #undef FAIL
29358 : }
29359 : static const uint8_t expand_encoding[] = {
29360 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x55, 0x70,
29361 : 0x55, 0x50, 0x5b, 0x3e, 0x5b, 0x6e, 0x5b, 0x01,
29362 : 0x01, 0x6e, 0x5b, 0x01, 0x02, 0x27, 0x10, 0x01,
29363 : 0x03, 0x01, 0x04
29364 : };
29365 : return complete_seq (expand_encoding, operands);
29366 : }
29367 :
29368 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:16886 */
29369 : rtx
29370 : gen_vec_widen_umult_even_v4si (const rtx operand0, const rtx operand1, const rtx operand2)
29371 : {
29372 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
29373 : start_sequence ();
29374 : {
29375 : #define FAIL return (end_sequence (), nullptr)
29376 : #define DONE return end_sequence ()
29377 : #line 16898 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29378 : ix86_fixup_binary_operands_no_copy (MULT, V4SImode, operands);
29379 : #undef DONE
29380 : #undef FAIL
29381 : }
29382 : static const uint8_t expand_encoding[] = {
29383 : 0x01, 0x1f, 0x01, 0x00, 0x3e, 0x52, 0x6f, 0x52,
29384 : 0x81, 0x0a, 0x4a, 0x01, 0x01, 0x17, 0x00, 0x02,
29385 : 0x27, 0x00, 0x27, 0x02, 0x6f, 0x52, 0x81, 0x0a,
29386 : 0x4a, 0x01, 0x02, 0x17, 0x00, 0x02, 0x27, 0x00,
29387 : 0x27, 0x02
29388 : };
29389 : return complete_seq (expand_encoding, operands);
29390 : }
29391 :
29392 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:17053 */
29393 : rtx
29394 : gen_avx2_pmaddwd (const rtx operand0, const rtx operand1, const rtx operand2)
29395 : {
29396 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
29397 : start_sequence ();
29398 : {
29399 : #define FAIL return (end_sequence (), nullptr)
29400 : #define DONE return end_sequence ()
29401 : #line 17085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29402 : ix86_fixup_binary_operands_no_copy (MULT, V16HImode, operands);
29403 : #undef DONE
29404 : #undef FAIL
29405 : }
29406 : static const uint8_t expand_encoding[] = {
29407 : 0x01, 0x1f, 0x01, 0x00, 0x3b, 0x56, 0x3e, 0x56,
29408 : 0x6e, 0x56, 0x81, 0x0a, 0x50, 0x01, 0x01, 0x17,
29409 : 0x00, 0x08, 0x27, 0x00, 0x27, 0x02, 0x27, 0x04,
29410 : 0x27, 0x06, 0x27, 0x08, 0x27, 0x0a, 0x27, 0x0c,
29411 : 0x27, 0x0e, 0x6e, 0x56, 0x81, 0x0a, 0x50, 0x01,
29412 : 0x02, 0x17, 0x00, 0x08, 0x27, 0x00, 0x27, 0x02,
29413 : 0x27, 0x04, 0x27, 0x06, 0x27, 0x08, 0x27, 0x0a,
29414 : 0x27, 0x0c, 0x27, 0x0e, 0x3e, 0x56, 0x6e, 0x56,
29415 : 0x81, 0x0a, 0x50, 0x01, 0x01, 0x17, 0x00, 0x08,
29416 : 0x27, 0x01, 0x27, 0x03, 0x27, 0x05, 0x27, 0x07,
29417 : 0x27, 0x09, 0x27, 0x0b, 0x27, 0x0d, 0x27, 0x0f,
29418 : 0x6e, 0x56, 0x81, 0x0a, 0x50, 0x01, 0x02, 0x17,
29419 : 0x00, 0x08, 0x27, 0x01, 0x27, 0x03, 0x27, 0x05,
29420 : 0x27, 0x07, 0x27, 0x09, 0x27, 0x0b, 0x27, 0x0d,
29421 : 0x27, 0x0f
29422 : };
29423 : return complete_seq (expand_encoding, operands);
29424 : }
29425 :
29426 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:17249 */
29427 : rtx
29428 : gen_mulv16si3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
29429 : {
29430 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
29431 : start_sequence ();
29432 : {
29433 : #define FAIL return (end_sequence (), nullptr)
29434 : #define DONE return end_sequence ()
29435 : #line 17255 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29436 : {
29437 : if (TARGET_SSE4_1)
29438 : {
29439 : if (!vector_operand (operands[1], V16SImode))
29440 : operands[1] = force_reg (V16SImode, operands[1]);
29441 : if (!vector_operand (operands[2], V16SImode))
29442 : operands[2] = force_reg (V16SImode, operands[2]);
29443 : ix86_fixup_binary_operands_no_copy (MULT, V16SImode, operands);
29444 : }
29445 : else
29446 : {
29447 : ix86_expand_sse2_mulv4si3 (operands[0], operands[1], operands[2]);
29448 : DONE;
29449 : }
29450 : }
29451 : #undef DONE
29452 : #undef FAIL
29453 : }
29454 : static const uint8_t expand_encoding[] = {
29455 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5b, 0x3e,
29456 : 0x5b, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01,
29457 : 0x04
29458 : };
29459 : return complete_seq (expand_encoding, operands);
29460 : }
29461 :
29462 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:17301 */
29463 : rtx
29464 : gen_vec_widen_umult_hi_v16qi (const rtx operand0, const rtx operand1, const rtx operand2)
29465 : {
29466 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
29467 : start_sequence ();
29468 : {
29469 : #define FAIL return (end_sequence (), nullptr)
29470 : #define DONE return end_sequence ()
29471 : #line 17307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29472 : {
29473 : ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
29474 : true, true);
29475 : DONE;
29476 : }
29477 : #undef DONE
29478 : #undef FAIL
29479 : }
29480 : static const uint8_t expand_encoding[] = {
29481 : 0x03, 0x01, 0x00, 0x6f, 0x50, 0x01, 0x01, 0x01,
29482 : 0x02
29483 : };
29484 : return complete_seq (expand_encoding, operands);
29485 : }
29486 :
29487 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:17313 */
29488 : rtx
29489 : gen_vec_widen_umult_lo_v32qi (const rtx operand0, const rtx operand1, const rtx operand2)
29490 : {
29491 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
29492 : start_sequence ();
29493 : {
29494 : #define FAIL return (end_sequence (), nullptr)
29495 : #define DONE return end_sequence ()
29496 : #line 17319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29497 : {
29498 : ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
29499 : true, false);
29500 : DONE;
29501 : }
29502 : #undef DONE
29503 : #undef FAIL
29504 : }
29505 : static const uint8_t expand_encoding[] = {
29506 : 0x03, 0x01, 0x00, 0x6f, 0x55, 0x01, 0x01, 0x01,
29507 : 0x02
29508 : };
29509 : return complete_seq (expand_encoding, operands);
29510 : }
29511 :
29512 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:17313 */
29513 : rtx
29514 : gen_vec_widen_umult_lo_v4si (const rtx operand0, const rtx operand1, const rtx operand2)
29515 : {
29516 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
29517 : start_sequence ();
29518 : {
29519 : #define FAIL return (end_sequence (), nullptr)
29520 : #define DONE return end_sequence ()
29521 : #line 17319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29522 : {
29523 : ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
29524 : true, false);
29525 : DONE;
29526 : }
29527 : #undef DONE
29528 : #undef FAIL
29529 : }
29530 : static const uint8_t expand_encoding[] = {
29531 : 0x03, 0x01, 0x00, 0x6f, 0x52, 0x01, 0x01, 0x01,
29532 : 0x02
29533 : };
29534 : return complete_seq (expand_encoding, operands);
29535 : }
29536 :
29537 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:17356 */
29538 : rtx
29539 : gen_sdot_prodv4siv8hi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
29540 : {
29541 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
29542 : start_sequence ();
29543 : {
29544 : #define FAIL return (end_sequence (), nullptr)
29545 : #define DONE return end_sequence ()
29546 : #line 17362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29547 : {
29548 : /* Try with vnni instructions. */
29549 : if ((16 == 64 && TARGET_AVX512VNNI)
29550 : || (16 < 64
29551 : && ((TARGET_AVX512VNNI && TARGET_AVX512VL) || TARGET_AVXVNNI)))
29552 : {
29553 : operands[1] = lowpart_subreg (V4SImode,
29554 : force_reg (V8HImode, operands[1]),
29555 : V8HImode);
29556 : operands[2] = lowpart_subreg (V4SImode,
29557 : force_reg (V8HImode, operands[2]),
29558 : V8HImode);
29559 : emit_insn (gen_vpdpwssd_v4si (operands[0], operands[3],
29560 : operands[1], operands[2]));
29561 : }
29562 : /* Otherwise use pmaddwd + paddd. */
29563 : else
29564 : {
29565 : rtx t = gen_reg_rtx (V4SImode);
29566 : emit_insn (gen_sse2_pmaddwd (t, operands[1], operands[2]));
29567 : emit_insn (gen_rtx_SET (operands[0],
29568 : gen_rtx_PLUS (V4SImode,
29569 : operands[3], t)));
29570 : }
29571 : DONE;
29572 : }
29573 : #undef DONE
29574 : #undef FAIL
29575 : }
29576 : static const uint8_t expand_encoding[] = {
29577 : 0x04, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
29578 : 0x03
29579 : };
29580 : return complete_seq (expand_encoding, operands);
29581 : }
29582 :
29583 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:17525 */
29584 : extern rtx_insn *gen_split_3302 (rtx_insn *, rtx *);
29585 : rtx_insn *
29586 : gen_split_3302 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
29587 : {
29588 : if (dump_file)
29589 : fprintf (dump_file, "Splitting with gen_split_3302 (sse.md:17525)\n");
29590 : start_sequence ();
29591 : #define FAIL return (end_sequence (), nullptr)
29592 : #define DONE return end_sequence ()
29593 : #line 17540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29594 : operands[5] = gen_int_mode (16 - 1, DImode);
29595 : #undef DONE
29596 : #undef FAIL
29597 : static const uint8_t expand_encoding[] = {
29598 : 0x01, 0x1f, 0x01, 0x00, 0x4f, 0x50, 0x01, 0x03,
29599 : 0x01, 0x05
29600 : };
29601 : return complete_seq (expand_encoding, operands);
29602 : }
29603 :
29604 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:17549 */
29605 : rtx
29606 : gen_ashrv4di3 (const rtx operand0, const rtx operand1, const rtx operand2)
29607 : {
29608 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
29609 : start_sequence ();
29610 : {
29611 : #define FAIL return (end_sequence (), nullptr)
29612 : #define DONE return end_sequence ()
29613 : #line 17555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29614 : {
29615 : if (!TARGET_AVX512VL)
29616 : {
29617 : if (CONST_INT_P (operands[2]) && UINTVAL (operands[2]) >= 63)
29618 : {
29619 : rtx zero = force_reg (V4DImode, CONST0_RTX (V4DImode));
29620 : emit_insn (gen_avx2_gtv4di3 (operands[0], zero, operands[1]));
29621 : DONE;
29622 : }
29623 : if (operands[2] == const0_rtx)
29624 : {
29625 : emit_move_insn (operands[0], operands[1]);
29626 : DONE;
29627 : }
29628 : operands[1] = force_reg (V4DImode, operands[1]);
29629 : if (CONST_INT_P (operands[2]))
29630 : {
29631 : vec_perm_builder sel (8, 8, 1);
29632 : sel.quick_grow (8);
29633 : rtx arg0, arg1;
29634 : rtx op1 = lowpart_subreg (V8SImode, operands[1], V4DImode);
29635 : rtx target = gen_reg_rtx (V8SImode);
29636 : if (INTVAL (operands[2]) > 32)
29637 : {
29638 : arg0 = gen_reg_rtx (V8SImode);
29639 : arg1 = gen_reg_rtx (V8SImode);
29640 : emit_insn (gen_ashrv8si3 (arg1, op1, GEN_INT (31)));
29641 : emit_insn (gen_ashrv8si3 (arg0, op1,
29642 : GEN_INT (INTVAL (operands[2]) - 32)));
29643 : sel[0] = 1;
29644 : sel[1] = 9;
29645 : sel[2] = 3;
29646 : sel[3] = 11;
29647 : sel[4] = 5;
29648 : sel[5] = 13;
29649 : sel[6] = 7;
29650 : sel[7] = 15;
29651 : }
29652 : else if (INTVAL (operands[2]) == 32)
29653 : {
29654 : arg0 = op1;
29655 : arg1 = gen_reg_rtx (V8SImode);
29656 : emit_insn (gen_ashrv8si3 (arg1, op1, GEN_INT (31)));
29657 : sel[0] = 1;
29658 : sel[1] = 9;
29659 : sel[2] = 3;
29660 : sel[3] = 11;
29661 : sel[4] = 5;
29662 : sel[5] = 13;
29663 : sel[6] = 7;
29664 : sel[7] = 15;
29665 : }
29666 : else
29667 : {
29668 : arg0 = gen_reg_rtx (V4DImode);
29669 : arg1 = gen_reg_rtx (V8SImode);
29670 : emit_insn (gen_lshrv4di3 (arg0, operands[1], operands[2]));
29671 : emit_insn (gen_ashrv8si3 (arg1, op1, operands[2]));
29672 : arg0 = lowpart_subreg (V8SImode, arg0, V4DImode);
29673 : sel[0] = 0;
29674 : sel[1] = 9;
29675 : sel[2] = 2;
29676 : sel[3] = 11;
29677 : sel[4] = 4;
29678 : sel[5] = 13;
29679 : sel[6] = 6;
29680 : sel[7] = 15;
29681 : }
29682 : vec_perm_indices indices (sel, 2, 8);
29683 : bool ok = targetm.vectorize.vec_perm_const (V8SImode, V8SImode,
29684 : target, arg0, arg1,
29685 : indices);
29686 : gcc_assert (ok);
29687 : emit_move_insn (operands[0],
29688 : lowpart_subreg (V4DImode, target, V8SImode));
29689 : DONE;
29690 : }
29691 :
29692 : rtx zero = force_reg (V4DImode, CONST0_RTX (V4DImode));
29693 : rtx zero_or_all_ones = gen_reg_rtx (V4DImode);
29694 : emit_insn (gen_avx2_gtv4di3 (zero_or_all_ones, zero, operands[1]));
29695 : rtx lshr_res = gen_reg_rtx (V4DImode);
29696 : emit_insn (gen_lshrv4di3 (lshr_res, operands[1], operands[2]));
29697 : rtx ashl_res = gen_reg_rtx (V4DImode);
29698 : rtx amount;
29699 : if (TARGET_64BIT)
29700 : {
29701 : amount = gen_reg_rtx (DImode);
29702 : emit_insn (gen_subdi3 (amount, force_reg (DImode, GEN_INT (64)),
29703 : operands[2]));
29704 : }
29705 : else
29706 : {
29707 : rtx temp = gen_reg_rtx (SImode);
29708 : emit_insn (gen_subsi3 (temp, force_reg (SImode, GEN_INT (64)),
29709 : lowpart_subreg (SImode, operands[2],
29710 : DImode)));
29711 : amount = gen_reg_rtx (V4SImode);
29712 : emit_insn (gen_vec_setv4si_0 (amount, CONST0_RTX (V4SImode),
29713 : temp));
29714 : }
29715 : amount = lowpart_subreg (DImode, amount, GET_MODE (amount));
29716 : emit_insn (gen_ashlv4di3 (ashl_res, zero_or_all_ones, amount));
29717 : emit_insn (gen_iorv4di3 (operands[0], lshr_res, ashl_res));
29718 : DONE;
29719 : }
29720 : }
29721 : #undef DONE
29722 : #undef FAIL
29723 : }
29724 : static const uint8_t expand_encoding[] = {
29725 : 0x01, 0x1f, 0x01, 0x00, 0x4f, 0x57, 0x01, 0x01,
29726 : 0x01, 0x02
29727 : };
29728 : return complete_seq (expand_encoding, operands);
29729 : }
29730 :
29731 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:17826 */
29732 : extern rtx_insn *gen_split_3337 (rtx_insn *, rtx *);
29733 : rtx_insn *
29734 : gen_split_3337 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
29735 : {
29736 : if (dump_file)
29737 : fprintf (dump_file, "Splitting with gen_split_3337 (sse.md:17826)\n");
29738 : start_sequence ();
29739 : #define FAIL return (end_sequence (), nullptr)
29740 : #define DONE return end_sequence ()
29741 : #line 17836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29742 : {
29743 : ix86_expand_v1ti_shift (ASHIFT, operands);
29744 : DONE;
29745 : }
29746 : #undef DONE
29747 : #undef FAIL
29748 : static const uint8_t expand_encoding[] = {
29749 : 0x01, 0x27, 0x00
29750 : };
29751 : return complete_seq (expand_encoding, operands);
29752 : }
29753 :
29754 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:17900 */
29755 : extern rtx_insn *gen_split_3345 (rtx_insn *, rtx *);
29756 : rtx_insn *
29757 : gen_split_3345 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
29758 : {
29759 : if (dump_file)
29760 : fprintf (dump_file, "Splitting with gen_split_3345 (sse.md:17900)\n");
29761 : start_sequence ();
29762 : static const uint8_t expand_encoding[] = {
29763 : 0x01, 0x1f, 0x01, 0x00, 0x4f, 0x52, 0x01, 0x01,
29764 : 0x01, 0x02
29765 : };
29766 : return complete_seq (expand_encoding, operands);
29767 : }
29768 :
29769 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18032 */
29770 : rtx
29771 : gen_sminv16hi3 (const rtx operand0, const rtx operand1, const rtx operand2)
29772 : {
29773 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
29774 : start_sequence ();
29775 : {
29776 : #define FAIL return (end_sequence (), nullptr)
29777 : #define DONE return end_sequence ()
29778 : #line 18038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29779 : ix86_fixup_binary_operands_no_copy (SMIN, V16HImode, operands);
29780 : #undef DONE
29781 : #undef FAIL
29782 : }
29783 : static const uint8_t expand_encoding[] = {
29784 : 0x01, 0x1f, 0x01, 0x00, 0x52, 0x55, 0x01, 0x01,
29785 : 0x01, 0x02
29786 : };
29787 : return complete_seq (expand_encoding, operands);
29788 : }
29789 :
29790 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18032 */
29791 : rtx
29792 : gen_uminv64qi3 (const rtx operand0, const rtx operand1, const rtx operand2)
29793 : {
29794 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
29795 : start_sequence ();
29796 : {
29797 : #define FAIL return (end_sequence (), nullptr)
29798 : #define DONE return end_sequence ()
29799 : #line 18038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29800 : ix86_fixup_binary_operands_no_copy (UMIN, V64QImode, operands);
29801 : #undef DONE
29802 : #undef FAIL
29803 : }
29804 : static const uint8_t expand_encoding[] = {
29805 : 0x01, 0x1f, 0x01, 0x00, 0x54, 0x59, 0x01, 0x01,
29806 : 0x01, 0x02
29807 : };
29808 : return complete_seq (expand_encoding, operands);
29809 : }
29810 :
29811 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18053 */
29812 : rtx
29813 : gen_cond_sminv64qi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
29814 : {
29815 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
29816 : start_sequence ();
29817 : {
29818 : #define FAIL return (end_sequence (), nullptr)
29819 : #define DONE return end_sequence ()
29820 : #line 18062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29821 : {
29822 : emit_insn (gen_sminv64qi3_mask (operands[0],
29823 : operands[2],
29824 : operands[3],
29825 : operands[4],
29826 : operands[1]));
29827 : DONE;
29828 : }
29829 : #undef DONE
29830 : #undef FAIL
29831 : }
29832 : static const uint8_t expand_encoding[] = {
29833 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x59, 0x52,
29834 : 0x59, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01,
29835 : 0x01
29836 : };
29837 : return complete_seq (expand_encoding, operands);
29838 : }
29839 :
29840 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18053 */
29841 : rtx
29842 : gen_cond_uminv16qi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
29843 : {
29844 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
29845 : start_sequence ();
29846 : {
29847 : #define FAIL return (end_sequence (), nullptr)
29848 : #define DONE return end_sequence ()
29849 : #line 18062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29850 : {
29851 : emit_insn (gen_uminv16qi3_mask (operands[0],
29852 : operands[2],
29853 : operands[3],
29854 : operands[4],
29855 : operands[1]));
29856 : DONE;
29857 : }
29858 : #undef DONE
29859 : #undef FAIL
29860 : }
29861 : static const uint8_t expand_encoding[] = {
29862 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x4f, 0x54,
29863 : 0x4f, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01,
29864 : 0x01
29865 : };
29866 : return complete_seq (expand_encoding, operands);
29867 : }
29868 :
29869 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18053 */
29870 : rtx
29871 : gen_cond_sminv8hi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
29872 : {
29873 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
29874 : start_sequence ();
29875 : {
29876 : #define FAIL return (end_sequence (), nullptr)
29877 : #define DONE return end_sequence ()
29878 : #line 18062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29879 : {
29880 : emit_insn (gen_sminv8hi3_mask (operands[0],
29881 : operands[2],
29882 : operands[3],
29883 : operands[4],
29884 : operands[1]));
29885 : DONE;
29886 : }
29887 : #undef DONE
29888 : #undef FAIL
29889 : }
29890 : static const uint8_t expand_encoding[] = {
29891 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x50, 0x52,
29892 : 0x50, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01,
29893 : 0x01
29894 : };
29895 : return complete_seq (expand_encoding, operands);
29896 : }
29897 :
29898 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18053 */
29899 : rtx
29900 : gen_cond_uminv8si (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
29901 : {
29902 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
29903 : start_sequence ();
29904 : {
29905 : #define FAIL return (end_sequence (), nullptr)
29906 : #define DONE return end_sequence ()
29907 : #line 18062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29908 : {
29909 : emit_insn (gen_uminv8si3_mask (operands[0],
29910 : operands[2],
29911 : operands[3],
29912 : operands[4],
29913 : operands[1]));
29914 : DONE;
29915 : }
29916 : #undef DONE
29917 : #undef FAIL
29918 : }
29919 : static const uint8_t expand_encoding[] = {
29920 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x56, 0x54,
29921 : 0x56, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01,
29922 : 0x01
29923 : };
29924 : return complete_seq (expand_encoding, operands);
29925 : }
29926 :
29927 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18053 */
29928 : rtx
29929 : gen_cond_sminv4di (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
29930 : {
29931 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
29932 : start_sequence ();
29933 : {
29934 : #define FAIL return (end_sequence (), nullptr)
29935 : #define DONE return end_sequence ()
29936 : #line 18062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29937 : {
29938 : emit_insn (gen_sminv4di3_mask (operands[0],
29939 : operands[2],
29940 : operands[3],
29941 : operands[4],
29942 : operands[1]));
29943 : DONE;
29944 : }
29945 : #undef DONE
29946 : #undef FAIL
29947 : }
29948 : static const uint8_t expand_encoding[] = {
29949 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x57, 0x52,
29950 : 0x57, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01,
29951 : 0x01
29952 : };
29953 : return complete_seq (expand_encoding, operands);
29954 : }
29955 :
29956 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18071 */
29957 : rtx
29958 : gen_uminv64qi3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
29959 : {
29960 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
29961 : start_sequence ();
29962 : {
29963 : #define FAIL return (end_sequence (), nullptr)
29964 : #define DONE return end_sequence ()
29965 : #line 18080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29966 : ix86_fixup_binary_operands_no_copy (UMIN, V64QImode, operands);
29967 : #undef DONE
29968 : #undef FAIL
29969 : }
29970 : static const uint8_t expand_encoding[] = {
29971 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x59, 0x54,
29972 : 0x59, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01,
29973 : 0x04
29974 : };
29975 : return complete_seq (expand_encoding, operands);
29976 : }
29977 :
29978 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18071 */
29979 : rtx
29980 : gen_sminv32hi3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
29981 : {
29982 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
29983 : start_sequence ();
29984 : {
29985 : #define FAIL return (end_sequence (), nullptr)
29986 : #define DONE return end_sequence ()
29987 : #line 18080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29988 : ix86_fixup_binary_operands_no_copy (SMIN, V32HImode, operands);
29989 : #undef DONE
29990 : #undef FAIL
29991 : }
29992 : static const uint8_t expand_encoding[] = {
29993 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5a, 0x52,
29994 : 0x5a, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01,
29995 : 0x04
29996 : };
29997 : return complete_seq (expand_encoding, operands);
29998 : }
29999 :
30000 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18071 */
30001 : rtx
30002 : gen_uminv8hi3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
30003 : {
30004 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
30005 : start_sequence ();
30006 : {
30007 : #define FAIL return (end_sequence (), nullptr)
30008 : #define DONE return end_sequence ()
30009 : #line 18080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30010 : ix86_fixup_binary_operands_no_copy (UMIN, V8HImode, operands);
30011 : #undef DONE
30012 : #undef FAIL
30013 : }
30014 : static const uint8_t expand_encoding[] = {
30015 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x50, 0x54,
30016 : 0x50, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01,
30017 : 0x04
30018 : };
30019 : return complete_seq (expand_encoding, operands);
30020 : }
30021 :
30022 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18071 */
30023 : rtx
30024 : gen_sminv4si3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
30025 : {
30026 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
30027 : start_sequence ();
30028 : {
30029 : #define FAIL return (end_sequence (), nullptr)
30030 : #define DONE return end_sequence ()
30031 : #line 18080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30032 : ix86_fixup_binary_operands_no_copy (SMIN, V4SImode, operands);
30033 : #undef DONE
30034 : #undef FAIL
30035 : }
30036 : static const uint8_t expand_encoding[] = {
30037 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x51, 0x52,
30038 : 0x51, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01,
30039 : 0x04
30040 : };
30041 : return complete_seq (expand_encoding, operands);
30042 : }
30043 :
30044 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18071 */
30045 : rtx
30046 : gen_uminv4di3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
30047 : {
30048 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
30049 : start_sequence ();
30050 : {
30051 : #define FAIL return (end_sequence (), nullptr)
30052 : #define DONE return end_sequence ()
30053 : #line 18080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30054 : ix86_fixup_binary_operands_no_copy (UMIN, V4DImode, operands);
30055 : #undef DONE
30056 : #undef FAIL
30057 : }
30058 : static const uint8_t expand_encoding[] = {
30059 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x57, 0x54,
30060 : 0x57, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01,
30061 : 0x04
30062 : };
30063 : return complete_seq (expand_encoding, operands);
30064 : }
30065 :
30066 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18106 */
30067 : rtx
30068 : gen_sminv4di3 (const rtx operand0, const rtx operand1, const rtx operand2)
30069 : {
30070 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
30071 : start_sequence ();
30072 : {
30073 : #define FAIL return (end_sequence (), nullptr)
30074 : #define DONE return end_sequence ()
30075 : #line 18112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30076 : {
30077 : if (TARGET_AVX512F
30078 : && (V4DImode == V8DImode || TARGET_AVX512VL))
30079 : ;
30080 : else
30081 : {
30082 : enum rtx_code code;
30083 : rtx xops[6];
30084 : bool ok;
30085 :
30086 :
30087 : xops[0] = operands[0];
30088 :
30089 : if (SMIN == SMAX || SMIN == UMAX)
30090 : {
30091 : xops[1] = operands[1];
30092 : xops[2] = operands[2];
30093 : }
30094 : else
30095 : {
30096 : xops[1] = operands[2];
30097 : xops[2] = operands[1];
30098 : }
30099 :
30100 : code = (SMIN == UMAX || SMIN == UMIN) ? GTU : GT;
30101 :
30102 : xops[3] = gen_rtx_fmt_ee (code, VOIDmode, operands[1], operands[2]);
30103 : xops[4] = operands[1];
30104 : xops[5] = operands[2];
30105 :
30106 : ok = ix86_expand_int_vcond (xops);
30107 : gcc_assert (ok);
30108 : DONE;
30109 : }
30110 : }
30111 : #undef DONE
30112 : #undef FAIL
30113 : }
30114 : static const uint8_t expand_encoding[] = {
30115 : 0x01, 0x1f, 0x01, 0x00, 0x52, 0x57, 0x01, 0x01,
30116 : 0x01, 0x02
30117 : };
30118 : return complete_seq (expand_encoding, operands);
30119 : }
30120 :
30121 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18148 */
30122 : rtx
30123 : gen_sminv8hi3 (const rtx operand0, const rtx operand1, const rtx operand2)
30124 : {
30125 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
30126 : start_sequence ();
30127 : {
30128 : #define FAIL return (end_sequence (), nullptr)
30129 : #define DONE return end_sequence ()
30130 : #line 18154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30131 : {
30132 : if (TARGET_SSE4_1 || V8HImode == V8HImode)
30133 : ix86_fixup_binary_operands_no_copy (SMIN, V8HImode, operands);
30134 : else
30135 : {
30136 : rtx xops[6];
30137 : bool ok;
30138 :
30139 : xops[0] = operands[0];
30140 : operands[1] = force_reg (V8HImode, operands[1]);
30141 : operands[2] = force_reg (V8HImode, operands[2]);
30142 :
30143 : if (SMIN == SMAX)
30144 : {
30145 : xops[1] = operands[1];
30146 : xops[2] = operands[2];
30147 : }
30148 : else
30149 : {
30150 : xops[1] = operands[2];
30151 : xops[2] = operands[1];
30152 : }
30153 :
30154 : xops[3] = gen_rtx_GT (VOIDmode, operands[1], operands[2]);
30155 : xops[4] = operands[1];
30156 : xops[5] = operands[2];
30157 :
30158 : ok = ix86_expand_int_vcond (xops);
30159 : gcc_assert (ok);
30160 : DONE;
30161 : }
30162 : }
30163 : #undef DONE
30164 : #undef FAIL
30165 : }
30166 : static const uint8_t expand_encoding[] = {
30167 : 0x01, 0x1f, 0x01, 0x00, 0x52, 0x50, 0x01, 0x01,
30168 : 0x01, 0x02
30169 : };
30170 : return complete_seq (expand_encoding, operands);
30171 : }
30172 :
30173 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18331 */
30174 : extern rtx_insn *gen_split_3349 (rtx_insn *, rtx *);
30175 : rtx_insn *
30176 : gen_split_3349 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
30177 : {
30178 : if (dump_file)
30179 : fprintf (dump_file, "Splitting with gen_split_3349 (sse.md:18331)\n");
30180 : start_sequence ();
30181 : #define FAIL return (end_sequence (), nullptr)
30182 : #define DONE return end_sequence ()
30183 : #line 18346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30184 : operands[5] = force_reg (V16QImode, operands[2]);
30185 : #undef DONE
30186 : #undef FAIL
30187 : static const uint8_t expand_encoding[] = {
30188 : 0x01, 0x1f, 0x01, 0x00, 0x5d, 0x4f, 0x01, 0x01,
30189 : 0x01, 0x05
30190 : };
30191 : return complete_seq (expand_encoding, operands);
30192 : }
30193 :
30194 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18331 */
30195 : extern rtx_insn *gen_split_3353 (rtx_insn *, rtx *);
30196 : rtx_insn *
30197 : gen_split_3353 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
30198 : {
30199 : if (dump_file)
30200 : fprintf (dump_file, "Splitting with gen_split_3353 (sse.md:18331)\n");
30201 : start_sequence ();
30202 : #define FAIL return (end_sequence (), nullptr)
30203 : #define DONE return end_sequence ()
30204 : #line 18346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30205 : operands[5] = force_reg (V4SImode, operands[2]);
30206 : #undef DONE
30207 : #undef FAIL
30208 : static const uint8_t expand_encoding[] = {
30209 : 0x01, 0x1f, 0x01, 0x00, 0x5d, 0x51, 0x01, 0x01,
30210 : 0x01, 0x05
30211 : };
30212 : return complete_seq (expand_encoding, operands);
30213 : }
30214 :
30215 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18349 */
30216 : extern rtx_insn *gen_split_3363 (rtx_insn *, rtx *);
30217 : rtx_insn *
30218 : gen_split_3363 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
30219 : {
30220 : if (dump_file)
30221 : fprintf (dump_file, "Splitting with gen_split_3363 (sse.md:18349)\n");
30222 : start_sequence ();
30223 : #define FAIL return (end_sequence (), nullptr)
30224 : #define DONE return end_sequence ()
30225 : #line 18372 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30226 : {
30227 : if (INTVAL (operands[5]) == 1)
30228 : std::swap (operands[3], operands[4]);
30229 :
30230 : if (operands[3] == CONST0_RTX (V4DImode))
30231 : operands[3] = force_reg (V4DImode, operands[3]);
30232 : if (operands[4] == CONST0_RTX (V4DImode))
30233 : operands[4] = force_reg (V4DImode, operands[4]);
30234 :
30235 : enum rtx_code code = INTVAL (operands[5]) ? GT : EQ;
30236 : emit_move_insn (operands[0], gen_rtx_fmt_ee (code, V4DImode,
30237 : operands[3], operands[4]));
30238 : DONE;
30239 : }
30240 : #undef DONE
30241 : #undef FAIL
30242 : static const uint8_t expand_encoding[] = {
30243 : 0x01, 0x27, 0x00
30244 : };
30245 : return complete_seq (expand_encoding, operands);
30246 : }
30247 :
30248 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18449 */
30249 : extern rtx_insn *gen_split_3375 (rtx_insn *, rtx *);
30250 : rtx_insn *
30251 : gen_split_3375 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
30252 : {
30253 : if (dump_file)
30254 : fprintf (dump_file, "Splitting with gen_split_3375 (sse.md:18449)\n");
30255 : start_sequence ();
30256 : #define FAIL return (end_sequence (), nullptr)
30257 : #define DONE return end_sequence ()
30258 : #line 18475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30259 : {
30260 : if (INTVAL (operands[5]) == 5)
30261 : std::swap (operands[1], operands[2]);
30262 : operands[3] = gen_lowpart (V16QImode, operands[3]);
30263 : }
30264 : #undef DONE
30265 : #undef FAIL
30266 : static const uint8_t expand_encoding[] = {
30267 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x4f, 0x03, 0x01,
30268 : 0x01, 0x01, 0x02, 0x61, 0x4f, 0x01, 0x03, 0x01,
30269 : 0x04, 0x34
30270 : };
30271 : return complete_seq (expand_encoding, operands);
30272 : }
30273 :
30274 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18513 */
30275 : extern rtx_insn *gen_split_3385 (rtx_insn *, rtx *);
30276 : rtx_insn *
30277 : gen_split_3385 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
30278 : {
30279 : if (dump_file)
30280 : fprintf (dump_file, "Splitting with gen_split_3385 (sse.md:18513)\n");
30281 : start_sequence ();
30282 : #define FAIL return (end_sequence (), nullptr)
30283 : #define DONE return end_sequence ()
30284 : #line 18528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30285 : {
30286 : rtx dst_min = gen_reg_rtx (V2DImode);
30287 :
30288 : if (MEM_P (operands[3]) && MEM_P (operands[4]))
30289 : operands[3] = force_reg (V2DImode, operands[3]);
30290 : emit_insn (gen_uminv2di3 (dst_min, operands[3], operands[4]));
30291 : rtx eq_op = INTVAL (operands[5]) == 2 ? operands[3] : operands[4];
30292 : emit_move_insn (operands[0], gen_rtx_EQ (V2DImode, eq_op, dst_min));
30293 : DONE;
30294 : }
30295 : #undef DONE
30296 : #undef FAIL
30297 : static const uint8_t expand_encoding[] = {
30298 : 0x01, 0x27, 0x00
30299 : };
30300 : return complete_seq (expand_encoding, operands);
30301 : }
30302 :
30303 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18539 */
30304 : extern rtx_insn *gen_split_3395 (rtx_insn *, rtx *);
30305 : rtx_insn *
30306 : gen_split_3395 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
30307 : {
30308 : if (dump_file)
30309 : fprintf (dump_file, "Splitting with gen_split_3395 (sse.md:18539)\n");
30310 : start_sequence ();
30311 : #define FAIL return (end_sequence (), nullptr)
30312 : #define DONE return end_sequence ()
30313 : #line 18559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30314 : {
30315 : if (INTVAL (operands[5]) == 5)
30316 : std::swap (operands[3], operands[4]);
30317 :
30318 : if (MEM_P (operands[3]))
30319 : operands[3] = force_reg (V8HImode, operands[3]);
30320 : enum rtx_code code = INTVAL (operands[5]) != 4 ? GT : EQ;
30321 : emit_move_insn (operands[0], gen_rtx_fmt_ee (code, V8HImode,
30322 : operands[3], operands[4]));
30323 : DONE;
30324 : }
30325 : #undef DONE
30326 : #undef FAIL
30327 : static const uint8_t expand_encoding[] = {
30328 : 0x01, 0x27, 0x00
30329 : };
30330 : return complete_seq (expand_encoding, operands);
30331 : }
30332 :
30333 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18571 */
30334 : extern rtx_insn *gen_split_3403 (rtx_insn *, rtx *);
30335 : rtx_insn *
30336 : gen_split_3403 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
30337 : {
30338 : if (dump_file)
30339 : fprintf (dump_file, "Splitting with gen_split_3403 (sse.md:18571)\n");
30340 : start_sequence ();
30341 : #define FAIL return (end_sequence (), nullptr)
30342 : #define DONE return end_sequence ()
30343 : #line 18588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30344 : {
30345 : if (MEM_P (operands[3]))
30346 : operands[3] = force_reg (V8HImode, operands[3]);
30347 : emit_move_insn (operands[0], gen_rtx_fmt_ee (EQ, V8HImode,
30348 : operands[3], operands[4]));
30349 : DONE;
30350 : }
30351 : #undef DONE
30352 : #undef FAIL
30353 : static const uint8_t expand_encoding[] = {
30354 : 0x01, 0x27, 0x00
30355 : };
30356 : return complete_seq (expand_encoding, operands);
30357 : }
30358 :
30359 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18571 */
30360 : extern rtx_insn *gen_split_3409 (rtx_insn *, rtx *);
30361 : rtx_insn *
30362 : gen_split_3409 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
30363 : {
30364 : if (dump_file)
30365 : fprintf (dump_file, "Splitting with gen_split_3409 (sse.md:18571)\n");
30366 : start_sequence ();
30367 : #define FAIL return (end_sequence (), nullptr)
30368 : #define DONE return end_sequence ()
30369 : #line 18588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30370 : {
30371 : if (MEM_P (operands[3]))
30372 : operands[3] = force_reg (V4DImode, operands[3]);
30373 : emit_move_insn (operands[0], gen_rtx_fmt_ee (EQ, V4DImode,
30374 : operands[3], operands[4]));
30375 : DONE;
30376 : }
30377 : #undef DONE
30378 : #undef FAIL
30379 : static const uint8_t expand_encoding[] = {
30380 : 0x01, 0x27, 0x00
30381 : };
30382 : return complete_seq (expand_encoding, operands);
30383 : }
30384 :
30385 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18606 */
30386 : rtx
30387 : gen_avx512f_eqv16si3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
30388 : {
30389 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
30390 : start_sequence ();
30391 : {
30392 : #define FAIL return (end_sequence (), nullptr)
30393 : #define DONE return end_sequence ()
30394 : #line 18614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30395 : ix86_fixup_binary_operands_no_copy (EQ, V16SImode, operands);
30396 : #undef DONE
30397 : #undef FAIL
30398 : }
30399 : static const uint8_t expand_encoding[] = {
30400 : 0x01, 0x1f, 0x01, 0x00, 0x49, 0x10, 0x1a, 0x10,
30401 : 0x03, 0x01, 0x01, 0x01, 0x02, 0x27, 0x00, 0x3c,
30402 : 0x01, 0x03
30403 : };
30404 : return complete_seq (expand_encoding, operands);
30405 : }
30406 :
30407 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18682 */
30408 : rtx
30409 : gen_avx512f_gtv16si3 (const rtx operand0, const rtx operand1, const rtx operand2)
30410 : {
30411 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
30412 : static const uint8_t expand_encoding[] = {
30413 : 0x1f, 0x01, 0x00, 0x1a, 0x10, 0x03, 0x01, 0x01,
30414 : 0x01, 0x02, 0x27, 0x06, 0x3c
30415 : };
30416 : return expand_rtx (expand_encoding, operands);
30417 : }
30418 :
30419 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18682 */
30420 : rtx
30421 : gen_avx512vl_gtv8si3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
30422 : {
30423 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
30424 : static const uint8_t expand_encoding[] = {
30425 : 0x1f, 0x01, 0x00, 0x49, 0x0f, 0x1a, 0x0f, 0x03,
30426 : 0x01, 0x01, 0x01, 0x02, 0x27, 0x06, 0x3c, 0x01,
30427 : 0x03
30428 : };
30429 : return expand_rtx (expand_encoding, operands);
30430 : }
30431 :
30432 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18690 */
30433 : rtx
30434 : gen_avx512bw_gtv64qi3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
30435 : {
30436 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
30437 : static const uint8_t expand_encoding[] = {
30438 : 0x1f, 0x01, 0x00, 0x49, 0x12, 0x1a, 0x12, 0x03,
30439 : 0x01, 0x01, 0x01, 0x02, 0x27, 0x06, 0x3c, 0x01,
30440 : 0x03
30441 : };
30442 : return expand_rtx (expand_encoding, operands);
30443 : }
30444 :
30445 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18725 */
30446 : rtx
30447 : gen_vec_permv16qi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
30448 : {
30449 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
30450 : start_sequence ();
30451 : {
30452 : #define FAIL return (end_sequence (), nullptr)
30453 : #define DONE return end_sequence ()
30454 : #line 18731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30455 : {
30456 : ix86_expand_vec_perm (operands);
30457 : DONE;
30458 : }
30459 : #undef DONE
30460 : #undef FAIL
30461 : }
30462 : static const uint8_t expand_encoding[] = {
30463 : 0x04, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
30464 : 0x03
30465 : };
30466 : return complete_seq (expand_encoding, operands);
30467 : }
30468 :
30469 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18725 */
30470 : rtx
30471 : gen_vec_permv4di (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
30472 : {
30473 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
30474 : start_sequence ();
30475 : {
30476 : #define FAIL return (end_sequence (), nullptr)
30477 : #define DONE return end_sequence ()
30478 : #line 18731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30479 : {
30480 : ix86_expand_vec_perm (operands);
30481 : DONE;
30482 : }
30483 : #undef DONE
30484 : #undef FAIL
30485 : }
30486 : static const uint8_t expand_encoding[] = {
30487 : 0x04, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
30488 : 0x03
30489 : };
30490 : return complete_seq (expand_encoding, operands);
30491 : }
30492 :
30493 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18725 */
30494 : rtx
30495 : gen_vec_permv32hf (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
30496 : {
30497 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
30498 : start_sequence ();
30499 : {
30500 : #define FAIL return (end_sequence (), nullptr)
30501 : #define DONE return end_sequence ()
30502 : #line 18731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30503 : {
30504 : ix86_expand_vec_perm (operands);
30505 : DONE;
30506 : }
30507 : #undef DONE
30508 : #undef FAIL
30509 : }
30510 : static const uint8_t expand_encoding[] = {
30511 : 0x04, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
30512 : 0x03
30513 : };
30514 : return complete_seq (expand_encoding, operands);
30515 : }
30516 :
30517 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18742 */
30518 : rtx
30519 : gen_one_cmplv4si2 (const rtx operand0, const rtx operand1)
30520 : {
30521 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1 };
30522 : start_sequence ();
30523 : {
30524 : #define FAIL return (end_sequence (), nullptr)
30525 : #define DONE return end_sequence ()
30526 : #line 18747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30527 : {
30528 : operands[2] = CONSTM1_RTX (V4SImode);
30529 :
30530 : if (!TARGET_AVX512F)
30531 : operands[2] = force_reg (V4SImode, operands[2]);
30532 : }
30533 : #undef DONE
30534 : #undef FAIL
30535 : }
30536 : static const uint8_t expand_encoding[] = {
30537 : 0x01, 0x1f, 0x01, 0x00, 0x4b, 0x51, 0x01, 0x01,
30538 : 0x01, 0x02
30539 : };
30540 : return complete_seq (expand_encoding, operands);
30541 : }
30542 :
30543 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18754 */
30544 : extern rtx_insn *gen_split_3417 (rtx_insn *, rtx *);
30545 : rtx_insn *
30546 : gen_split_3417 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
30547 : {
30548 : if (dump_file)
30549 : fprintf (dump_file, "Splitting with gen_split_3417 (sse.md:18754)\n");
30550 : start_sequence ();
30551 : #define FAIL return (end_sequence (), nullptr)
30552 : #define DONE return end_sequence ()
30553 : #line 18775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30554 : {
30555 : if (MEM_P (operands[1]))
30556 : {
30557 : operands[3] = operands[1];
30558 : operands[1] = operands[0];
30559 : }
30560 : else
30561 : {
30562 : if (GET_MODE_SIZE (HImode) < 4)
30563 : {
30564 : if (16 == 64 ? TARGET_AVX512BW
30565 : : (TARGET_AVX512BW && TARGET_AVX512VL)
30566 : || !EXT_REX_SSE_REG_P (operands[0]))
30567 : {
30568 : operands[3] = operands[1];
30569 : operands[1] = operands[0];
30570 : }
30571 : else
30572 : operands[3] = CONST0_RTX (V8HImode);
30573 : }
30574 : else
30575 : {
30576 : if (16 == 64 || TARGET_AVX512VL
30577 : || !EXT_REX_SSE_REG_P (operands[0]))
30578 : {
30579 : operands[3] = operands[1];
30580 : operands[1] = operands[0];
30581 : }
30582 : else
30583 : operands[3] = CONST0_RTX (V8HImode);
30584 : }
30585 : }
30586 : }
30587 : #undef DONE
30588 : #undef FAIL
30589 : static const uint8_t expand_encoding[] = {
30590 : 0x02, 0x1f, 0x01, 0x00, 0x01, 0x03, 0x17, 0x00,
30591 : 0x02, 0x1f, 0x01, 0x00, 0x4b, 0x50, 0x01, 0x01,
30592 : 0x01, 0x02, 0x1a, 0x00, 0x01, 0x01, 0x00, 0x27
30593 : };
30594 : return complete_seq (expand_encoding, operands);
30595 : }
30596 :
30597 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18843 */
30598 : extern rtx_insn *gen_split_3427 (rtx_insn *, rtx *);
30599 : rtx_insn *
30600 : gen_split_3427 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
30601 : {
30602 : if (dump_file)
30603 : fprintf (dump_file, "Splitting with gen_split_3427 (sse.md:18843)\n");
30604 : start_sequence ();
30605 : #define FAIL return (end_sequence (), nullptr)
30606 : #define DONE return end_sequence ()
30607 : #line 18854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30608 : operands[2] = CONSTM1_RTX (V2DImode);
30609 : #undef DONE
30610 : #undef FAIL
30611 : static const uint8_t expand_encoding[] = {
30612 : 0x01, 0x1f, 0x01, 0x00, 0x4b, 0x52, 0x81, 0x0c,
30613 : 0x52, 0x01, 0x01, 0x01, 0x02
30614 : };
30615 : return complete_seq (expand_encoding, operands);
30616 : }
30617 :
30618 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18863 */
30619 : rtx
30620 : gen_andnv8di3 (const rtx operand0, const rtx operand1, const rtx operand2)
30621 : {
30622 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
30623 : static const uint8_t expand_encoding[] = {
30624 : 0x1f, 0x01, 0x00, 0x49, 0x5c, 0x4c, 0x5c, 0x01,
30625 : 0x02, 0x01, 0x01
30626 : };
30627 : return expand_rtx (expand_encoding, operands);
30628 : }
30629 :
30630 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:18863 */
30631 : rtx
30632 : gen_andnv2di3 (const rtx operand0, const rtx operand1, const rtx operand2)
30633 : {
30634 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
30635 : static const uint8_t expand_encoding[] = {
30636 : 0x1f, 0x01, 0x00, 0x49, 0x52, 0x4c, 0x52, 0x01,
30637 : 0x02, 0x01, 0x01
30638 : };
30639 : return expand_rtx (expand_encoding, operands);
30640 : }
30641 :
30642 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:19025 */
30643 : extern rtx_insn *gen_split_3431 (rtx_insn *, rtx *);
30644 : rtx_insn *
30645 : gen_split_3431 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
30646 : {
30647 : if (dump_file)
30648 : fprintf (dump_file, "Splitting with gen_split_3431 (sse.md:19025)\n");
30649 : start_sequence ();
30650 : #define FAIL return (end_sequence (), nullptr)
30651 : #define DONE return end_sequence ()
30652 : #line 19038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30653 : operands[3] = gen_reg_rtx (V32QImode);
30654 : #undef DONE
30655 : #undef FAIL
30656 : static const uint8_t expand_encoding[] = {
30657 : 0x02, 0x1f, 0x01, 0x03, 0x81, 0x0c, 0x54, 0x01,
30658 : 0x01, 0x1f, 0x01, 0x00, 0x49, 0x54, 0x4c, 0x54,
30659 : 0x01, 0x03, 0x01, 0x02
30660 : };
30661 : return complete_seq (expand_encoding, operands);
30662 : }
30663 :
30664 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:19025 */
30665 : extern rtx_insn *gen_split_3441 (rtx_insn *, rtx *);
30666 : rtx_insn *
30667 : gen_split_3441 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
30668 : {
30669 : if (dump_file)
30670 : fprintf (dump_file, "Splitting with gen_split_3441 (sse.md:19025)\n");
30671 : start_sequence ();
30672 : #define FAIL return (end_sequence (), nullptr)
30673 : #define DONE return end_sequence ()
30674 : #line 19038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30675 : operands[3] = gen_reg_rtx (V2DImode);
30676 : #undef DONE
30677 : #undef FAIL
30678 : static const uint8_t expand_encoding[] = {
30679 : 0x02, 0x1f, 0x01, 0x03, 0x81, 0x0c, 0x52, 0x01,
30680 : 0x01, 0x1f, 0x01, 0x00, 0x49, 0x52, 0x4c, 0x52,
30681 : 0x01, 0x03, 0x01, 0x02
30682 : };
30683 : return complete_seq (expand_encoding, operands);
30684 : }
30685 :
30686 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:19040 */
30687 : extern rtx_insn *gen_split_3451 (rtx_insn *, rtx *);
30688 : rtx_insn *
30689 : gen_split_3451 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
30690 : {
30691 : if (dump_file)
30692 : fprintf (dump_file, "Splitting with gen_split_3451 (sse.md:19040)\n");
30693 : start_sequence ();
30694 : #define FAIL return (end_sequence (), nullptr)
30695 : #define DONE return end_sequence ()
30696 : #line 19053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30697 : operands[3] = gen_reg_rtx (V4SImode);
30698 : #undef DONE
30699 : #undef FAIL
30700 : static const uint8_t expand_encoding[] = {
30701 : 0x02, 0x1f, 0x01, 0x03, 0x81, 0x0c, 0x51, 0x01,
30702 : 0x01, 0x1f, 0x01, 0x00, 0x4a, 0x51, 0x4c, 0x51,
30703 : 0x01, 0x03, 0x01, 0x02
30704 : };
30705 : return complete_seq (expand_encoding, operands);
30706 : }
30707 :
30708 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:19055 */
30709 : extern rtx_insn *gen_split_3461 (rtx_insn *, rtx *);
30710 : rtx_insn *
30711 : gen_split_3461 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
30712 : {
30713 : if (dump_file)
30714 : fprintf (dump_file, "Splitting with gen_split_3461 (sse.md:19055)\n");
30715 : start_sequence ();
30716 : #define FAIL return (end_sequence (), nullptr)
30717 : #define DONE return end_sequence ()
30718 : #line 19068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30719 : operands[3] = gen_reg_rtx (V8HImode);
30720 : #undef DONE
30721 : #undef FAIL
30722 : static const uint8_t expand_encoding[] = {
30723 : 0x02, 0x1f, 0x01, 0x03, 0x81, 0x0c, 0x50, 0x01,
30724 : 0x01, 0x1f, 0x01, 0x00, 0x4c, 0x50, 0x4b, 0x50,
30725 : 0x01, 0x03, 0x01, 0x02
30726 : };
30727 : return complete_seq (expand_encoding, operands);
30728 : }
30729 :
30730 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:19086 */
30731 : rtx
30732 : gen_xorv8di3 (const rtx operand0, const rtx operand1, const rtx operand2)
30733 : {
30734 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
30735 : start_sequence ();
30736 : {
30737 : #define FAIL return (end_sequence (), nullptr)
30738 : #define DONE return end_sequence ()
30739 : #line 19092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30740 : {
30741 : ix86_expand_vector_logical_operator (XOR, V8DImode, operands);
30742 : DONE;
30743 : }
30744 : #undef DONE
30745 : #undef FAIL
30746 : }
30747 : static const uint8_t expand_encoding[] = {
30748 : 0x01, 0x1f, 0x01, 0x00, 0x4b, 0x5c, 0x01, 0x01,
30749 : 0x01, 0x02
30750 : };
30751 : return complete_seq (expand_encoding, operands);
30752 : }
30753 :
30754 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:19086 */
30755 : rtx
30756 : gen_andv32hi3 (const rtx operand0, const rtx operand1, const rtx operand2)
30757 : {
30758 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
30759 : start_sequence ();
30760 : {
30761 : #define FAIL return (end_sequence (), nullptr)
30762 : #define DONE return end_sequence ()
30763 : #line 19092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30764 : {
30765 : ix86_expand_vector_logical_operator (AND, V32HImode, operands);
30766 : DONE;
30767 : }
30768 : #undef DONE
30769 : #undef FAIL
30770 : }
30771 : static const uint8_t expand_encoding[] = {
30772 : 0x01, 0x1f, 0x01, 0x00, 0x49, 0x5a, 0x01, 0x01,
30773 : 0x01, 0x02
30774 : };
30775 : return complete_seq (expand_encoding, operands);
30776 : }
30777 :
30778 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:19086 */
30779 : rtx
30780 : gen_iorv8si3 (const rtx operand0, const rtx operand1, const rtx operand2)
30781 : {
30782 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
30783 : start_sequence ();
30784 : {
30785 : #define FAIL return (end_sequence (), nullptr)
30786 : #define DONE return end_sequence ()
30787 : #line 19092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30788 : {
30789 : ix86_expand_vector_logical_operator (IOR, V8SImode, operands);
30790 : DONE;
30791 : }
30792 : #undef DONE
30793 : #undef FAIL
30794 : }
30795 : static const uint8_t expand_encoding[] = {
30796 : 0x01, 0x1f, 0x01, 0x00, 0x4a, 0x56, 0x01, 0x01,
30797 : 0x01, 0x02
30798 : };
30799 : return complete_seq (expand_encoding, operands);
30800 : }
30801 :
30802 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:19086 */
30803 : rtx
30804 : gen_xorv2di3 (const rtx operand0, const rtx operand1, const rtx operand2)
30805 : {
30806 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
30807 : start_sequence ();
30808 : {
30809 : #define FAIL return (end_sequence (), nullptr)
30810 : #define DONE return end_sequence ()
30811 : #line 19092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30812 : {
30813 : ix86_expand_vector_logical_operator (XOR, V2DImode, operands);
30814 : DONE;
30815 : }
30816 : #undef DONE
30817 : #undef FAIL
30818 : }
30819 : static const uint8_t expand_encoding[] = {
30820 : 0x01, 0x1f, 0x01, 0x00, 0x4b, 0x52, 0x01, 0x01,
30821 : 0x01, 0x02
30822 : };
30823 : return complete_seq (expand_encoding, operands);
30824 : }
30825 :
30826 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:19097 */
30827 : rtx
30828 : gen_cond_andv8di (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
30829 : {
30830 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
30831 : start_sequence ();
30832 : {
30833 : #define FAIL _Pragma ("GCC error \"cond_andv8di cannot FAIL\"") (void)0
30834 : #define DONE return end_sequence ()
30835 : #line 19106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30836 : {
30837 : emit_insn (gen_andv8di3_mask (operands[0],
30838 : operands[2],
30839 : operands[3],
30840 : operands[4],
30841 : operands[1]));
30842 : DONE;
30843 : }
30844 : #undef DONE
30845 : #undef FAIL
30846 : }
30847 : static const uint8_t expand_encoding[] = {
30848 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5c, 0x49,
30849 : 0x5c, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01,
30850 : 0x01
30851 : };
30852 : return complete_seq (expand_encoding, operands);
30853 : }
30854 :
30855 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:19115 */
30856 : rtx
30857 : gen_iorv16si3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
30858 : {
30859 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
30860 : start_sequence ();
30861 : {
30862 : #define FAIL return (end_sequence (), nullptr)
30863 : #define DONE return end_sequence ()
30864 : #line 19124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30865 : ix86_fixup_binary_operands_no_copy (IOR, V16SImode, operands);
30866 : #undef DONE
30867 : #undef FAIL
30868 : }
30869 : static const uint8_t expand_encoding[] = {
30870 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5b, 0x4a,
30871 : 0x5b, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01,
30872 : 0x04
30873 : };
30874 : return complete_seq (expand_encoding, operands);
30875 : }
30876 :
30877 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:19115 */
30878 : rtx
30879 : gen_andv8di3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
30880 : {
30881 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
30882 : start_sequence ();
30883 : {
30884 : #define FAIL return (end_sequence (), nullptr)
30885 : #define DONE return end_sequence ()
30886 : #line 19124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30887 : ix86_fixup_binary_operands_no_copy (AND, V8DImode, operands);
30888 : #undef DONE
30889 : #undef FAIL
30890 : }
30891 : static const uint8_t expand_encoding[] = {
30892 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5c, 0x49,
30893 : 0x5c, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01,
30894 : 0x04
30895 : };
30896 : return complete_seq (expand_encoding, operands);
30897 : }
30898 :
30899 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:19537 */
30900 : rtx
30901 : gen_vec_pack_trunc_v32hi (const rtx operand0, const rtx operand1, const rtx operand2)
30902 : {
30903 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
30904 : start_sequence ();
30905 : {
30906 : #define FAIL return (end_sequence (), nullptr)
30907 : #define DONE return end_sequence ()
30908 : #line 19542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30909 : {
30910 : rtx op1 = gen_lowpart (V64QImode, operands[1]);
30911 : rtx op2 = gen_lowpart (V64QImode, operands[2]);
30912 : ix86_expand_vec_extract_even_odd (operands[0], op1, op2, 0);
30913 : DONE;
30914 : }
30915 : #undef DONE
30916 : #undef FAIL
30917 : }
30918 : static const uint8_t expand_encoding[] = {
30919 : 0x03, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02
30920 : };
30921 : return complete_seq (expand_encoding, operands);
30922 : }
30923 :
30924 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:19559 */
30925 : rtx
30926 : gen_vec_pack_trunc_hi (const rtx operand0, const rtx operand1, const rtx operand2)
30927 : {
30928 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
30929 : start_sequence ();
30930 : {
30931 : #define FAIL return (end_sequence (), nullptr)
30932 : #define DONE return end_sequence ()
30933 : #line 19571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30934 : {
30935 : operands[3] = GEN_INT (GET_MODE_BITSIZE (HImode));
30936 : }
30937 : #undef DONE
30938 : #undef FAIL
30939 : }
30940 : static const uint8_t expand_encoding[] = {
30941 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x4a,
30942 : 0x11, 0x4d, 0x11, 0x6f, 0x11, 0x01, 0x02, 0x01,
30943 : 0x03, 0x6f, 0x11, 0x01, 0x01, 0x1a, 0x00, 0x01,
30944 : 0x27, 0x00, 0x81, 0x2f
30945 : };
30946 : return complete_seq (expand_encoding, operands);
30947 : }
30948 :
30949 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:20244 */
30950 : rtx
30951 : gen_vec_interleave_lowv4di (const rtx operand0, const rtx operand1, const rtx operand2)
30952 : {
30953 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
30954 : start_sequence ();
30955 : {
30956 : #define FAIL return (end_sequence (), nullptr)
30957 : #define DONE return end_sequence ()
30958 : #line 20249 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30959 : {
30960 : rtx t1 = gen_reg_rtx (V4DImode);
30961 : rtx t2 = gen_reg_rtx (V4DImode);
30962 : rtx t3 = gen_reg_rtx (V4DImode);
30963 : emit_insn (gen_avx2_interleave_lowv4di (t1, operands[1], operands[2]));
30964 : emit_insn (gen_avx2_interleave_highv4di (t2, operands[1], operands[2]));
30965 : emit_insn (gen_avx2_permv2ti (t3, gen_lowpart (V4DImode, t1),
30966 : gen_lowpart (V4DImode, t2),
30967 : GEN_INT (0 + (2 << 4))));
30968 : emit_move_insn (operands[0], gen_lowpart (V4DImode, t3));
30969 : DONE;
30970 : }
30971 : #undef DONE
30972 : #undef FAIL
30973 : }
30974 : static const uint8_t expand_encoding[] = {
30975 : 0x03, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02
30976 : };
30977 : return complete_seq (expand_encoding, operands);
30978 : }
30979 :
30980 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:20470 */
30981 : rtx
30982 : gen_avx512f_vinserti64x4_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
30983 : {
30984 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
30985 : start_sequence ();
30986 : {
30987 : #define FAIL return (end_sequence (), nullptr)
30988 : #define DONE return end_sequence ()
30989 : #line 20478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30990 : {
30991 : int mask = INTVAL (operands[3]);
30992 : if (mask == 0)
30993 : emit_insn (gen_vec_set_lo_v8di_mask (operands[0], operands[1],
30994 : operands[2], operands[4],
30995 : operands[5]));
30996 : else
30997 : emit_insn (gen_vec_set_hi_v8di_mask (operands[0], operands[1],
30998 : operands[2], operands[4],
30999 : operands[5]));
31000 : DONE;
31001 : }
31002 : #undef DONE
31003 : #undef FAIL
31004 : }
31005 : static const uint8_t expand_encoding[] = {
31006 : 0x06, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
31007 : 0x03, 0x01, 0x04, 0x01, 0x05
31008 : };
31009 : return complete_seq (expand_encoding, operands);
31010 : }
31011 :
31012 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:20993 */
31013 : rtx
31014 : gen_avx512vl_pshufdv3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
31015 : {
31016 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
31017 : start_sequence ();
31018 : {
31019 : #define FAIL return (end_sequence (), nullptr)
31020 : #define DONE return end_sequence ()
31021 : #line 21000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31022 : {
31023 : int mask = INTVAL (operands[2]);
31024 : emit_insn (gen_avx2_pshufd_1_mask (operands[0], operands[1],
31025 : GEN_INT ((mask >> 0) & 3),
31026 : GEN_INT ((mask >> 2) & 3),
31027 : GEN_INT ((mask >> 4) & 3),
31028 : GEN_INT ((mask >> 6) & 3),
31029 : GEN_INT (((mask >> 0) & 3) + 4),
31030 : GEN_INT (((mask >> 2) & 3) + 4),
31031 : GEN_INT (((mask >> 4) & 3) + 4),
31032 : GEN_INT (((mask >> 6) & 3) + 4),
31033 : operands[3], operands[4]));
31034 : DONE;
31035 : }
31036 : #undef DONE
31037 : #undef FAIL
31038 : }
31039 : static const uint8_t expand_encoding[] = {
31040 : 0x05, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
31041 : 0x03, 0x01, 0x04
31042 : };
31043 : return complete_seq (expand_encoding, operands);
31044 : }
31045 :
31046 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:21237 */
31047 : rtx
31048 : gen_sse2_pshuflw (const rtx operand0, const rtx operand1, const rtx operand2)
31049 : {
31050 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
31051 : start_sequence ();
31052 : {
31053 : #define FAIL return (end_sequence (), nullptr)
31054 : #define DONE return end_sequence ()
31055 : #line 21242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31056 : {
31057 : int mask = INTVAL (operands[2]);
31058 : emit_insn (gen_sse2_pshuflw_1 (operands[0], operands[1],
31059 : GEN_INT ((mask >> 0) & 3),
31060 : GEN_INT ((mask >> 2) & 3),
31061 : GEN_INT ((mask >> 4) & 3),
31062 : GEN_INT ((mask >> 6) & 3)));
31063 : DONE;
31064 : }
31065 : #undef DONE
31066 : #undef FAIL
31067 : }
31068 : static const uint8_t expand_encoding[] = {
31069 : 0x03, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02
31070 : };
31071 : return complete_seq (expand_encoding, operands);
31072 : }
31073 :
31074 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:21620 */
31075 : extern rtx_insn *gen_split_3472 (rtx_insn *, rtx *);
31076 : rtx_insn *
31077 : gen_split_3472 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31078 : {
31079 : if (dump_file)
31080 : fprintf (dump_file, "Splitting with gen_split_3472 (sse.md:21620)\n");
31081 : start_sequence ();
31082 : #define FAIL return (end_sequence (), nullptr)
31083 : #define DONE return end_sequence ()
31084 : #line 21627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31085 : operands[1] = gen_lowpart (SImode, operands[1]);
31086 : #undef DONE
31087 : #undef FAIL
31088 : static const uint8_t expand_encoding[] = {
31089 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
31090 : };
31091 : return complete_seq (expand_encoding, operands);
31092 : }
31093 :
31094 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:21860 */
31095 : extern rtx_insn *gen_split_3480 (rtx_insn *, rtx *);
31096 : rtx_insn *
31097 : gen_split_3480 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31098 : {
31099 : if (dump_file)
31100 : fprintf (dump_file, "Splitting with gen_split_3480 (sse.md:21860)\n");
31101 : start_sequence ();
31102 : #define FAIL return (end_sequence (), nullptr)
31103 : #define DONE return end_sequence ()
31104 : #line 21869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31105 : operands[1] = gen_lowpart (TImode, operands[1]);
31106 : #undef DONE
31107 : #undef FAIL
31108 : static const uint8_t expand_encoding[] = {
31109 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
31110 : };
31111 : return complete_seq (expand_encoding, operands);
31112 : }
31113 :
31114 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:22207 */
31115 : rtx
31116 : gen_vec_unpacks_lo_v32hi (const rtx operand0, const rtx operand1)
31117 : {
31118 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
31119 : start_sequence ();
31120 : {
31121 : #define FAIL return (end_sequence (), nullptr)
31122 : #define DONE return end_sequence ()
31123 : #line 22211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31124 : ix86_expand_sse_unpack (operands[0], operands[1], false, false); DONE;
31125 : #undef DONE
31126 : #undef FAIL
31127 : }
31128 : static const uint8_t expand_encoding[] = {
31129 : 0x02, 0x01, 0x00, 0x01, 0x01
31130 : };
31131 : return complete_seq (expand_encoding, operands);
31132 : }
31133 :
31134 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:22213 */
31135 : rtx
31136 : gen_vec_unpacks_hi_v16qi (const rtx operand0, const rtx operand1)
31137 : {
31138 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
31139 : start_sequence ();
31140 : {
31141 : #define FAIL return (end_sequence (), nullptr)
31142 : #define DONE return end_sequence ()
31143 : #line 22217 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31144 : ix86_expand_sse_unpack (operands[0], operands[1], false, true); DONE;
31145 : #undef DONE
31146 : #undef FAIL
31147 : }
31148 : static const uint8_t expand_encoding[] = {
31149 : 0x02, 0x01, 0x00, 0x01, 0x01
31150 : };
31151 : return complete_seq (expand_encoding, operands);
31152 : }
31153 :
31154 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:22219 */
31155 : rtx
31156 : gen_vec_unpacku_lo_v32hi (const rtx operand0, const rtx operand1)
31157 : {
31158 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
31159 : start_sequence ();
31160 : {
31161 : #define FAIL return (end_sequence (), nullptr)
31162 : #define DONE return end_sequence ()
31163 : #line 22223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31164 : ix86_expand_sse_unpack (operands[0], operands[1], true, false); DONE;
31165 : #undef DONE
31166 : #undef FAIL
31167 : }
31168 : static const uint8_t expand_encoding[] = {
31169 : 0x02, 0x01, 0x00, 0x01, 0x01
31170 : };
31171 : return complete_seq (expand_encoding, operands);
31172 : }
31173 :
31174 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:22252 */
31175 : rtx
31176 : gen_vec_unpacku_hi_v64qi (const rtx operand0, const rtx operand1)
31177 : {
31178 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
31179 : start_sequence ();
31180 : {
31181 : #define FAIL return (end_sequence (), nullptr)
31182 : #define DONE return end_sequence ()
31183 : #line 22256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31184 : ix86_expand_sse_unpack (operands[0], operands[1], true, true); DONE;
31185 : #undef DONE
31186 : #undef FAIL
31187 : }
31188 : static const uint8_t expand_encoding[] = {
31189 : 0x02, 0x01, 0x00, 0x01, 0x01
31190 : };
31191 : return complete_seq (expand_encoding, operands);
31192 : }
31193 :
31194 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:22281 */
31195 : rtx
31196 : gen_vec_unpacks_hi_hi (const rtx operand0, const rtx operand1)
31197 : {
31198 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
31199 : static const uint8_t expand_encoding[] = {
31200 : 0x17, 0x00, 0x02, 0x1f, 0x32, 0x10, 0x01, 0x00,
31201 : 0x00, 0x50, 0x10, 0x01, 0x01, 0x27, 0x08, 0x1a,
31202 : 0x00, 0x01, 0x27, 0x00, 0x81, 0x2f
31203 : };
31204 : return expand_rtx (expand_encoding, operands);
31205 : }
31206 :
31207 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:22306 */
31208 : rtx
31209 : gen_avx512bw_uavgv32hi3 (const rtx operand0, const rtx operand1, const rtx operand2)
31210 : {
31211 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
31212 : start_sequence ();
31213 : {
31214 : #define FAIL return (end_sequence (), nullptr)
31215 : #define DONE return end_sequence ()
31216 : #line 22319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31217 : {
31218 : operands[3] = CONST1_RTX(V32SImode);
31219 : ix86_fixup_binary_operands_no_copy (PLUS, V32HImode, operands);
31220 : }
31221 : #undef DONE
31222 : #undef FAIL
31223 : }
31224 : static const uint8_t expand_encoding[] = {
31225 : 0x01, 0x1f, 0x01, 0x00, 0x70, 0x5a, 0x50, 0x60,
31226 : 0x3b, 0x60, 0x3b, 0x60, 0x6f, 0x60, 0x01, 0x01,
31227 : 0x6f, 0x60, 0x01, 0x02, 0x01, 0x03, 0x27, 0x01
31228 : };
31229 : return complete_seq (expand_encoding, operands);
31230 : }
31231 :
31232 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:22405 */
31233 : extern rtx_insn *gen_split_3487 (rtx_insn *, rtx *);
31234 : rtx_insn *
31235 : gen_split_3487 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31236 : {
31237 : if (dump_file)
31238 : fprintf (dump_file, "Splitting with gen_split_3487 (sse.md:22405)\n");
31239 : start_sequence ();
31240 : #define FAIL return (end_sequence (), nullptr)
31241 : #define DONE return end_sequence ()
31242 : #line 22417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31243 : operands[1] = gen_lowpart (V8SFmode, operands[1]);
31244 : #undef DONE
31245 : #undef FAIL
31246 : static const uint8_t expand_encoding[] = {
31247 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x11, 0x01, 0x01,
31248 : 0x01, 0x32
31249 : };
31250 : return complete_seq (expand_encoding, operands);
31251 : }
31252 :
31253 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:22447 */
31254 : extern rtx_insn *gen_split_3496 (rtx_insn *, rtx *);
31255 : rtx_insn *
31256 : gen_split_3496 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31257 : {
31258 : if (dump_file)
31259 : fprintf (dump_file, "Splitting with gen_split_3496 (sse.md:22447)\n");
31260 : start_sequence ();
31261 : #define FAIL return (end_sequence (), nullptr)
31262 : #define DONE return end_sequence ()
31263 : #line 22460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31264 : operands[1] = gen_lowpart (V8SFmode, operands[1]);
31265 : #undef DONE
31266 : #undef FAIL
31267 : static const uint8_t expand_encoding[] = {
31268 : 0x01, 0x1f, 0x01, 0x00, 0x6f, 0x12, 0x1a, 0x11,
31269 : 0x01, 0x01, 0x01, 0x32
31270 : };
31271 : return complete_seq (expand_encoding, operands);
31272 : }
31273 :
31274 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:22466 */
31275 : extern rtx_insn *gen_split_3506 (rtx_insn *, rtx *);
31276 : rtx_insn *
31277 : gen_split_3506 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31278 : {
31279 : if (dump_file)
31280 : fprintf (dump_file, "Splitting with gen_split_3506 (sse.md:22466)\n");
31281 : start_sequence ();
31282 : #define FAIL return (end_sequence (), nullptr)
31283 : #define DONE return end_sequence ()
31284 : #line 22485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31285 : operands[1] = gen_lowpart (V4SFmode, operands[1]);
31286 : #undef DONE
31287 : #undef FAIL
31288 : static const uint8_t expand_encoding[] = {
31289 : 0x01, 0x1f, 0x01, 0x00, 0x6f, 0x12, 0x1a, 0x11,
31290 : 0x01, 0x01, 0x01, 0x32
31291 : };
31292 : return complete_seq (expand_encoding, operands);
31293 : }
31294 :
31295 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:22510 */
31296 : extern rtx_insn *gen_split_3516 (rtx_insn *, rtx *);
31297 : rtx_insn *
31298 : gen_split_3516 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31299 : {
31300 : if (dump_file)
31301 : fprintf (dump_file, "Splitting with gen_split_3516 (sse.md:22510)\n");
31302 : start_sequence ();
31303 : #define FAIL return (end_sequence (), nullptr)
31304 : #define DONE return end_sequence ()
31305 : #line 22524 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31306 : operands[1] = gen_lowpart (V8SFmode, operands[1]);
31307 : #undef DONE
31308 : #undef FAIL
31309 : static const uint8_t expand_encoding[] = {
31310 : 0x01, 0x1f, 0x01, 0x00, 0x6f, 0x12, 0x1a, 0x11,
31311 : 0x01, 0x01, 0x01, 0x32
31312 : };
31313 : return complete_seq (expand_encoding, operands);
31314 : }
31315 :
31316 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:22614 */
31317 : extern rtx_insn *gen_split_3526 (rtx_insn *, rtx *);
31318 : rtx_insn *
31319 : gen_split_3526 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31320 : {
31321 : if (dump_file)
31322 : fprintf (dump_file, "Splitting with gen_split_3526 (sse.md:22614)\n");
31323 : start_sequence ();
31324 : #define FAIL return (end_sequence (), nullptr)
31325 : #define DONE return end_sequence ()
31326 : #line 22623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31327 : {
31328 : operands[2] = gen_reg_rtx (SImode);
31329 : if (GET_MODE_NUNITS (V16QImode) == 32)
31330 : operands[3] = gen_rtx_NOT (SImode, operands[2]);
31331 : else
31332 : {
31333 : operands[3]
31334 : = gen_int_mode ((HOST_WIDE_INT_1 << GET_MODE_NUNITS (V16QImode)) - 1,
31335 : SImode);
31336 : operands[3] = gen_rtx_XOR (SImode, operands[2], operands[3]);
31337 : }
31338 : }
31339 : #undef DONE
31340 : #undef FAIL
31341 : static const uint8_t expand_encoding[] = {
31342 : 0x02, 0x1f, 0x01, 0x02, 0x1a, 0x11, 0x01, 0x01,
31343 : 0x01, 0x32, 0x1f, 0x01, 0x00, 0x01, 0x03
31344 : };
31345 : return complete_seq (expand_encoding, operands);
31346 : }
31347 :
31348 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:22786 */
31349 : extern rtx_insn *gen_split_3538 (rtx_insn *, rtx *);
31350 : rtx_insn *
31351 : gen_split_3538 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31352 : {
31353 : if (dump_file)
31354 : fprintf (dump_file, "Splitting with gen_split_3538 (sse.md:22786)\n");
31355 : start_sequence ();
31356 : #define FAIL return (end_sequence (), nullptr)
31357 : #define DONE return end_sequence ()
31358 : #line 22804 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31359 :
31360 : #undef DONE
31361 : #undef FAIL
31362 : static const uint8_t expand_encoding[] = {
31363 : 0x01, 0x1f, 0x01, 0x00, 0x6e, 0x12, 0x1a, 0x11,
31364 : 0x01, 0x01, 0x01, 0x32
31365 : };
31366 : return complete_seq (expand_encoding, operands);
31367 : }
31368 :
31369 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:23063 */
31370 : extern rtx_insn *gen_split_3549 (rtx_insn *, rtx *);
31371 : rtx_insn *
31372 : gen_split_3549 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
31373 : {
31374 : if (dump_file)
31375 : fprintf (dump_file, "Splitting with gen_split_3549 (sse.md:23063)\n");
31376 : start_sequence ();
31377 : #define FAIL return (end_sequence (), nullptr)
31378 : #define DONE return end_sequence ()
31379 : #line 23084 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31380 : {
31381 : /* Generate SSE version of the operation. */
31382 : rtx op0 = lowpart_subreg (V8HImode, operands[0],
31383 : GET_MODE (operands[0]));
31384 : rtx op1 = lowpart_subreg (V8HImode, operands[1],
31385 : GET_MODE (operands[1]));
31386 : rtx op2 = lowpart_subreg (V8HImode, operands[2],
31387 : GET_MODE (operands[2]));
31388 : emit_insn (gen_ssse3_phaddswv8hi3 (op0, op1, op2));
31389 : ix86_move_vector_high_sse_to_mmx (op0);
31390 : DONE;
31391 : }
31392 : #undef DONE
31393 : #undef FAIL
31394 : static const uint8_t expand_encoding[] = {
31395 : 0x01, 0x27, 0x00
31396 : };
31397 : return complete_seq (expand_encoding, operands);
31398 : }
31399 :
31400 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:23427 */
31401 : rtx
31402 : gen_smulhrsv16hi3 (const rtx operand0, const rtx operand1, const rtx operand2)
31403 : {
31404 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
31405 : start_sequence ();
31406 : {
31407 : #define FAIL return (end_sequence (), nullptr)
31408 : #define DONE return end_sequence ()
31409 : #line 23442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31410 : {
31411 : operands[3] = CONST1_RTX(V16HImode);
31412 : ix86_fixup_binary_operands_no_copy (MULT, V16HImode, operands);
31413 : }
31414 : #undef DONE
31415 : #undef FAIL
31416 : }
31417 : static const uint8_t expand_encoding[] = {
31418 : 0x01, 0x1f, 0x01, 0x00, 0x70, 0x55, 0x50, 0x5b,
31419 : 0x3b, 0x5b, 0x50, 0x5b, 0x3e, 0x5b, 0x6e, 0x5b,
31420 : 0x01, 0x01, 0x6e, 0x5b, 0x01, 0x02, 0x27, 0x0e,
31421 : 0x01, 0x03, 0x27, 0x01
31422 : };
31423 : return complete_seq (expand_encoding, operands);
31424 : }
31425 :
31426 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:23860 */
31427 : rtx
31428 : gen_absv16qi2 (const rtx operand0, const rtx operand1)
31429 : {
31430 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
31431 : start_sequence ();
31432 : {
31433 : #define FAIL return (end_sequence (), nullptr)
31434 : #define DONE return end_sequence ()
31435 : #line 23865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31436 : {
31437 : if (!TARGET_SSSE3
31438 : || ((V16QImode == V2DImode || V16QImode == V4DImode)
31439 : && !TARGET_AVX512VL))
31440 : {
31441 : ix86_expand_sse2_abs (operands[0], operands[1]);
31442 : DONE;
31443 : }
31444 : }
31445 : #undef DONE
31446 : #undef FAIL
31447 : }
31448 : static const uint8_t expand_encoding[] = {
31449 : 0x01, 0x1f, 0x01, 0x00, 0x7b, 0x4f, 0x01, 0x01
31450 : };
31451 : return complete_seq (expand_encoding, operands);
31452 : }
31453 :
31454 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:23860 */
31455 : rtx
31456 : gen_absv4di2 (const rtx operand0, const rtx operand1)
31457 : {
31458 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
31459 : start_sequence ();
31460 : {
31461 : #define FAIL return (end_sequence (), nullptr)
31462 : #define DONE return end_sequence ()
31463 : #line 23865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31464 : {
31465 : if (!TARGET_SSSE3
31466 : || ((V4DImode == V2DImode || V4DImode == V4DImode)
31467 : && !TARGET_AVX512VL))
31468 : {
31469 : ix86_expand_sse2_abs (operands[0], operands[1]);
31470 : DONE;
31471 : }
31472 : }
31473 : #undef DONE
31474 : #undef FAIL
31475 : }
31476 : static const uint8_t expand_encoding[] = {
31477 : 0x01, 0x1f, 0x01, 0x00, 0x7b, 0x57, 0x01, 0x01
31478 : };
31479 : return complete_seq (expand_encoding, operands);
31480 : }
31481 :
31482 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:24077 */
31483 : extern rtx_insn *gen_split_3563 (rtx_insn *, rtx *);
31484 : rtx_insn *
31485 : gen_split_3563 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31486 : {
31487 : if (dump_file)
31488 : fprintf (dump_file, "Splitting with gen_split_3563 (sse.md:24077)\n");
31489 : start_sequence ();
31490 : #define FAIL return (end_sequence (), nullptr)
31491 : #define DONE return end_sequence ()
31492 : #line 24092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31493 : operands[3] = gen_lowpart (V2DFmode, operands[3]);
31494 : #undef DONE
31495 : #undef FAIL
31496 : static const uint8_t expand_encoding[] = {
31497 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6c, 0x03, 0x01,
31498 : 0x02, 0x01, 0x01, 0x01, 0x03, 0x34
31499 : };
31500 : return complete_seq (expand_encoding, operands);
31501 : }
31502 :
31503 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:24168 */
31504 : extern rtx_insn *gen_split_3573 (rtx_insn *, rtx *);
31505 : rtx_insn *
31506 : gen_split_3573 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31507 : {
31508 : if (dump_file)
31509 : fprintf (dump_file, "Splitting with gen_split_3573 (sse.md:24168)\n");
31510 : start_sequence ();
31511 : #define FAIL return (end_sequence (), nullptr)
31512 : #define DONE return end_sequence ()
31513 : #line 24186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31514 : {
31515 : operands[0] = gen_lowpart (V2DFmode, operands[0]);
31516 : operands[1] = gen_lowpart (V2DFmode, operands[1]);
31517 : operands[2] = force_reg (V2DFmode,
31518 : gen_lowpart (V2DFmode, operands[2]));
31519 : operands[3] = gen_lowpart (V2DFmode, operands[3]);
31520 : }
31521 : #undef DONE
31522 : #undef FAIL
31523 : static const uint8_t expand_encoding[] = {
31524 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6c, 0x03, 0x01,
31525 : 0x02, 0x01, 0x01, 0x01, 0x03, 0x34
31526 : };
31527 : return complete_seq (expand_encoding, operands);
31528 : }
31529 :
31530 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:24363 */
31531 : extern rtx_insn *gen_split_3583 (rtx_insn *, rtx *);
31532 : rtx_insn *
31533 : gen_split_3583 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31534 : {
31535 : if (dump_file)
31536 : fprintf (dump_file, "Splitting with gen_split_3583 (sse.md:24363)\n");
31537 : start_sequence ();
31538 : #define FAIL return (end_sequence (), nullptr)
31539 : #define DONE return end_sequence ()
31540 : #line 24377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31541 : operands[4] = gen_lowpart (V16QImode, operands[3]);
31542 : #undef DONE
31543 : #undef FAIL
31544 : static const uint8_t expand_encoding[] = {
31545 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x4f, 0x03, 0x01,
31546 : 0x02, 0x01, 0x01, 0x01, 0x04, 0x34
31547 : };
31548 : return complete_seq (expand_encoding, operands);
31549 : }
31550 :
31551 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:24492 */
31552 : rtx
31553 : gen_avx2_pblendbf (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
31554 : {
31555 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
31556 : start_sequence ();
31557 : {
31558 : #define FAIL return (end_sequence (), nullptr)
31559 : #define DONE return end_sequence ()
31560 : #line 24499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31561 : {
31562 : HOST_WIDE_INT val = INTVAL (operands[3]) & 0xff;
31563 : operands[3] = GEN_INT (val << 8 | val);
31564 : }
31565 : #undef DONE
31566 : #undef FAIL
31567 : }
31568 : static const uint8_t expand_encoding[] = {
31569 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x6d, 0x01,
31570 : 0x02, 0x01, 0x01, 0x01, 0x03
31571 : };
31572 : return complete_seq (expand_encoding, operands);
31573 : }
31574 :
31575 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:24659 */
31576 : extern rtx_insn *gen_split_3596 (rtx_insn *, rtx *);
31577 : rtx_insn *
31578 : gen_split_3596 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31579 : {
31580 : if (dump_file)
31581 : fprintf (dump_file, "Splitting with gen_split_3596 (sse.md:24659)\n");
31582 : start_sequence ();
31583 : #define FAIL return (end_sequence (), nullptr)
31584 : #define DONE return end_sequence ()
31585 : #line 24671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31586 : {
31587 : operands[0] = lowpart_subreg (V32HImode, operands[0], V64QImode);
31588 : operands[1] = lowpart_subreg (V32QImode, operands[1], V64QImode);
31589 : }
31590 : #undef DONE
31591 : #undef FAIL
31592 : static const uint8_t expand_encoding[] = {
31593 : 0x01, 0x1f, 0x01, 0x00, 0x6f, 0x5a, 0x01, 0x01
31594 : };
31595 : return complete_seq (expand_encoding, operands);
31596 : }
31597 :
31598 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:24757 */
31599 : extern rtx_insn *gen_split_3603 (rtx_insn *, rtx *);
31600 : rtx_insn *
31601 : gen_split_3603 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31602 : {
31603 : if (dump_file)
31604 : fprintf (dump_file, "Splitting with gen_split_3603 (sse.md:24757)\n");
31605 : start_sequence ();
31606 : #define FAIL return (end_sequence (), nullptr)
31607 : #define DONE return end_sequence ()
31608 : #line 24781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31609 : operands[1] = adjust_address_nv (operands[1], V8QImode, 0);
31610 : #undef DONE
31611 : #undef FAIL
31612 : static const uint8_t expand_encoding[] = {
31613 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x50, 0x6f,
31614 : 0x50, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
31615 : };
31616 : return complete_seq (expand_encoding, operands);
31617 : }
31618 :
31619 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:24918 */
31620 : extern rtx_insn *gen_split_3609 (rtx_insn *, rtx *);
31621 : rtx_insn *
31622 : gen_split_3609 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31623 : {
31624 : if (dump_file)
31625 : fprintf (dump_file, "Splitting with gen_split_3609 (sse.md:24918)\n");
31626 : start_sequence ();
31627 : #define FAIL return (end_sequence (), nullptr)
31628 : #define DONE return end_sequence ()
31629 : #line 24936 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31630 : operands[1] = adjust_address_nv (operands[1], V8QImode, 0);
31631 : #undef DONE
31632 : #undef FAIL
31633 : static const uint8_t expand_encoding[] = {
31634 : 0x01, 0x1f, 0x01, 0x00, 0x6f, 0x56, 0x01, 0x01
31635 : };
31636 : return complete_seq (expand_encoding, operands);
31637 : }
31638 :
31639 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:25032 */
31640 : extern rtx_insn *gen_split_3617 (rtx_insn *, rtx *);
31641 : rtx_insn *
31642 : gen_split_3617 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31643 : {
31644 : if (dump_file)
31645 : fprintf (dump_file, "Splitting with gen_split_3617 (sse.md:25032)\n");
31646 : start_sequence ();
31647 : #define FAIL return (end_sequence (), nullptr)
31648 : #define DONE return end_sequence ()
31649 : #line 25058 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31650 : operands[1] = adjust_address_nv (operands[1], V4QImode, 0);
31651 : #undef DONE
31652 : #undef FAIL
31653 : static const uint8_t expand_encoding[] = {
31654 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x51, 0x6f,
31655 : 0x51, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
31656 : };
31657 : return complete_seq (expand_encoding, operands);
31658 : }
31659 :
31660 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:25142 */
31661 : rtx
31662 : gen_zero_extendv8hiv8si2 (const rtx operand0, const rtx operand1)
31663 : {
31664 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
31665 : static const uint8_t expand_encoding[] = {
31666 : 0x1f, 0x01, 0x00, 0x6f, 0x56, 0x01, 0x01
31667 : };
31668 : return expand_rtx (expand_encoding, operands);
31669 : }
31670 :
31671 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:25216 */
31672 : extern rtx_insn *gen_split_3627 (rtx_insn *, rtx *);
31673 : rtx_insn *
31674 : gen_split_3627 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31675 : {
31676 : if (dump_file)
31677 : fprintf (dump_file, "Splitting with gen_split_3627 (sse.md:25216)\n");
31678 : start_sequence ();
31679 : #define FAIL return (end_sequence (), nullptr)
31680 : #define DONE return end_sequence ()
31681 : #line 25232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31682 : operands[1] = adjust_address_nv (operands[1], V4HImode, 0);
31683 : #undef DONE
31684 : #undef FAIL
31685 : static const uint8_t expand_encoding[] = {
31686 : 0x01, 0x1f, 0x01, 0x00, 0x6f, 0x51, 0x01, 0x01
31687 : };
31688 : return complete_seq (expand_encoding, operands);
31689 : }
31690 :
31691 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:25371 */
31692 : extern rtx_insn *gen_split_3634 (rtx_insn *, rtx *);
31693 : rtx_insn *
31694 : gen_split_3634 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31695 : {
31696 : if (dump_file)
31697 : fprintf (dump_file, "Splitting with gen_split_3634 (sse.md:25371)\n");
31698 : start_sequence ();
31699 : #define FAIL return (end_sequence (), nullptr)
31700 : #define DONE return end_sequence ()
31701 : #line 25388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31702 : operands[1] = adjust_address_nv (operands[1], V8QImode, 0);
31703 : #undef DONE
31704 : #undef FAIL
31705 : static const uint8_t expand_encoding[] = {
31706 : 0x01, 0x1f, 0x01, 0x00, 0x6e, 0x5c, 0x01, 0x01
31707 : };
31708 : return complete_seq (expand_encoding, operands);
31709 : }
31710 :
31711 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:25458 */
31712 : extern rtx_insn *gen_split_3638 (rtx_insn *, rtx *);
31713 : rtx_insn *
31714 : gen_split_3638 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31715 : {
31716 : if (dump_file)
31717 : fprintf (dump_file, "Splitting with gen_split_3638 (sse.md:25458)\n");
31718 : start_sequence ();
31719 : #define FAIL return (end_sequence (), nullptr)
31720 : #define DONE return end_sequence ()
31721 : #line 25478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31722 : operands[1] = adjust_address_nv (operands[1], V4QImode, 0);
31723 : #undef DONE
31724 : #undef FAIL
31725 : static const uint8_t expand_encoding[] = {
31726 : 0x01, 0x1f, 0x01, 0x00, 0x6e, 0x57, 0x01, 0x01
31727 : };
31728 : return complete_seq (expand_encoding, operands);
31729 : }
31730 :
31731 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:25568 */
31732 : extern rtx_insn *gen_split_3644 (rtx_insn *, rtx *);
31733 : rtx_insn *
31734 : gen_split_3644 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
31735 : {
31736 : if (dump_file)
31737 : fprintf (dump_file, "Splitting with gen_split_3644 (sse.md:25568)\n");
31738 : start_sequence ();
31739 : #define FAIL return (end_sequence (), nullptr)
31740 : #define DONE return end_sequence ()
31741 : #line 25583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31742 : {
31743 : if (!MEM_P (operands[1]))
31744 : operands[1] = force_reg (BFmode, operands[1]);
31745 : operands[1] = lowpart_subreg (V2QImode, operands[1], BFmode);
31746 : emit_insn (gen_zero_extendv2qiv2di2 (operands[0], operands[1]));
31747 : DONE;
31748 : }
31749 : #undef DONE
31750 : #undef FAIL
31751 : static const uint8_t expand_encoding[] = {
31752 : 0x01, 0x27, 0x00
31753 : };
31754 : return complete_seq (expand_encoding, operands);
31755 : }
31756 :
31757 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:25743 */
31758 : extern rtx_insn *gen_split_3652 (rtx_insn *, rtx *);
31759 : rtx_insn *
31760 : gen_split_3652 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31761 : {
31762 : if (dump_file)
31763 : fprintf (dump_file, "Splitting with gen_split_3652 (sse.md:25743)\n");
31764 : start_sequence ();
31765 : #define FAIL return (end_sequence (), nullptr)
31766 : #define DONE return end_sequence ()
31767 : #line 25768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31768 : operands[1] = adjust_address_nv (operands[1], V2HImode, 0);
31769 : #undef DONE
31770 : #undef FAIL
31771 : static const uint8_t expand_encoding[] = {
31772 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x52, 0x6f,
31773 : 0x52, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03
31774 : };
31775 : return complete_seq (expand_encoding, operands);
31776 : }
31777 :
31778 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:25920 */
31779 : extern rtx_insn *gen_split_3658 (rtx_insn *, rtx *);
31780 : rtx_insn *
31781 : gen_split_3658 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31782 : {
31783 : if (dump_file)
31784 : fprintf (dump_file, "Splitting with gen_split_3658 (sse.md:25920)\n");
31785 : start_sequence ();
31786 : #define FAIL return (end_sequence (), nullptr)
31787 : #define DONE return end_sequence ()
31788 : #line 25935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31789 : operands[1] = adjust_address_nv (operands[1], V2SImode, 0);
31790 : #undef DONE
31791 : #undef FAIL
31792 : static const uint8_t expand_encoding[] = {
31793 : 0x01, 0x1f, 0x01, 0x00, 0x6f, 0x52, 0x01, 0x01
31794 : };
31795 : return complete_seq (expand_encoding, operands);
31796 : }
31797 :
31798 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26076 */
31799 : rtx
31800 : gen_sse4_1_ptestzv2di (const rtx operand0, const rtx operand1)
31801 : {
31802 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
31803 : static const uint8_t expand_encoding[] = {
31804 : 0x1f, 0x30, 0x0c, 0x11, 0x1a, 0x0c, 0x02, 0x01,
31805 : 0x00, 0x01, 0x01, 0x81, 0x03
31806 : };
31807 : return expand_rtx (expand_encoding, operands);
31808 : }
31809 :
31810 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26076 */
31811 : rtx
31812 : gen_avx_ptestzv8si (const rtx operand0, const rtx operand1)
31813 : {
31814 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
31815 : static const uint8_t expand_encoding[] = {
31816 : 0x1f, 0x30, 0x0c, 0x11, 0x1a, 0x0c, 0x02, 0x01,
31817 : 0x00, 0x01, 0x01, 0x81, 0x03
31818 : };
31819 : return expand_rtx (expand_encoding, operands);
31820 : }
31821 :
31822 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26084 */
31823 : rtx
31824 : gen_sse4_1_ptestcv4sf (const rtx operand0, const rtx operand1)
31825 : {
31826 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
31827 : static const uint8_t expand_encoding[] = {
31828 : 0x1f, 0x30, 0x08, 0x11, 0x1a, 0x08, 0x02, 0x01,
31829 : 0x00, 0x01, 0x01, 0x81, 0x03
31830 : };
31831 : return expand_rtx (expand_encoding, operands);
31832 : }
31833 :
31834 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26092 */
31835 : rtx
31836 : gen_sse4_1_ptestv8hi (const rtx operand0, const rtx operand1)
31837 : {
31838 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
31839 : static const uint8_t expand_encoding[] = {
31840 : 0x1f, 0x30, 0x02, 0x11, 0x1a, 0x02, 0x02, 0x01,
31841 : 0x00, 0x01, 0x01, 0x81, 0x03
31842 : };
31843 : return expand_rtx (expand_encoding, operands);
31844 : }
31845 :
31846 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26092 */
31847 : rtx
31848 : gen_avx_ptestv2ti (const rtx operand0, const rtx operand1)
31849 : {
31850 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
31851 : static const uint8_t expand_encoding[] = {
31852 : 0x1f, 0x30, 0x02, 0x11, 0x1a, 0x02, 0x02, 0x01,
31853 : 0x00, 0x01, 0x01, 0x81, 0x03
31854 : };
31855 : return expand_rtx (expand_encoding, operands);
31856 : }
31857 :
31858 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26113 */
31859 : extern rtx_insn *gen_split_3670 (rtx_insn *, rtx *);
31860 : rtx_insn *
31861 : gen_split_3670 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31862 : {
31863 : if (dump_file)
31864 : fprintf (dump_file, "Splitting with gen_split_3670 (sse.md:26113)\n");
31865 : start_sequence ();
31866 : static const uint8_t expand_encoding[] = {
31867 : 0x01, 0x1f, 0x30, 0x0c, 0x11, 0x1a, 0x0c, 0x02,
31868 : 0x01, 0x00, 0x01, 0x01, 0x81, 0x03
31869 : };
31870 : return complete_seq (expand_encoding, operands);
31871 : }
31872 :
31873 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26127 */
31874 : extern rtx_insn *gen_split_3680 (rtx_insn *, rtx *);
31875 : rtx_insn *
31876 : gen_split_3680 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
31877 : {
31878 : if (dump_file)
31879 : fprintf (dump_file, "Splitting with gen_split_3680 (sse.md:26127)\n");
31880 : start_sequence ();
31881 : static const uint8_t expand_encoding[] = {
31882 : 0x01, 0x1f, 0x30, 0x08, 0x11, 0x1a, 0x08, 0x01,
31883 : 0x27, 0x00, 0x2a
31884 : };
31885 : return complete_seq (expand_encoding, operands);
31886 : }
31887 :
31888 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26127 */
31889 : extern rtx_insn *gen_split_3690 (rtx_insn *, rtx *);
31890 : rtx_insn *
31891 : gen_split_3690 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
31892 : {
31893 : if (dump_file)
31894 : fprintf (dump_file, "Splitting with gen_split_3690 (sse.md:26127)\n");
31895 : start_sequence ();
31896 : static const uint8_t expand_encoding[] = {
31897 : 0x01, 0x1f, 0x30, 0x08, 0x11, 0x1a, 0x08, 0x01,
31898 : 0x27, 0x00, 0x2a
31899 : };
31900 : return complete_seq (expand_encoding, operands);
31901 : }
31902 :
31903 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26139 */
31904 : extern rtx_insn *gen_split_3700 (rtx_insn *, rtx *);
31905 : rtx_insn *
31906 : gen_split_3700 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31907 : {
31908 : if (dump_file)
31909 : fprintf (dump_file, "Splitting with gen_split_3700 (sse.md:26139)\n");
31910 : start_sequence ();
31911 : static const uint8_t expand_encoding[] = {
31912 : 0x02, 0x1f, 0x30, 0x08, 0x11, 0x1a, 0x08, 0x02,
31913 : 0x01, 0x01, 0x01, 0x02, 0x81, 0x03, 0x1f, 0x01,
31914 : 0x00, 0x02, 0x03, 0x30, 0x08, 0x11, 0x27, 0x00
31915 : };
31916 : return complete_seq (expand_encoding, operands);
31917 : }
31918 :
31919 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26139 */
31920 : extern rtx_insn *gen_split_3710 (rtx_insn *, rtx *);
31921 : rtx_insn *
31922 : gen_split_3710 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31923 : {
31924 : if (dump_file)
31925 : fprintf (dump_file, "Splitting with gen_split_3710 (sse.md:26139)\n");
31926 : start_sequence ();
31927 : static const uint8_t expand_encoding[] = {
31928 : 0x02, 0x1f, 0x30, 0x08, 0x11, 0x1a, 0x08, 0x02,
31929 : 0x01, 0x01, 0x01, 0x02, 0x81, 0x03, 0x1f, 0x01,
31930 : 0x00, 0x02, 0x03, 0x30, 0x08, 0x11, 0x27, 0x00
31931 : };
31932 : return complete_seq (expand_encoding, operands);
31933 : }
31934 :
31935 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26139 */
31936 : extern rtx_insn *gen_split_3720 (rtx_insn *, rtx *);
31937 : rtx_insn *
31938 : gen_split_3720 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31939 : {
31940 : if (dump_file)
31941 : fprintf (dump_file, "Splitting with gen_split_3720 (sse.md:26139)\n");
31942 : start_sequence ();
31943 : static const uint8_t expand_encoding[] = {
31944 : 0x02, 0x1f, 0x30, 0x08, 0x11, 0x1a, 0x08, 0x02,
31945 : 0x01, 0x01, 0x01, 0x02, 0x81, 0x03, 0x1f, 0x01,
31946 : 0x00, 0x02, 0x03, 0x30, 0x08, 0x11, 0x27, 0x00
31947 : };
31948 : return complete_seq (expand_encoding, operands);
31949 : }
31950 :
31951 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26139 */
31952 : extern rtx_insn *gen_split_3730 (rtx_insn *, rtx *);
31953 : rtx_insn *
31954 : gen_split_3730 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31955 : {
31956 : if (dump_file)
31957 : fprintf (dump_file, "Splitting with gen_split_3730 (sse.md:26139)\n");
31958 : start_sequence ();
31959 : static const uint8_t expand_encoding[] = {
31960 : 0x02, 0x1f, 0x30, 0x08, 0x11, 0x1a, 0x08, 0x02,
31961 : 0x01, 0x01, 0x01, 0x02, 0x81, 0x03, 0x1f, 0x01,
31962 : 0x00, 0x02, 0x03, 0x30, 0x08, 0x11, 0x27, 0x00
31963 : };
31964 : return complete_seq (expand_encoding, operands);
31965 : }
31966 :
31967 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26139 */
31968 : extern rtx_insn *gen_split_3740 (rtx_insn *, rtx *);
31969 : rtx_insn *
31970 : gen_split_3740 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31971 : {
31972 : if (dump_file)
31973 : fprintf (dump_file, "Splitting with gen_split_3740 (sse.md:26139)\n");
31974 : start_sequence ();
31975 : static const uint8_t expand_encoding[] = {
31976 : 0x02, 0x1f, 0x30, 0x08, 0x11, 0x1a, 0x08, 0x02,
31977 : 0x01, 0x01, 0x01, 0x02, 0x81, 0x03, 0x1f, 0x01,
31978 : 0x00, 0x02, 0x03, 0x30, 0x08, 0x11, 0x27, 0x00
31979 : };
31980 : return complete_seq (expand_encoding, operands);
31981 : }
31982 :
31983 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26154 */
31984 : extern rtx_insn *gen_split_3750 (rtx_insn *, rtx *);
31985 : rtx_insn *
31986 : gen_split_3750 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
31987 : {
31988 : if (dump_file)
31989 : fprintf (dump_file, "Splitting with gen_split_3750 (sse.md:26154)\n");
31990 : start_sequence ();
31991 : static const uint8_t expand_encoding[] = {
31992 : 0x02, 0x1f, 0x30, 0x08, 0x11, 0x1a, 0x08, 0x02,
31993 : 0x01, 0x01, 0x01, 0x02, 0x81, 0x03, 0x1f, 0x33,
31994 : 0x00, 0x01, 0x00, 0x02, 0x03, 0x30, 0x08, 0x11,
31995 : 0x27, 0x00
31996 : };
31997 : return complete_seq (expand_encoding, operands);
31998 : }
31999 :
32000 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26154 */
32001 : extern rtx_insn *gen_split_3760 (rtx_insn *, rtx *);
32002 : rtx_insn *
32003 : gen_split_3760 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
32004 : {
32005 : if (dump_file)
32006 : fprintf (dump_file, "Splitting with gen_split_3760 (sse.md:26154)\n");
32007 : start_sequence ();
32008 : static const uint8_t expand_encoding[] = {
32009 : 0x02, 0x1f, 0x30, 0x08, 0x11, 0x1a, 0x08, 0x02,
32010 : 0x01, 0x01, 0x01, 0x02, 0x81, 0x03, 0x1f, 0x33,
32011 : 0x00, 0x01, 0x00, 0x02, 0x03, 0x30, 0x08, 0x11,
32012 : 0x27, 0x00
32013 : };
32014 : return complete_seq (expand_encoding, operands);
32015 : }
32016 :
32017 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26170 */
32018 : extern rtx_insn *gen_split_3770 (rtx_insn *, rtx *);
32019 : rtx_insn *
32020 : gen_split_3770 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
32021 : {
32022 : if (dump_file)
32023 : fprintf (dump_file, "Splitting with gen_split_3770 (sse.md:26170)\n");
32024 : start_sequence ();
32025 : static const uint8_t expand_encoding[] = {
32026 : 0x02, 0x1f, 0x30, 0x08, 0x11, 0x1a, 0x08, 0x02,
32027 : 0x01, 0x01, 0x01, 0x02, 0x81, 0x03, 0x1f, 0x2f,
32028 : 0x39, 0x00, 0x02, 0x03, 0x30, 0x08, 0x11, 0x27,
32029 : 0x00, 0x01, 0x00, 0x2f
32030 : };
32031 : return complete_seq (expand_encoding, operands);
32032 : }
32033 :
32034 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26193 */
32035 : extern rtx_insn *gen_split_3780 (rtx_insn *, rtx *);
32036 : rtx_insn *
32037 : gen_split_3780 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
32038 : {
32039 : if (dump_file)
32040 : fprintf (dump_file, "Splitting with gen_split_3780 (sse.md:26193)\n");
32041 : start_sequence ();
32042 : #define FAIL return (end_sequence (), nullptr)
32043 : #define DONE return end_sequence ()
32044 : #line 26213 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32045 : {
32046 : if (MEM_P (operands[0]))
32047 : operands[3] = force_reg (V4SImode, operands[0]);
32048 : else
32049 : operands[3] = operands[0];
32050 : }
32051 : #undef DONE
32052 : #undef FAIL
32053 : static const uint8_t expand_encoding[] = {
32054 : 0x01, 0x1f, 0x30, 0x0c, 0x11, 0x1a, 0x0c, 0x02,
32055 : 0x01, 0x03, 0x01, 0x03, 0x81, 0x03
32056 : };
32057 : return complete_seq (expand_encoding, operands);
32058 : }
32059 :
32060 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26220 */
32061 : rtx
32062 : gen_nearbyintv4df2 (const rtx operand0, const rtx operand1)
32063 : {
32064 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1 };
32065 : start_sequence ();
32066 : {
32067 : #define FAIL _Pragma ("GCC error \"nearbyintv4df2 cannot FAIL\"") (void)0
32068 : #define DONE return end_sequence ()
32069 : #line 26227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32070 : operands[2] = GEN_INT (ROUND_MXCSR | ROUND_NO_EXC);
32071 : #undef DONE
32072 : #undef FAIL
32073 : }
32074 : static const uint8_t expand_encoding[] = {
32075 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x70, 0x02, 0x01,
32076 : 0x01, 0x01, 0x02, 0x5f
32077 : };
32078 : return complete_seq (expand_encoding, operands);
32079 : }
32080 :
32081 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26229 */
32082 : rtx
32083 : gen_rintv2df2 (const rtx operand0, const rtx operand1)
32084 : {
32085 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1 };
32086 : start_sequence ();
32087 : {
32088 : #define FAIL _Pragma ("GCC error \"rintv2df2 cannot FAIL\"") (void)0
32089 : #define DONE return end_sequence ()
32090 : #line 26236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32091 : operands[2] = GEN_INT (ROUND_MXCSR);
32092 : #undef DONE
32093 : #undef FAIL
32094 : }
32095 : static const uint8_t expand_encoding[] = {
32096 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6c, 0x02, 0x01,
32097 : 0x01, 0x01, 0x02, 0x5f
32098 : };
32099 : return complete_seq (expand_encoding, operands);
32100 : }
32101 :
32102 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26301 */
32103 : rtx
32104 : gen_sse4_1_roundpd_vec_pack_sfix (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
32105 : {
32106 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
32107 : start_sequence ();
32108 : {
32109 : #define FAIL return (end_sequence (), nullptr)
32110 : #define DONE return end_sequence ()
32111 : #line 26307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32112 : {
32113 : rtx tmp0, tmp1;
32114 :
32115 : if (V2DFmode == V2DFmode
32116 : && TARGET_AVX && !TARGET_PREFER_AVX128 && optimize_insn_for_speed_p ())
32117 : {
32118 : rtx tmp2 = gen_reg_rtx (V4DFmode);
32119 :
32120 : tmp0 = gen_reg_rtx (V4DFmode);
32121 : tmp1 = force_reg (V2DFmode, operands[1]);
32122 :
32123 : emit_insn (gen_avx_vec_concatv4df (tmp0, tmp1, operands[2]));
32124 : emit_insn (gen_avx_roundpd256 (tmp2, tmp0, operands[3]));
32125 : emit_insn (gen_fix_truncv4dfv4si2 (operands[0], tmp2));
32126 : }
32127 : else
32128 : {
32129 : tmp0 = gen_reg_rtx (V2DFmode);
32130 : tmp1 = gen_reg_rtx (V2DFmode);
32131 :
32132 : emit_insn
32133 : (gen_sse4_1_roundpd (tmp0, operands[1],
32134 : operands[3]));
32135 : emit_insn
32136 : (gen_sse4_1_roundpd (tmp1, operands[2],
32137 : operands[3]));
32138 : emit_insn
32139 : (gen_vec_pack_sfix_trunc_v2df (operands[0], tmp0, tmp1));
32140 : }
32141 : DONE;
32142 : }
32143 : #undef DONE
32144 : #undef FAIL
32145 : }
32146 : static const uint8_t expand_encoding[] = {
32147 : 0x04, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
32148 : 0x03
32149 : };
32150 : return complete_seq (expand_encoding, operands);
32151 : }
32152 :
32153 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26434 */
32154 : rtx
32155 : gen_lfloorv2dfv2di2 (const rtx operand0, const rtx operand1)
32156 : {
32157 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
32158 : start_sequence ();
32159 : {
32160 : #define FAIL _Pragma ("GCC error \"lfloorv2dfv2di2 cannot FAIL\"") (void)0
32161 : #define DONE return end_sequence ()
32162 : #line 26438 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32163 : {
32164 : rtx tmp = gen_reg_rtx (V2DFmode);
32165 : emit_insn (gen_floorv2df2 (tmp, operands[1]));
32166 : emit_insn (gen_fix_truncv2dfv2di2 (operands[0], tmp));
32167 : DONE;
32168 : }
32169 : #undef DONE
32170 : #undef FAIL
32171 : }
32172 : static const uint8_t expand_encoding[] = {
32173 : 0x02, 0x01, 0x00, 0x01, 0x01
32174 : };
32175 : return complete_seq (expand_encoding, operands);
32176 : }
32177 :
32178 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26454 */
32179 : rtx
32180 : gen_lceilv16hfv16hi2 (const rtx operand0, const rtx operand1)
32181 : {
32182 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
32183 : start_sequence ();
32184 : {
32185 : #define FAIL _Pragma ("GCC error \"lceilv16hfv16hi2 cannot FAIL\"") (void)0
32186 : #define DONE return end_sequence ()
32187 : #line 26458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32188 : {
32189 : rtx tmp = gen_reg_rtx (V16HFmode);
32190 : emit_insn (gen_ceilv16hf2 (tmp, operands[1]));
32191 : emit_insn (gen_fix_truncv16hfv16hi2 (operands[0], tmp));
32192 : DONE;
32193 : }
32194 : #undef DONE
32195 : #undef FAIL
32196 : }
32197 : static const uint8_t expand_encoding[] = {
32198 : 0x02, 0x01, 0x00, 0x01, 0x01
32199 : };
32200 : return complete_seq (expand_encoding, operands);
32201 : }
32202 :
32203 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26476 */
32204 : rtx
32205 : gen_btruncv8hf2 (const rtx operand0, const rtx operand1)
32206 : {
32207 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1 };
32208 : start_sequence ();
32209 : {
32210 : #define FAIL _Pragma ("GCC error \"btruncv8hf2 cannot FAIL\"") (void)0
32211 : #define DONE return end_sequence ()
32212 : #line 26483 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32213 : operands[2] = GEN_INT (ROUND_TRUNC | ROUND_NO_EXC);
32214 : #undef DONE
32215 : #undef FAIL
32216 : }
32217 : static const uint8_t expand_encoding[] = {
32218 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x6a, 0x02, 0x01,
32219 : 0x01, 0x01, 0x02, 0x5f
32220 : };
32221 : return complete_seq (expand_encoding, operands);
32222 : }
32223 :
32224 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26485 */
32225 : rtx
32226 : gen_roundv16sf2 (const rtx operand0, const rtx operand1)
32227 : {
32228 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1 };
32229 : start_sequence ();
32230 : {
32231 : #define FAIL _Pragma ("GCC error \"roundv16sf2 cannot FAIL\"") (void)0
32232 : #define DONE return end_sequence ()
32233 : #line 26495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32234 : {
32235 : machine_mode scalar_mode;
32236 : const struct real_format *fmt;
32237 : REAL_VALUE_TYPE pred_half, half_minus_pred_half;
32238 : rtx half, vec_half;
32239 :
32240 : scalar_mode = GET_MODE_INNER (V16SFmode);
32241 :
32242 : /* load nextafter (0.5, 0.0) */
32243 : fmt = REAL_MODE_FORMAT (scalar_mode);
32244 : real_2expN (&half_minus_pred_half, -(fmt->p) - 1, scalar_mode);
32245 : real_arithmetic (&pred_half, MINUS_EXPR, &dconsthalf, &half_minus_pred_half);
32246 : half = const_double_from_real_value (pred_half, scalar_mode);
32247 :
32248 : vec_half = ix86_build_const_vector (V16SFmode, true, half);
32249 : vec_half = force_reg (V16SFmode, vec_half);
32250 :
32251 : operands[2] = gen_reg_rtx (V16SFmode);
32252 : emit_insn (gen_copysignv16sf3 (operands[2], vec_half, operands[1]));
32253 :
32254 : operands[3] = gen_reg_rtx (V16SFmode);
32255 : operands[4] = GEN_INT (ROUND_TRUNC);
32256 : }
32257 : #undef DONE
32258 : #undef FAIL
32259 : }
32260 : static const uint8_t expand_encoding[] = {
32261 : 0x02, 0x1f, 0x01, 0x03, 0x3b, 0x74, 0x01, 0x01,
32262 : 0x01, 0x02, 0x1f, 0x01, 0x00, 0x1a, 0x74, 0x02,
32263 : 0x01, 0x03, 0x01, 0x04, 0x5f
32264 : };
32265 : return complete_seq (expand_encoding, operands);
32266 : }
32267 :
32268 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26530 */
32269 : rtx
32270 : gen_lroundv4sfv4si2 (const rtx operand0, const rtx operand1)
32271 : {
32272 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
32273 : start_sequence ();
32274 : {
32275 : #define FAIL _Pragma ("GCC error \"lroundv4sfv4si2 cannot FAIL\"") (void)0
32276 : #define DONE return end_sequence ()
32277 : #line 26534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32278 : {
32279 : rtx tmp = gen_reg_rtx (V4SFmode);
32280 : emit_insn (gen_roundv4sf2 (tmp, operands[1]));
32281 : emit_insn (gen_fix_truncv4sfv4si2 (operands[0], tmp));
32282 : DONE;
32283 : }
32284 : #undef DONE
32285 : #undef FAIL
32286 : }
32287 : static const uint8_t expand_encoding[] = {
32288 : 0x02, 0x01, 0x00, 0x01, 0x01
32289 : };
32290 : return complete_seq (expand_encoding, operands);
32291 : }
32292 :
32293 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:26595 */
32294 : extern rtx_insn *gen_split_3783 (rtx_insn *, rtx *);
32295 : rtx_insn *
32296 : gen_split_3783 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
32297 : {
32298 : if (dump_file)
32299 : fprintf (dump_file, "Splitting with gen_split_3783 (sse.md:26595)\n");
32300 : start_sequence ();
32301 : #define FAIL return (end_sequence (), nullptr)
32302 : #define DONE return end_sequence ()
32303 : #line 26625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32304 : {
32305 : int ecx = !find_regno_note (curr_insn, REG_UNUSED,
32306 : reg_or_subregno (operands[0]));
32307 : int xmm0 = !find_regno_note (curr_insn, REG_UNUSED,
32308 : reg_or_subregno (operands[1]));
32309 : int flags = !find_regno_note (curr_insn, REG_UNUSED, FLAGS_REG);
32310 :
32311 : if (ecx)
32312 : emit_insn (gen_sse4_2_pcmpestri (operands[0], operands[2],
32313 : operands[3], operands[4],
32314 : operands[5], operands[6]));
32315 : if (xmm0)
32316 : emit_insn (gen_sse4_2_pcmpestrm (operands[1], operands[2],
32317 : operands[3], operands[4],
32318 : operands[5], operands[6]));
32319 : if (flags && !(ecx || xmm0))
32320 : emit_insn (gen_sse4_2_pcmpestr_cconly (NULL, NULL,
32321 : operands[2], operands[3],
32322 : operands[4], operands[5],
32323 : operands[6]));
32324 : if (!(flags || ecx || xmm0))
32325 : emit_note (NOTE_INSN_DELETED);
32326 :
32327 : DONE;
32328 : }
32329 : #undef DONE
32330 : #undef FAIL
32331 : static const uint8_t expand_encoding[] = {
32332 : 0x01, 0x27, 0x00
32333 : };
32334 : return complete_seq (expand_encoding, operands);
32335 : }
32336 :
32337 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:27001 */
32338 : extern rtx_insn *gen_split_3799 (rtx_insn *, rtx *);
32339 : rtx_insn *
32340 : gen_split_3799 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
32341 : {
32342 : if (dump_file)
32343 : fprintf (dump_file, "Splitting with gen_split_3799 (sse.md:27001)\n");
32344 : start_sequence ();
32345 : static const uint8_t expand_encoding[] = {
32346 : 0x01, 0x1f, 0x01, 0x00, 0x39, 0x70, 0x01, 0x03,
32347 : 0x01, 0x02, 0x01, 0x01
32348 : };
32349 : return complete_seq (expand_encoding, operands);
32350 : }
32351 :
32352 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:27013 */
32353 : extern rtx_insn *gen_split_3809 (rtx_insn *, rtx *);
32354 : rtx_insn *
32355 : gen_split_3809 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
32356 : {
32357 : if (dump_file)
32358 : fprintf (dump_file, "Splitting with gen_split_3809 (sse.md:27013)\n");
32359 : start_sequence ();
32360 : static const uint8_t expand_encoding[] = {
32361 : 0x01, 0x1f, 0x01, 0x00, 0x39, 0x58, 0x01, 0x03,
32362 : 0x01, 0x01, 0x01, 0x02
32363 : };
32364 : return complete_seq (expand_encoding, operands);
32365 : }
32366 :
32367 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:27322 */
32368 : rtx
32369 : gen_rotlv2di3 (const rtx operand0, const rtx operand1, const rtx operand2)
32370 : {
32371 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
32372 : start_sequence ();
32373 : {
32374 : #define FAIL return (end_sequence (), nullptr)
32375 : #define DONE return end_sequence ()
32376 : #line 27328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32377 : {
32378 : /* If we were given a scalar, convert it to parallel */
32379 : if (! const_0_to_63_operand (operands[2], SImode))
32380 : {
32381 : rtvec vs = rtvec_alloc (2);
32382 : rtx par = gen_rtx_PARALLEL (V2DImode, vs);
32383 : rtx reg = gen_reg_rtx (V2DImode);
32384 : rtx op2 = operands[2];
32385 : int i;
32386 :
32387 : if (GET_MODE (op2) != DImode)
32388 : {
32389 : op2 = gen_reg_rtx (DImode);
32390 : convert_move (op2, operands[2], false);
32391 : }
32392 :
32393 : for (i = 0; i < 2; i++)
32394 : RTVEC_ELT (vs, i) = op2;
32395 :
32396 : emit_insn (gen_vec_initv2didi (reg, par));
32397 : emit_insn (gen_xop_vrotlv2di3 (operands[0], operands[1], reg));
32398 : DONE;
32399 : }
32400 : }
32401 : #undef DONE
32402 : #undef FAIL
32403 : }
32404 : static const uint8_t expand_encoding[] = {
32405 : 0x01, 0x1f, 0x01, 0x00, 0x4e, 0x52, 0x01, 0x01,
32406 : 0x01, 0x02
32407 : };
32408 : return complete_seq (expand_encoding, operands);
32409 : }
32410 :
32411 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:27479 */
32412 : rtx
32413 : gen_vlshrv4si3 (const rtx operand0, const rtx operand1, const rtx operand2)
32414 : {
32415 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
32416 : start_sequence ();
32417 : {
32418 : #define FAIL return (end_sequence (), nullptr)
32419 : #define DONE return end_sequence ()
32420 : #line 27485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32421 : {
32422 : if (!TARGET_AVX2)
32423 : {
32424 : rtx neg = gen_reg_rtx (V4SImode);
32425 : emit_insn (gen_negv4si2 (neg, operands[2]));
32426 : emit_insn (gen_xop_shlv4si3 (operands[0], operands[1], neg));
32427 : DONE;
32428 : }
32429 : }
32430 : #undef DONE
32431 : #undef FAIL
32432 : }
32433 : static const uint8_t expand_encoding[] = {
32434 : 0x01, 0x1f, 0x01, 0x00, 0x50, 0x51, 0x01, 0x01,
32435 : 0x01, 0x02
32436 : };
32437 : return complete_seq (expand_encoding, operands);
32438 : }
32439 :
32440 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:27495 */
32441 : rtx
32442 : gen_vashlv32hi3 (const rtx operand0, const rtx operand1, const rtx operand2)
32443 : {
32444 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
32445 : start_sequence ();
32446 : {
32447 : #define FAIL return (end_sequence (), nullptr)
32448 : #define DONE return end_sequence ()
32449 : #line 27501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32450 : {
32451 : if (V32HImode == V32QImode || V32HImode == V64QImode)
32452 : {
32453 : ix86_expand_vecop_qihi (ASHIFT, operands[0], operands[1], operands[2]);
32454 : DONE;
32455 : }
32456 : }
32457 : #undef DONE
32458 : #undef FAIL
32459 : }
32460 : static const uint8_t expand_encoding[] = {
32461 : 0x01, 0x1f, 0x01, 0x00, 0x4d, 0x5a, 0x01, 0x01,
32462 : 0x01, 0x02
32463 : };
32464 : return complete_seq (expand_encoding, operands);
32465 : }
32466 :
32467 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:27530 */
32468 : rtx
32469 : gen_vashrv4di3 (const rtx operand0, const rtx operand1, const rtx operand2)
32470 : {
32471 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
32472 : start_sequence ();
32473 : {
32474 : #define FAIL return (end_sequence (), nullptr)
32475 : #define DONE return end_sequence ()
32476 : #line 27536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32477 : {
32478 : if (!TARGET_AVX512VL)
32479 : {
32480 : rtx mask = ix86_build_signbit_mask (V4DImode, 1, 0);
32481 : rtx t1 = gen_reg_rtx (V4DImode);
32482 : rtx t2 = gen_reg_rtx (V4DImode);
32483 : rtx t3 = gen_reg_rtx (V4DImode);
32484 : emit_insn (gen_vlshrv4di3 (t1, operands[1], operands[2]));
32485 : emit_insn (gen_vlshrv4di3 (t2, mask, operands[2]));
32486 : emit_insn (gen_xorv4di3 (t3, t1, t2));
32487 : emit_insn (gen_subv4di3 (operands[0], t3, t2));
32488 : DONE;
32489 : }
32490 : }
32491 : #undef DONE
32492 : #undef FAIL
32493 : }
32494 : static const uint8_t expand_encoding[] = {
32495 : 0x01, 0x1f, 0x01, 0x00, 0x4f, 0x57, 0x01, 0x01,
32496 : 0x01, 0x02
32497 : };
32498 : return complete_seq (expand_encoding, operands);
32499 : }
32500 :
32501 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:27713 */
32502 : rtx
32503 : gen_ashlv32qi3 (const rtx operand0, const rtx operand1, const rtx operand2)
32504 : {
32505 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
32506 : start_sequence ();
32507 : {
32508 : #define FAIL return (end_sequence (), nullptr)
32509 : #define DONE return end_sequence ()
32510 : #line 27719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32511 : {
32512 : if (TARGET_XOP && V32QImode == V16QImode)
32513 : {
32514 : bool negate = false;
32515 : rtx (*gen) (rtx, rtx, rtx);
32516 : rtx tmp, par;
32517 : int i;
32518 :
32519 : if (ASHIFT != ASHIFT)
32520 : {
32521 : if (CONST_INT_P (operands[2]))
32522 : operands[2] = GEN_INT (-INTVAL (operands[2]));
32523 : else
32524 : negate = true;
32525 : }
32526 : par = gen_rtx_PARALLEL (V16QImode, rtvec_alloc (16));
32527 : tmp = lowpart_subreg (QImode, operands[2], SImode);
32528 : for (i = 0; i < 16; i++)
32529 : XVECEXP (par, 0, i) = tmp;
32530 :
32531 : tmp = gen_reg_rtx (V16QImode);
32532 : emit_insn (gen_vec_initv16qiqi (tmp, par));
32533 :
32534 : if (negate)
32535 : emit_insn (gen_negv16qi2 (tmp, tmp));
32536 :
32537 : gen = (ASHIFT == LSHIFTRT ? gen_xop_shlv16qi3 : gen_xop_shav16qi3);
32538 : emit_insn (gen (operands[0], operands[1], tmp));
32539 : }
32540 : else if (TARGET_GFNI && CONST_INT_P (operands[2])
32541 : && (32 == 64
32542 : || !(INTVAL (operands[2]) == 7 && ASHIFT == ASHIFTRT)))
32543 : {
32544 : rtx matrix = ix86_vgf2p8affine_shift_matrix (operands[0], operands[2],
32545 : ASHIFT);
32546 : emit_insn (gen_vgf2p8affineqb_v32qi (operands[0], operands[1], matrix,
32547 : const0_rtx));
32548 : }
32549 : else
32550 : ix86_expand_vecop_qihi (ASHIFT, operands[0], operands[1], operands[2]);
32551 : DONE;
32552 : }
32553 : #undef DONE
32554 : #undef FAIL
32555 : }
32556 : static const uint8_t expand_encoding[] = {
32557 : 0x01, 0x1f, 0x01, 0x00, 0x4d, 0x54, 0x01, 0x01,
32558 : 0x01, 0x02
32559 : };
32560 : return complete_seq (expand_encoding, operands);
32561 : }
32562 :
32563 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:27775 */
32564 : rtx
32565 : gen_rotrv16qi3 (const rtx operand0, const rtx operand1, const rtx operand2)
32566 : {
32567 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
32568 : start_sequence ();
32569 : {
32570 : #define FAIL return (end_sequence (), nullptr)
32571 : #define DONE return end_sequence ()
32572 : #line 27781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32573 : {
32574 : /* Handle the V16QI XOP case to avoid a conflict with the other expand. */
32575 : if (TARGET_XOP)
32576 : {
32577 : if (! const_0_to_7_operand (operands[2], SImode))
32578 : {
32579 : rtvec vs = rtvec_alloc (16);
32580 : rtx par = gen_rtx_PARALLEL (V16QImode, vs);
32581 : rtx reg = gen_reg_rtx (V16QImode);
32582 : rtx op2 = operands[2];
32583 : int i;
32584 :
32585 : if (GET_MODE (op2) != QImode)
32586 : {
32587 : op2 = gen_reg_rtx (QImode);
32588 : convert_move (op2, operands[2], false);
32589 : }
32590 :
32591 : for (i = 0; i < 16; i++)
32592 : RTVEC_ELT (vs, i) = op2;
32593 :
32594 : emit_insn (gen_vec_initv16qiqi (reg, par));
32595 : if (ROTATERT == ROTATERT)
32596 : {
32597 : rtx neg = gen_reg_rtx (V16QImode);
32598 : emit_insn (gen_negv16qi2 (neg, reg));
32599 : emit_insn (gen_xop_vrotlv16qi3 (operands[0], operands[1], neg));
32600 : reg = neg;
32601 : }
32602 : emit_insn (gen_xop_vrotlv16qi3 (operands[0], operands[1], reg));
32603 : DONE;
32604 : }
32605 : }
32606 : else if (TARGET_GFNI && CONST_INT_P (operands[2]))
32607 : {
32608 : rtx matrix = ix86_vgf2p8affine_shift_matrix (operands[0], operands[2], ROTATERT);
32609 : emit_insn (gen_vgf2p8affineqb_v16qi (operands[0],
32610 : force_reg (V16QImode, operands[1]),
32611 : matrix, const0_rtx));
32612 : DONE;
32613 : }
32614 : else
32615 : FAIL;
32616 : }
32617 : #undef DONE
32618 : #undef FAIL
32619 : }
32620 : static const uint8_t expand_encoding[] = {
32621 : 0x01, 0x1f, 0x01, 0x00, 0x51, 0x4f, 0x01, 0x01,
32622 : 0x01, 0x02
32623 : };
32624 : return complete_seq (expand_encoding, operands);
32625 : }
32626 :
32627 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:28386 */
32628 : rtx
32629 : gen_avx2_permv4di (const rtx operand0, const rtx operand1, const rtx operand2)
32630 : {
32631 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
32632 : start_sequence ();
32633 : {
32634 : #define FAIL return (end_sequence (), nullptr)
32635 : #define DONE return end_sequence ()
32636 : #line 28391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32637 : {
32638 : int mask = INTVAL (operands[2]);
32639 : emit_insn (gen_avx2_permv4di_1 (operands[0], operands[1],
32640 : GEN_INT ((mask >> 0) & 3),
32641 : GEN_INT ((mask >> 2) & 3),
32642 : GEN_INT ((mask >> 4) & 3),
32643 : GEN_INT ((mask >> 6) & 3)));
32644 : DONE;
32645 : }
32646 : #undef DONE
32647 : #undef FAIL
32648 : }
32649 : static const uint8_t expand_encoding[] = {
32650 : 0x03, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02
32651 : };
32652 : return complete_seq (expand_encoding, operands);
32653 : }
32654 :
32655 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:28446 */
32656 : rtx
32657 : gen_avx512f_permv8di (const rtx operand0, const rtx operand1, const rtx operand2)
32658 : {
32659 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
32660 : start_sequence ();
32661 : {
32662 : #define FAIL return (end_sequence (), nullptr)
32663 : #define DONE return end_sequence ()
32664 : #line 28451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32665 : {
32666 : int mask = INTVAL (operands[2]);
32667 : emit_insn (gen_avx512f_permv8di_1 (operands[0], operands[1],
32668 : GEN_INT ((mask >> 0) & 3),
32669 : GEN_INT ((mask >> 2) & 3),
32670 : GEN_INT ((mask >> 4) & 3),
32671 : GEN_INT ((mask >> 6) & 3),
32672 : GEN_INT (((mask >> 0) & 3) + 4),
32673 : GEN_INT (((mask >> 2) & 3) + 4),
32674 : GEN_INT (((mask >> 4) & 3) + 4),
32675 : GEN_INT (((mask >> 6) & 3) + 4)));
32676 : DONE;
32677 : }
32678 : #undef DONE
32679 : #undef FAIL
32680 : }
32681 : static const uint8_t expand_encoding[] = {
32682 : 0x03, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02
32683 : };
32684 : return complete_seq (expand_encoding, operands);
32685 : }
32686 :
32687 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:28841 */
32688 : extern rtx_insn *gen_split_3828 (rtx_insn *, rtx *);
32689 : rtx_insn *
32690 : gen_split_3828 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
32691 : {
32692 : if (dump_file)
32693 : fprintf (dump_file, "Splitting with gen_split_3828 (sse.md:28841)\n");
32694 : start_sequence ();
32695 : #define FAIL return (end_sequence (), nullptr)
32696 : #define DONE return end_sequence ()
32697 : #line 28854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32698 : {
32699 : emit_insn (gen_vec_setv4si_0 (gen_lowpart (V4SImode, operands[0]),
32700 : CONST0_RTX (V4SImode),
32701 : gen_lowpart (SImode, operands[1])));
32702 : emit_insn (gen_avx2_pbroadcastv8hf (operands[0],
32703 : gen_lowpart (V8HFmode,
32704 : operands[0])));
32705 : DONE;
32706 : }
32707 : #undef DONE
32708 : #undef FAIL
32709 : static const uint8_t expand_encoding[] = {
32710 : 0x01, 0x27, 0x00
32711 : };
32712 : return complete_seq (expand_encoding, operands);
32713 : }
32714 :
32715 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:28902 */
32716 : extern rtx_insn *gen_split_3838 (rtx_insn *, rtx *);
32717 : rtx_insn *
32718 : gen_split_3838 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
32719 : {
32720 : if (dump_file)
32721 : fprintf (dump_file, "Splitting with gen_split_3838 (sse.md:28902)\n");
32722 : start_sequence ();
32723 : static const uint8_t expand_encoding[] = {
32724 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x57, 0x01,
32725 : 0x01, 0x01, 0x01
32726 : };
32727 : return complete_seq (expand_encoding, operands);
32728 : }
32729 :
32730 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29051 */
32731 : rtx
32732 : gen_avx512vl_vpermi2varv8si3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
32733 : {
32734 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
32735 : start_sequence ();
32736 : {
32737 : #define FAIL return (end_sequence (), nullptr)
32738 : #define DONE return end_sequence ()
32739 : #line 29062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32740 : {
32741 : operands[2] = force_reg (V8SImode, operands[2]);
32742 : operands[5] = gen_lowpart (V8SImode, operands[2]);
32743 : }
32744 : #undef DONE
32745 : #undef FAIL
32746 : }
32747 : static const uint8_t expand_encoding[] = {
32748 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x56, 0x1a,
32749 : 0x56, 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x03,
32750 : 0x81, 0x1c, 0x01, 0x05, 0x01, 0x04
32751 : };
32752 : return complete_seq (expand_encoding, operands);
32753 : }
32754 :
32755 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29051 */
32756 : rtx
32757 : gen_avx512vl_vpermi2varv8hi3_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
32758 : {
32759 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
32760 : start_sequence ();
32761 : {
32762 : #define FAIL return (end_sequence (), nullptr)
32763 : #define DONE return end_sequence ()
32764 : #line 29062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32765 : {
32766 : operands[2] = force_reg (V8HImode, operands[2]);
32767 : operands[5] = gen_lowpart (V8HImode, operands[2]);
32768 : }
32769 : #undef DONE
32770 : #undef FAIL
32771 : }
32772 : static const uint8_t expand_encoding[] = {
32773 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x50, 0x1a,
32774 : 0x50, 0x03, 0x01, 0x02, 0x01, 0x01, 0x01, 0x03,
32775 : 0x81, 0x1c, 0x01, 0x05, 0x01, 0x04
32776 : };
32777 : return complete_seq (expand_encoding, operands);
32778 : }
32779 :
32780 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29101 */
32781 : rtx
32782 : gen_avx512vl_vpermt2varv4di3_maskz (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
32783 : {
32784 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
32785 : start_sequence ();
32786 : {
32787 : #define FAIL return (end_sequence (), nullptr)
32788 : #define DONE return end_sequence ()
32789 : #line 29108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32790 : {
32791 : emit_insn (gen_avx512vl_vpermt2varv4di3_maskz_1 (
32792 : operands[0], operands[1], operands[2], operands[3],
32793 : CONST0_RTX (V4DImode), operands[4]));
32794 : DONE;
32795 : }
32796 : #undef DONE
32797 : #undef FAIL
32798 : }
32799 : static const uint8_t expand_encoding[] = {
32800 : 0x05, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
32801 : 0x03, 0x01, 0x04
32802 : };
32803 : return complete_seq (expand_encoding, operands);
32804 : }
32805 :
32806 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29101 */
32807 : rtx
32808 : gen_avx512vl_vpermt2varv32qi3_maskz (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
32809 : {
32810 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
32811 : start_sequence ();
32812 : {
32813 : #define FAIL return (end_sequence (), nullptr)
32814 : #define DONE return end_sequence ()
32815 : #line 29108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32816 : {
32817 : emit_insn (gen_avx512vl_vpermt2varv32qi3_maskz_1 (
32818 : operands[0], operands[1], operands[2], operands[3],
32819 : CONST0_RTX (V32QImode), operands[4]));
32820 : DONE;
32821 : }
32822 : #undef DONE
32823 : #undef FAIL
32824 : }
32825 : static const uint8_t expand_encoding[] = {
32826 : 0x05, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
32827 : 0x03, 0x01, 0x04
32828 : };
32829 : return complete_seq (expand_encoding, operands);
32830 : }
32831 :
32832 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29302 */
32833 : rtx
32834 : gen_avx_vinsertf128v16hi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
32835 : {
32836 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
32837 : start_sequence ();
32838 : {
32839 : #define FAIL return (end_sequence (), nullptr)
32840 : #define DONE return end_sequence ()
32841 : #line 29308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32842 : {
32843 : rtx (*insn)(rtx, rtx, rtx);
32844 :
32845 : switch (INTVAL (operands[3]))
32846 : {
32847 : case 0:
32848 : insn = gen_vec_set_lo_v16hi;
32849 : break;
32850 : case 1:
32851 : insn = gen_vec_set_hi_v16hi;
32852 : break;
32853 : default:
32854 : gcc_unreachable ();
32855 : }
32856 :
32857 : emit_insn (insn (operands[0], operands[1], operands[2]));
32858 : DONE;
32859 : }
32860 : #undef DONE
32861 : #undef FAIL
32862 : }
32863 : static const uint8_t expand_encoding[] = {
32864 : 0x04, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
32865 : 0x03
32866 : };
32867 : return complete_seq (expand_encoding, operands);
32868 : }
32869 :
32870 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29568 */
32871 : rtx
32872 : gen_maskloadv2dfv2di_1 (const rtx operand0, const rtx operand1, const rtx operand2)
32873 : {
32874 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
32875 : static const uint8_t expand_encoding[] = {
32876 : 0x1f, 0x01, 0x00, 0x1a, 0x6c, 0x02, 0x01, 0x02,
32877 : 0x01, 0x01, 0x30
32878 : };
32879 : return expand_rtx (expand_encoding, operands);
32880 : }
32881 :
32882 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29568 */
32883 : rtx
32884 : gen_maskloadv4siv4si_1 (const rtx operand0, const rtx operand1, const rtx operand2)
32885 : {
32886 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
32887 : static const uint8_t expand_encoding[] = {
32888 : 0x1f, 0x01, 0x00, 0x1a, 0x51, 0x02, 0x01, 0x02,
32889 : 0x01, 0x01, 0x30
32890 : };
32891 : return expand_rtx (expand_encoding, operands);
32892 : }
32893 :
32894 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29591 */
32895 : rtx
32896 : gen_maskloadv8siqi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
32897 : {
32898 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
32899 : static const uint8_t expand_encoding[] = {
32900 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x56, 0x1a, 0x56,
32901 : 0x01, 0x01, 0x01, 0x81, 0x32, 0x01, 0x03, 0x01,
32902 : 0x02
32903 : };
32904 : return expand_rtx (expand_encoding, operands);
32905 : }
32906 :
32907 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29591 */
32908 : rtx
32909 : gen_maskloadv16sfhi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
32910 : {
32911 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
32912 : static const uint8_t expand_encoding[] = {
32913 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x74, 0x1a, 0x74,
32914 : 0x01, 0x01, 0x01, 0x81, 0x32, 0x01, 0x03, 0x01,
32915 : 0x02
32916 : };
32917 : return expand_rtx (expand_encoding, operands);
32918 : }
32919 :
32920 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29601 */
32921 : rtx
32922 : gen_maskloadv16hihi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
32923 : {
32924 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
32925 : static const uint8_t expand_encoding[] = {
32926 : 0x1f, 0x01, 0x00, 0x81, 0x09, 0x55, 0x1a, 0x55,
32927 : 0x01, 0x01, 0x01, 0x81, 0x32, 0x01, 0x03, 0x01,
32928 : 0x02
32929 : };
32930 : return expand_rtx (expand_encoding, operands);
32931 : }
32932 :
32933 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29611 */
32934 : rtx
32935 : gen_maskstorev4div4di (const rtx operand0, const rtx operand1, const rtx operand2)
32936 : {
32937 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
32938 : static const uint8_t expand_encoding[] = {
32939 : 0x1f, 0x01, 0x00, 0x1a, 0x57, 0x03, 0x01, 0x02,
32940 : 0x01, 0x01, 0x01, 0x00, 0x30
32941 : };
32942 : return expand_rtx (expand_encoding, operands);
32943 : }
32944 :
32945 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29620 */
32946 : rtx
32947 : gen_maskstorev4diqi (const rtx operand0, const rtx operand1, const rtx operand2)
32948 : {
32949 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
32950 : static const uint8_t expand_encoding[] = {
32951 : 0x1f, 0x01, 0x00, 0x1a, 0x57, 0x03, 0x01, 0x01,
32952 : 0x01, 0x00, 0x01, 0x02, 0x30
32953 : };
32954 : return expand_rtx (expand_encoding, operands);
32955 : }
32956 :
32957 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29629 */
32958 : rtx
32959 : gen_maskstorev32qisi (const rtx operand0, const rtx operand1, const rtx operand2)
32960 : {
32961 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
32962 : static const uint8_t expand_encoding[] = {
32963 : 0x1f, 0x01, 0x00, 0x1a, 0x54, 0x03, 0x01, 0x01,
32964 : 0x01, 0x00, 0x01, 0x02, 0x30
32965 : };
32966 : return expand_rtx (expand_encoding, operands);
32967 : }
32968 :
32969 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29681 */
32970 : extern rtx_insn *gen_split_3843 (rtx_insn *, rtx *);
32971 : rtx_insn *
32972 : gen_split_3843 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
32973 : {
32974 : if (dump_file)
32975 : fprintf (dump_file, "Splitting with gen_split_3843 (sse.md:29681)\n");
32976 : start_sequence ();
32977 : #define FAIL return (end_sequence (), nullptr)
32978 : #define DONE return end_sequence ()
32979 : #line 29692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32980 : {
32981 : if (constm1_operand (operands[2], V64QImode))
32982 : emit_move_insn (operands[0], operands[1]);
32983 : else
32984 : emit_note (NOTE_INSN_DELETED);
32985 :
32986 : DONE;
32987 : }
32988 : #undef DONE
32989 : #undef FAIL
32990 : static const uint8_t expand_encoding[] = {
32991 : 0x01, 0x27, 0x00
32992 : };
32993 : return complete_seq (expand_encoding, operands);
32994 : }
32995 :
32996 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29681 */
32997 : extern rtx_insn *gen_split_3853 (rtx_insn *, rtx *);
32998 : rtx_insn *
32999 : gen_split_3853 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
33000 : {
33001 : if (dump_file)
33002 : fprintf (dump_file, "Splitting with gen_split_3853 (sse.md:29681)\n");
33003 : start_sequence ();
33004 : #define FAIL return (end_sequence (), nullptr)
33005 : #define DONE return end_sequence ()
33006 : #line 29692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33007 : {
33008 : if (constm1_operand (operands[2], V4DImode))
33009 : emit_move_insn (operands[0], operands[1]);
33010 : else
33011 : emit_note (NOTE_INSN_DELETED);
33012 :
33013 : DONE;
33014 : }
33015 : #undef DONE
33016 : #undef FAIL
33017 : static const uint8_t expand_encoding[] = {
33018 : 0x01, 0x27, 0x00
33019 : };
33020 : return complete_seq (expand_encoding, operands);
33021 : }
33022 :
33023 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29681 */
33024 : extern rtx_insn *gen_split_3863 (rtx_insn *, rtx *);
33025 : rtx_insn *
33026 : gen_split_3863 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
33027 : {
33028 : if (dump_file)
33029 : fprintf (dump_file, "Splitting with gen_split_3863 (sse.md:29681)\n");
33030 : start_sequence ();
33031 : #define FAIL return (end_sequence (), nullptr)
33032 : #define DONE return end_sequence ()
33033 : #line 29692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33034 : {
33035 : if (constm1_operand (operands[2], V4SFmode))
33036 : emit_move_insn (operands[0], operands[1]);
33037 : else
33038 : emit_note (NOTE_INSN_DELETED);
33039 :
33040 : DONE;
33041 : }
33042 : #undef DONE
33043 : #undef FAIL
33044 : static const uint8_t expand_encoding[] = {
33045 : 0x01, 0x27, 0x00
33046 : };
33047 : return complete_seq (expand_encoding, operands);
33048 : }
33049 :
33050 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29701 */
33051 : rtx
33052 : gen_cbranchv16si4 (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
33053 : {
33054 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
33055 : start_sequence ();
33056 : {
33057 : #define FAIL return (end_sequence (), nullptr)
33058 : #define DONE return end_sequence ()
33059 : #line 29711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33060 : {
33061 : ix86_expand_branch (GET_CODE (operands[0]),
33062 : operands[1], operands[2], operands[3]);
33063 : DONE;
33064 : }
33065 : #undef DONE
33066 : #undef FAIL
33067 : }
33068 : static const uint8_t expand_encoding[] = {
33069 : 0x02, 0x1f, 0x30, 0x02, 0x11, 0x3a, 0x02, 0x01,
33070 : 0x01, 0x01, 0x02, 0x1f, 0x2f, 0x39, 0x00, 0x03,
33071 : 0x00, 0x00, 0x30, 0x02, 0x11, 0x27, 0x00, 0x37,
33072 : 0x00, 0x01, 0x03, 0x2f
33073 : };
33074 : return complete_seq (expand_encoding, operands);
33075 : }
33076 :
33077 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29760 */
33078 : rtx
33079 : gen_vec_initv32qiqi (const rtx operand0, const rtx operand1)
33080 : {
33081 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
33082 : start_sequence ();
33083 : {
33084 : #define FAIL return (end_sequence (), nullptr)
33085 : #define DONE return end_sequence ()
33086 : #line 29764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33087 : {
33088 : ix86_expand_vector_init (false, operands[0], operands[1]);
33089 : DONE;
33090 : }
33091 : #undef DONE
33092 : #undef FAIL
33093 : }
33094 : static const uint8_t expand_encoding[] = {
33095 : 0x02, 0x01, 0x00, 0x01, 0x01
33096 : };
33097 : return complete_seq (expand_encoding, operands);
33098 : }
33099 :
33100 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29760 */
33101 : rtx
33102 : gen_vec_initv2didi (const rtx operand0, const rtx operand1)
33103 : {
33104 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
33105 : start_sequence ();
33106 : {
33107 : #define FAIL return (end_sequence (), nullptr)
33108 : #define DONE return end_sequence ()
33109 : #line 29764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33110 : {
33111 : ix86_expand_vector_init (false, operands[0], operands[1]);
33112 : DONE;
33113 : }
33114 : #undef DONE
33115 : #undef FAIL
33116 : }
33117 : static const uint8_t expand_encoding[] = {
33118 : 0x02, 0x01, 0x00, 0x01, 0x01
33119 : };
33120 : return complete_seq (expand_encoding, operands);
33121 : }
33122 :
33123 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29760 */
33124 : rtx
33125 : gen_vec_initv8dfdf (const rtx operand0, const rtx operand1)
33126 : {
33127 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
33128 : start_sequence ();
33129 : {
33130 : #define FAIL return (end_sequence (), nullptr)
33131 : #define DONE return end_sequence ()
33132 : #line 29764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33133 : {
33134 : ix86_expand_vector_init (false, operands[0], operands[1]);
33135 : DONE;
33136 : }
33137 : #undef DONE
33138 : #undef FAIL
33139 : }
33140 : static const uint8_t expand_encoding[] = {
33141 : 0x02, 0x01, 0x00, 0x01, 0x01
33142 : };
33143 : return complete_seq (expand_encoding, operands);
33144 : }
33145 :
33146 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29769 */
33147 : rtx
33148 : gen_vec_initv8hiv4hi (const rtx operand0, const rtx operand1)
33149 : {
33150 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
33151 : start_sequence ();
33152 : {
33153 : #define FAIL return (end_sequence (), nullptr)
33154 : #define DONE return end_sequence ()
33155 : #line 29773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33156 : {
33157 : ix86_expand_vector_init (false, operands[0], operands[1]);
33158 : DONE;
33159 : }
33160 : #undef DONE
33161 : #undef FAIL
33162 : }
33163 : static const uint8_t expand_encoding[] = {
33164 : 0x02, 0x01, 0x00, 0x01, 0x01
33165 : };
33166 : return complete_seq (expand_encoding, operands);
33167 : }
33168 :
33169 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29769 */
33170 : rtx
33171 : gen_vec_initv16bfv8bf (const rtx operand0, const rtx operand1)
33172 : {
33173 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
33174 : start_sequence ();
33175 : {
33176 : #define FAIL return (end_sequence (), nullptr)
33177 : #define DONE return end_sequence ()
33178 : #line 29773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33179 : {
33180 : ix86_expand_vector_init (false, operands[0], operands[1]);
33181 : DONE;
33182 : }
33183 : #undef DONE
33184 : #undef FAIL
33185 : }
33186 : static const uint8_t expand_encoding[] = {
33187 : 0x02, 0x01, 0x00, 0x01, 0x01
33188 : };
33189 : return complete_seq (expand_encoding, operands);
33190 : }
33191 :
33192 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29778 */
33193 : rtx
33194 : gen_cond_ashrv32hi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
33195 : {
33196 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
33197 : start_sequence ();
33198 : {
33199 : #define FAIL return (end_sequence (), nullptr)
33200 : #define DONE return end_sequence ()
33201 : #line 29787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33202 : {
33203 : if (const_vec_duplicate_p (operands[3]))
33204 : {
33205 : operands[3] = unwrap_const_vec_duplicate (operands[3]);
33206 : operands[3] = lowpart_subreg (DImode, operands[3], HImode);
33207 : emit_insn (gen_ashrv32hi3_mask (operands[0],
33208 : operands[2],
33209 : operands[3],
33210 : operands[4],
33211 : operands[1]));
33212 : }
33213 : else
33214 : emit_insn (gen_avx512bw_ashrvv32hi_mask (operands[0],
33215 : operands[2],
33216 : operands[3],
33217 : operands[4],
33218 : operands[1]));
33219 : DONE;
33220 : }
33221 : #undef DONE
33222 : #undef FAIL
33223 : }
33224 : static const uint8_t expand_encoding[] = {
33225 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5a, 0x4f,
33226 : 0x5a, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01,
33227 : 0x01
33228 : };
33229 : return complete_seq (expand_encoding, operands);
33230 : }
33231 :
33232 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29778 */
33233 : rtx
33234 : gen_cond_ashlv8si (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
33235 : {
33236 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
33237 : start_sequence ();
33238 : {
33239 : #define FAIL _Pragma ("GCC error \"cond_ashlv8si cannot FAIL\"") (void)0
33240 : #define DONE return end_sequence ()
33241 : #line 29787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33242 : {
33243 : if (const_vec_duplicate_p (operands[3]))
33244 : {
33245 : operands[3] = unwrap_const_vec_duplicate (operands[3]);
33246 : operands[3] = lowpart_subreg (DImode, operands[3], SImode);
33247 : emit_insn (gen_ashlv8si3_mask (operands[0],
33248 : operands[2],
33249 : operands[3],
33250 : operands[4],
33251 : operands[1]));
33252 : }
33253 : else
33254 : emit_insn (gen_avx2_ashlvv8si_mask (operands[0],
33255 : operands[2],
33256 : operands[3],
33257 : operands[4],
33258 : operands[1]));
33259 : DONE;
33260 : }
33261 : #undef DONE
33262 : #undef FAIL
33263 : }
33264 : static const uint8_t expand_encoding[] = {
33265 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x56, 0x4d,
33266 : 0x56, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01,
33267 : 0x01
33268 : };
33269 : return complete_seq (expand_encoding, operands);
33270 : }
33271 :
33272 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29778 */
33273 : rtx
33274 : gen_cond_ashrv4di (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
33275 : {
33276 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
33277 : start_sequence ();
33278 : {
33279 : #define FAIL return (end_sequence (), nullptr)
33280 : #define DONE return end_sequence ()
33281 : #line 29787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33282 : {
33283 : if (const_vec_duplicate_p (operands[3]))
33284 : {
33285 : operands[3] = unwrap_const_vec_duplicate (operands[3]);
33286 : operands[3] = lowpart_subreg (DImode, operands[3], DImode);
33287 : emit_insn (gen_ashrv4di3_mask (operands[0],
33288 : operands[2],
33289 : operands[3],
33290 : operands[4],
33291 : operands[1]));
33292 : }
33293 : else
33294 : emit_insn (gen_avx2_ashrvv4di_mask (operands[0],
33295 : operands[2],
33296 : operands[3],
33297 : operands[4],
33298 : operands[1]));
33299 : DONE;
33300 : }
33301 : #undef DONE
33302 : #undef FAIL
33303 : }
33304 : static const uint8_t expand_encoding[] = {
33305 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x57, 0x4f,
33306 : 0x57, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01,
33307 : 0x01
33308 : };
33309 : return complete_seq (expand_encoding, operands);
33310 : }
33311 :
33312 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29963 */
33313 : extern rtx_insn *gen_split_3879 (rtx_insn *, rtx *);
33314 : rtx_insn *
33315 : gen_split_3879 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
33316 : {
33317 : if (dump_file)
33318 : fprintf (dump_file, "Splitting with gen_split_3879 (sse.md:29963)\n");
33319 : start_sequence ();
33320 : #define FAIL return (end_sequence (), nullptr)
33321 : #define DONE return end_sequence ()
33322 : #line 29976 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33323 : {
33324 : operands[1] = gen_lowpart (V4DImode, operands[1]);
33325 : operands[5] = CONST0_RTX (V4DImode);
33326 : }
33327 : #undef DONE
33328 : #undef FAIL
33329 : static const uint8_t expand_encoding[] = {
33330 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x5c, 0x01,
33331 : 0x01, 0x01, 0x05
33332 : };
33333 : return complete_seq (expand_encoding, operands);
33334 : }
33335 :
33336 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:29963 */
33337 : extern rtx_insn *gen_split_3889 (rtx_insn *, rtx *);
33338 : rtx_insn *
33339 : gen_split_3889 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
33340 : {
33341 : if (dump_file)
33342 : fprintf (dump_file, "Splitting with gen_split_3889 (sse.md:29963)\n");
33343 : start_sequence ();
33344 : #define FAIL return (end_sequence (), nullptr)
33345 : #define DONE return end_sequence ()
33346 : #line 29976 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33347 : {
33348 : operands[1] = gen_lowpart (V4SFmode, operands[1]);
33349 : operands[5] = CONST0_RTX (V4SFmode);
33350 : }
33351 : #undef DONE
33352 : #undef FAIL
33353 : static const uint8_t expand_encoding[] = {
33354 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x6f, 0x01,
33355 : 0x01, 0x01, 0x05
33356 : };
33357 : return complete_seq (expand_encoding, operands);
33358 : }
33359 :
33360 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30168 */
33361 : rtx
33362 : gen_avx2_gathersiv4di (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
33363 : {
33364 : rtx operands[8] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
33365 : start_sequence ();
33366 : {
33367 : #define FAIL return (end_sequence (), nullptr)
33368 : #define DONE return end_sequence ()
33369 : #line 30183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33370 : {
33371 : operands[6]
33372 : = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
33373 : operands[5]), UNSPEC_VSIBADDR);
33374 : }
33375 : #undef DONE
33376 : #undef FAIL
33377 : }
33378 : static const uint8_t expand_encoding[] = {
33379 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x1a,
33380 : 0x57, 0x04, 0x01, 0x01, 0x36, 0x12, 0x04, 0x06,
33381 : 0x36, 0x01, 0x31, 0x00, 0x01, 0x04, 0x81, 0x1a,
33382 : 0x21, 0x00, 0x31, 0x57
33383 : };
33384 : return complete_seq (expand_encoding, operands);
33385 : }
33386 :
33387 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30231 */
33388 : rtx
33389 : gen_avx2_gatherdiv4df (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
33390 : {
33391 : rtx operands[8] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
33392 : start_sequence ();
33393 : {
33394 : #define FAIL return (end_sequence (), nullptr)
33395 : #define DONE return end_sequence ()
33396 : #line 30246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33397 : {
33398 : operands[6]
33399 : = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
33400 : operands[5]), UNSPEC_VSIBADDR);
33401 : }
33402 : #undef DONE
33403 : #undef FAIL
33404 : }
33405 : static const uint8_t expand_encoding[] = {
33406 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x1a,
33407 : 0x70, 0x04, 0x01, 0x01, 0x36, 0x2e, 0x04, 0x06,
33408 : 0x36, 0x01, 0x31, 0x00, 0x01, 0x04, 0x81, 0x1a,
33409 : 0x21, 0x00, 0x31, 0x70
33410 : };
33411 : return complete_seq (expand_encoding, operands);
33412 : }
33413 :
33414 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30346 */
33415 : rtx
33416 : gen_avx512vl_gathersiv8sf (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
33417 : {
33418 : rtx operands[8] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
33419 : start_sequence ();
33420 : {
33421 : #define FAIL return (end_sequence (), nullptr)
33422 : #define DONE return end_sequence ()
33423 : #line 30359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33424 : {
33425 : operands[6]
33426 : = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
33427 : operands[5]), UNSPEC_VSIBADDR);
33428 : }
33429 : #undef DONE
33430 : #undef FAIL
33431 : }
33432 : static const uint8_t expand_encoding[] = {
33433 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x1a,
33434 : 0x6f, 0x03, 0x01, 0x01, 0x01, 0x04, 0x36, 0x2d,
33435 : 0x04, 0x06, 0x81, 0x1a, 0x21, 0x00, 0x31, 0x0f
33436 : };
33437 : return complete_seq (expand_encoding, operands);
33438 : }
33439 :
33440 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30408 */
33441 : rtx
33442 : gen_avx512f_gatherdiv8df (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5)
33443 : {
33444 : rtx operands[8] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5 };
33445 : start_sequence ();
33446 : {
33447 : #define FAIL return (end_sequence (), nullptr)
33448 : #define DONE return end_sequence ()
33449 : #line 30421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33450 : {
33451 : operands[6]
33452 : = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
33453 : operands[5]), UNSPEC_VSIBADDR);
33454 : }
33455 : #undef DONE
33456 : #undef FAIL
33457 : }
33458 : static const uint8_t expand_encoding[] = {
33459 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x01, 0x00, 0x1a,
33460 : 0x75, 0x03, 0x01, 0x01, 0x01, 0x04, 0x36, 0x2e,
33461 : 0x04, 0x06, 0x81, 0x1a, 0x21, 0x00, 0x31, 0x0f
33462 : };
33463 : return complete_seq (expand_encoding, operands);
33464 : }
33465 :
33466 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30478 */
33467 : rtx
33468 : gen_avx512f_scattersiv16sf (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
33469 : {
33470 : rtx operands[7] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
33471 : start_sequence ();
33472 : {
33473 : #define FAIL return (end_sequence (), nullptr)
33474 : #define DONE return end_sequence ()
33475 : #line 30490 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33476 : {
33477 : operands[5]
33478 : = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
33479 : operands[4], operands[1]),
33480 : UNSPEC_VSIBADDR);
33481 : }
33482 : #undef DONE
33483 : #undef FAIL
33484 : }
33485 : static const uint8_t expand_encoding[] = {
33486 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x36, 0x74, 0x04,
33487 : 0x05, 0x1a, 0x74, 0x02, 0x01, 0x01, 0x01, 0x03,
33488 : 0x81, 0x21, 0x21, 0x00, 0x31, 0x10
33489 : };
33490 : return complete_seq (expand_encoding, operands);
33491 : }
33492 :
33493 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30478 */
33494 : rtx
33495 : gen_avx512vl_scattersiv2di (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
33496 : {
33497 : rtx operands[7] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
33498 : start_sequence ();
33499 : {
33500 : #define FAIL return (end_sequence (), nullptr)
33501 : #define DONE return end_sequence ()
33502 : #line 30490 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33503 : {
33504 : operands[5]
33505 : = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
33506 : operands[4], operands[1]),
33507 : UNSPEC_VSIBADDR);
33508 : }
33509 : #undef DONE
33510 : #undef FAIL
33511 : }
33512 : static const uint8_t expand_encoding[] = {
33513 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x36, 0x52, 0x04,
33514 : 0x05, 0x1a, 0x52, 0x02, 0x01, 0x01, 0x01, 0x03,
33515 : 0x81, 0x21, 0x21, 0x00, 0x31, 0x0f
33516 : };
33517 : return complete_seq (expand_encoding, operands);
33518 : }
33519 :
33520 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30518 */
33521 : rtx
33522 : gen_avx512vl_scatterdiv4si (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
33523 : {
33524 : rtx operands[7] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
33525 : start_sequence ();
33526 : {
33527 : #define FAIL return (end_sequence (), nullptr)
33528 : #define DONE return end_sequence ()
33529 : #line 30530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33530 : {
33531 : operands[5]
33532 : = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
33533 : operands[4], operands[1]),
33534 : UNSPEC_VSIBADDR);
33535 : }
33536 : #undef DONE
33537 : #undef FAIL
33538 : }
33539 : static const uint8_t expand_encoding[] = {
33540 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x36, 0x51, 0x04,
33541 : 0x05, 0x1a, 0x51, 0x02, 0x01, 0x01, 0x01, 0x03,
33542 : 0x81, 0x21, 0x21, 0x00, 0x31, 0x0f
33543 : };
33544 : return complete_seq (expand_encoding, operands);
33545 : }
33546 :
33547 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30616 */
33548 : rtx
33549 : gen_avx512vl_expandv4df_maskz (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
33550 : {
33551 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
33552 : start_sequence ();
33553 : {
33554 : #define FAIL return (end_sequence (), nullptr)
33555 : #define DONE return end_sequence ()
33556 : #line 30624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33557 : operands[2] = CONST0_RTX (V4DFmode);
33558 : #undef DONE
33559 : #undef FAIL
33560 : }
33561 : static const uint8_t expand_encoding[] = {
33562 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x70, 0x03, 0x01,
33563 : 0x01, 0x01, 0x02, 0x01, 0x03, 0x81, 0x2c
33564 : };
33565 : return complete_seq (expand_encoding, operands);
33566 : }
33567 :
33568 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30656 */
33569 : extern rtx_insn *gen_split_3899 (rtx_insn *, rtx *);
33570 : rtx_insn *
33571 : gen_split_3899 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
33572 : {
33573 : if (dump_file)
33574 : fprintf (dump_file, "Splitting with gen_split_3899 (sse.md:30656)\n");
33575 : start_sequence ();
33576 : #define FAIL return (end_sequence (), nullptr)
33577 : #define DONE return end_sequence ()
33578 : #line 30668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33579 : {
33580 : unsigned HOST_WIDE_INT mask = INTVAL (operands[3]);
33581 : bool has_zero = false;
33582 : unsigned n = GET_MODE_NUNITS (V8SFmode), i;
33583 : unsigned ones = 0;
33584 :
33585 : /* If all ones bits is in mask's lower part,
33586 : get number of ones and assign it to ONES. */
33587 : for (i = 0; i != n; i++)
33588 : {
33589 : if ((mask & HOST_WIDE_INT_1U << i) && has_zero)
33590 : break;
33591 :
33592 : /* Record first zero bit. */
33593 : if (!(mask & HOST_WIDE_INT_1U << i) && !has_zero)
33594 : {
33595 : has_zero = true;
33596 : ones = i;
33597 : }
33598 : }
33599 :
33600 : if (!has_zero)
33601 : ones = n;
33602 :
33603 : if (i != n || (ones != 0 && ones != n))
33604 : {
33605 : rtx reg = gen_reg_rtx (QImode);
33606 : emit_move_insn (reg, operands[3]);
33607 : enum insn_code icode;
33608 : if (i == n)
33609 : /* For masks with all one bits in it's lower part,
33610 : we can transform v{,p}expand* to vmovdq* with
33611 : mask operand. */
33612 : icode = CODE_FOR_avx512vl_loadv8sf_mask;
33613 : else
33614 : icode = CODE_FOR_expandv8sf_mask;
33615 : emit_insn (GEN_FCN (icode) (operands[0], operands[1], operands[2], reg));
33616 : }
33617 : else
33618 : /* For ALL_MASK_ONES or CONST0_RTX mask, transform it to simple mov. */
33619 : emit_move_insn (operands[0], ones ? operands[1] : operands[2]);
33620 : DONE;
33621 : }
33622 : #undef DONE
33623 : #undef FAIL
33624 : static const uint8_t expand_encoding[] = {
33625 : 0x01, 0x27, 0x00
33626 : };
33627 : return complete_seq (expand_encoding, operands);
33628 : }
33629 :
33630 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:30656 */
33631 : extern rtx_insn *gen_split_3909 (rtx_insn *, rtx *);
33632 : rtx_insn *
33633 : gen_split_3909 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
33634 : {
33635 : if (dump_file)
33636 : fprintf (dump_file, "Splitting with gen_split_3909 (sse.md:30656)\n");
33637 : start_sequence ();
33638 : #define FAIL return (end_sequence (), nullptr)
33639 : #define DONE return end_sequence ()
33640 : #line 30668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33641 : {
33642 : unsigned HOST_WIDE_INT mask = INTVAL (operands[3]);
33643 : bool has_zero = false;
33644 : unsigned n = GET_MODE_NUNITS (V32HImode), i;
33645 : unsigned ones = 0;
33646 :
33647 : /* If all ones bits is in mask's lower part,
33648 : get number of ones and assign it to ONES. */
33649 : for (i = 0; i != n; i++)
33650 : {
33651 : if ((mask & HOST_WIDE_INT_1U << i) && has_zero)
33652 : break;
33653 :
33654 : /* Record first zero bit. */
33655 : if (!(mask & HOST_WIDE_INT_1U << i) && !has_zero)
33656 : {
33657 : has_zero = true;
33658 : ones = i;
33659 : }
33660 : }
33661 :
33662 : if (!has_zero)
33663 : ones = n;
33664 :
33665 : if (i != n || (ones != 0 && ones != n))
33666 : {
33667 : rtx reg = gen_reg_rtx (SImode);
33668 : emit_move_insn (reg, operands[3]);
33669 : enum insn_code icode;
33670 : if (i == n)
33671 : /* For masks with all one bits in it's lower part,
33672 : we can transform v{,p}expand* to vmovdq* with
33673 : mask operand. */
33674 : icode = CODE_FOR_avx512bw_loadv32hi_mask;
33675 : else
33676 : icode = CODE_FOR_expandv32hi_mask;
33677 : emit_insn (GEN_FCN (icode) (operands[0], operands[1], operands[2], reg));
33678 : }
33679 : else
33680 : /* For ALL_MASK_ONES or CONST0_RTX mask, transform it to simple mov. */
33681 : emit_move_insn (operands[0], ones ? operands[1] : operands[2]);
33682 : DONE;
33683 : }
33684 : #undef DONE
33685 : #undef FAIL
33686 : static const uint8_t expand_encoding[] = {
33687 : 0x01, 0x27, 0x00
33688 : };
33689 : return complete_seq (expand_encoding, operands);
33690 : }
33691 :
33692 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31070 */
33693 : extern rtx_insn *gen_split_3917 (rtx_insn *, rtx *);
33694 : rtx_insn *
33695 : gen_split_3917 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
33696 : {
33697 : if (dump_file)
33698 : fprintf (dump_file, "Splitting with gen_split_3917 (sse.md:31070)\n");
33699 : start_sequence ();
33700 : #define FAIL return (end_sequence (), nullptr)
33701 : #define DONE return end_sequence ()
33702 : #line 31079 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33703 : {
33704 : if (REG_P (operands[0]))
33705 : operands[0] = gen_lowpart (V4DFmode, operands[0]);
33706 : else
33707 : operands[1] = lowpart_subreg (V8DFmode, operands[1],
33708 : V4DFmode);
33709 : }
33710 : #undef DONE
33711 : #undef FAIL
33712 : static const uint8_t expand_encoding[] = {
33713 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
33714 : };
33715 : return complete_seq (expand_encoding, operands);
33716 : }
33717 :
33718 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31200 */
33719 : rtx
33720 : gen_popcountv8di2 (const rtx operand0, const rtx operand1)
33721 : {
33722 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
33723 : static const uint8_t expand_encoding[] = {
33724 : 0x1f, 0x01, 0x00, 0x81, 0x02, 0x5c, 0x01, 0x01
33725 : };
33726 : return expand_rtx (expand_encoding, operands);
33727 : }
33728 :
33729 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31250 */
33730 : rtx
33731 : gen_popcountv32hi2 (const rtx operand0, const rtx operand1)
33732 : {
33733 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
33734 : static const uint8_t expand_encoding[] = {
33735 : 0x1f, 0x01, 0x00, 0x81, 0x02, 0x5a, 0x01, 0x01
33736 : };
33737 : return expand_rtx (expand_encoding, operands);
33738 : }
33739 :
33740 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31362 */
33741 : rtx
33742 : gen_vpshrdv_v4si_maskz (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
33743 : {
33744 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
33745 : start_sequence ();
33746 : {
33747 : #define FAIL return (end_sequence (), nullptr)
33748 : #define DONE return end_sequence ()
33749 : #line 31369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33750 : {
33751 : emit_insn (gen_vpshrdv_v4si_maskz_1 (operands[0], operands[1],
33752 : operands[2], operands[3],
33753 : CONST0_RTX (V4SImode),
33754 : operands[4]));
33755 : DONE;
33756 : }
33757 : #undef DONE
33758 : #undef FAIL
33759 : }
33760 : static const uint8_t expand_encoding[] = {
33761 : 0x05, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
33762 : 0x03, 0x01, 0x04
33763 : };
33764 : return complete_seq (expand_encoding, operands);
33765 : }
33766 :
33767 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31419 */
33768 : rtx
33769 : gen_vpshldv_v2di_maskz (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
33770 : {
33771 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
33772 : start_sequence ();
33773 : {
33774 : #define FAIL return (end_sequence (), nullptr)
33775 : #define DONE return end_sequence ()
33776 : #line 31426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33777 : {
33778 : emit_insn (gen_vpshldv_v2di_maskz_1 (operands[0], operands[1],
33779 : operands[2], operands[3],
33780 : CONST0_RTX (V2DImode),
33781 : operands[4]));
33782 : DONE;
33783 : }
33784 : #undef DONE
33785 : #undef FAIL
33786 : }
33787 : static const uint8_t expand_encoding[] = {
33788 : 0x05, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
33789 : 0x03, 0x01, 0x04
33790 : };
33791 : return complete_seq (expand_encoding, operands);
33792 : }
33793 :
33794 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31675 */
33795 : rtx
33796 : gen_vpdpwssd_v16si_maskz (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
33797 : {
33798 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
33799 : start_sequence ();
33800 : {
33801 : #define FAIL return (end_sequence (), nullptr)
33802 : #define DONE return end_sequence ()
33803 : #line 31682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33804 : {
33805 : emit_insn (gen_vpdpwssd_v16si_maskz_1 (operands[0], operands[1],
33806 : operands[2], operands[3],
33807 : CONST0_RTX (V16SImode),
33808 : operands[4]));
33809 : DONE;
33810 : }
33811 : #undef DONE
33812 : #undef FAIL
33813 : }
33814 : static const uint8_t expand_encoding[] = {
33815 : 0x05, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
33816 : 0x03, 0x01, 0x04
33817 : };
33818 : return complete_seq (expand_encoding, operands);
33819 : }
33820 :
33821 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31876 */
33822 : rtx
33823 : gen_movp2hi (const rtx operand0, const rtx operand1)
33824 : {
33825 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
33826 : start_sequence ();
33827 : {
33828 : #define FAIL return (end_sequence (), nullptr)
33829 : #define DONE return end_sequence ()
33830 : #line 31880 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33831 : {
33832 : if (MEM_P (operands[0]) && MEM_P (operands[1]))
33833 : operands[1] = force_reg (P2HImode, operands[1]);
33834 : }
33835 : #undef DONE
33836 : #undef FAIL
33837 : }
33838 : static const uint8_t expand_encoding[] = {
33839 : 0x01, 0x1f, 0x01, 0x00, 0x01, 0x01
33840 : };
33841 : return complete_seq (expand_encoding, operands);
33842 : }
33843 :
33844 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:31955 */
33845 : rtx
33846 : gen_truncv4sfv4bf2 (const rtx operand0, const rtx operand1)
33847 : {
33848 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
33849 : start_sequence ();
33850 : {
33851 : #define FAIL return (end_sequence (), nullptr)
33852 : #define DONE return end_sequence ()
33853 : #line 31963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33854 : {
33855 : if (!TARGET_AVXNECONVERT
33856 : && !(TARGET_AVX512BF16 && TARGET_AVX512VL))
33857 : ix86_expand_vector_sf2bf_with_vec_perm (operands[0], operands[1]);
33858 : else
33859 : {
33860 : rtx dest = gen_reg_rtx (V8BFmode);
33861 : emit_insn (gen_vcvtneps2bf16_v4sf (dest, operands[1]));
33862 : emit_move_insn (operands[0], lowpart_subreg (V4BFmode, dest, V8BFmode));
33863 : }
33864 : DONE;
33865 : }
33866 : #undef DONE
33867 : #undef FAIL
33868 : }
33869 : static const uint8_t expand_encoding[] = {
33870 : 0x01, 0x1f, 0x01, 0x00, 0x72, 0x65, 0x01, 0x01
33871 : };
33872 : return complete_seq (expand_encoding, operands);
33873 : }
33874 :
33875 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32161 */
33876 : rtx
33877 : gen_encodekey128u32 (const rtx operand0, const rtx operand1)
33878 : {
33879 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1 };
33880 : start_sequence ();
33881 : {
33882 : #define FAIL return (end_sequence (), nullptr)
33883 : #define DONE return end_sequence ()
33884 : #line 32169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33885 : {
33886 : rtx xmm_regs[7];
33887 : rtx tmp_unspec;
33888 : unsigned i;
33889 :
33890 : /* parallel rtx for encodekey128 predicate */
33891 : operands[2] = gen_rtx_PARALLEL (VOIDmode, rtvec_alloc (8));
33892 :
33893 : for (i = 0; i < 7; i++)
33894 : xmm_regs[i] = gen_rtx_REG (V2DImode, GET_SSE_REGNO (i));
33895 :
33896 : tmp_unspec
33897 : = gen_rtx_UNSPEC_VOLATILE (SImode,
33898 : gen_rtvec (2, operands[1], xmm_regs[0]),
33899 : UNSPECV_ENCODEKEY128U32);
33900 :
33901 : XVECEXP (operands[2], 0, 0)
33902 : = gen_rtx_SET (operands[0], tmp_unspec);
33903 :
33904 : tmp_unspec
33905 : = gen_rtx_UNSPEC_VOLATILE (V2DImode,
33906 : gen_rtvec (1, const0_rtx),
33907 : UNSPECV_ENCODEKEY128U32);
33908 :
33909 : for (i = 0; i < 3; i++)
33910 : XVECEXP (operands[2], 0, i + 1)
33911 : = gen_rtx_SET (xmm_regs[i], tmp_unspec);
33912 :
33913 : for (i = 4; i < 7; i++)
33914 : XVECEXP (operands[2], 0, i)
33915 : = gen_rtx_CLOBBER (VOIDmode, xmm_regs[i]);
33916 :
33917 : XVECEXP (operands[2], 0, 7)
33918 : = gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (CCmode, FLAGS_REG));
33919 : }
33920 : #undef DONE
33921 : #undef FAIL
33922 : }
33923 : static const uint8_t expand_encoding[] = {
33924 : 0x01, 0x04, 0x02
33925 : };
33926 : return complete_seq (expand_encoding, operands);
33927 : }
33928 :
33929 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32376 */
33930 : rtx
33931 : gen_vec_duplicatev16si (const rtx operand0, const rtx operand1)
33932 : {
33933 : rtx operands[2] ATTRIBUTE_UNUSED = { operand0, operand1 };
33934 : start_sequence ();
33935 : {
33936 : #define FAIL return (end_sequence (), nullptr)
33937 : #define DONE return end_sequence ()
33938 : #line 32381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33939 : {
33940 : if (!ix86_expand_vector_init_duplicate (false,
33941 : GET_MODE (operands[0]),
33942 : operands[0],
33943 : operands[1]))
33944 : gcc_unreachable ();
33945 : DONE;
33946 : }
33947 : #undef DONE
33948 : #undef FAIL
33949 : }
33950 : static const uint8_t expand_encoding[] = {
33951 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x0c, 0x5b, 0x01,
33952 : 0x01
33953 : };
33954 : return complete_seq (expand_encoding, operands);
33955 : }
33956 :
33957 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32451 */
33958 : rtx
33959 : gen_udot_prodv8siv32qi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
33960 : {
33961 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
33962 : start_sequence ();
33963 : {
33964 : #define FAIL return (end_sequence (), nullptr)
33965 : #define DONE return end_sequence ()
33966 : #line 32457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
33967 : {
33968 : if ((32 == 64 && TARGET_AVX10_2)
33969 : || (32 < 64 && (TARGET_AVXVNNIINT8 || TARGET_AVX10_2)))
33970 : {
33971 : operands[1] = lowpart_subreg (V8SImode,
33972 : force_reg (V32QImode, operands[1]),
33973 : V32QImode);
33974 : operands[2] = lowpart_subreg (V8SImode,
33975 : force_reg (V32QImode, operands[2]),
33976 : V32QImode);
33977 : emit_insn (gen_vpdpbuud_v8si (operands[0], operands[3],
33978 : operands[1], operands[2]));
33979 : }
33980 : else
33981 : {
33982 : /* Emulate with vpdpwssd. */
33983 : rtx op1_lo = gen_reg_rtx (V16HImode);
33984 : rtx op1_hi = gen_reg_rtx (V16HImode);
33985 : rtx op2_lo = gen_reg_rtx (V16HImode);
33986 : rtx op2_hi = gen_reg_rtx (V16HImode);
33987 :
33988 : emit_insn (gen_vec_unpacku_lo_v32qi (op1_lo, operands[1]));
33989 : emit_insn (gen_vec_unpacku_lo_v32qi (op2_lo, operands[2]));
33990 : emit_insn (gen_vec_unpacku_hi_v32qi (op1_hi, operands[1]));
33991 : emit_insn (gen_vec_unpacku_hi_v32qi (op2_hi, operands[2]));
33992 :
33993 : rtx res1 = gen_reg_rtx (V8SImode);
33994 : rtx res2 = gen_reg_rtx (V8SImode);
33995 : rtx sum = gen_reg_rtx (V8SImode);
33996 :
33997 : emit_move_insn (sum, CONST0_RTX (V8SImode));
33998 : emit_insn (gen_sdot_prodv8siv16hi (res1,
33999 : op1_lo, op2_lo, sum));
34000 : emit_insn (gen_sdot_prodv8siv16hi (res2,
34001 : op1_hi, op2_hi,
34002 : operands[3]));
34003 : emit_insn (gen_addv8si3 (operands[0], res1, res2));
34004 : }
34005 :
34006 : DONE;
34007 : }
34008 : #undef DONE
34009 : #undef FAIL
34010 : }
34011 : static const uint8_t expand_encoding[] = {
34012 : 0x04, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
34013 : 0x03
34014 : };
34015 : return complete_seq (expand_encoding, operands);
34016 : }
34017 :
34018 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32535 */
34019 : rtx
34020 : gen_vpdpbuud_v4si_maskz (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
34021 : {
34022 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
34023 : start_sequence ();
34024 : {
34025 : #define FAIL return (end_sequence (), nullptr)
34026 : #define DONE return end_sequence ()
34027 : #line 32546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
34028 : operands[5] = CONST0_RTX (V4SImode);
34029 : #undef DONE
34030 : #undef FAIL
34031 : }
34032 : static const uint8_t expand_encoding[] = {
34033 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x51, 0x1a,
34034 : 0x51, 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03,
34035 : 0x81, 0x68, 0x01, 0x05, 0x01, 0x04
34036 : };
34037 : return complete_seq (expand_encoding, operands);
34038 : }
34039 :
34040 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32785 */
34041 : rtx
34042 : gen_vcvtph2bf8v8hf (const rtx operand0, const rtx operand1)
34043 : {
34044 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1 };
34045 : start_sequence ();
34046 : {
34047 : #define FAIL return (end_sequence (), nullptr)
34048 : #define DONE return end_sequence ()
34049 : #line 32793 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
34050 : operands[2] = CONST0_RTX (V8QImode);
34051 : #undef DONE
34052 : #undef FAIL
34053 : }
34054 : static const uint8_t expand_encoding[] = {
34055 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x4f, 0x1a,
34056 : 0x48, 0x01, 0x01, 0x01, 0x81, 0x7e, 0x01, 0x02
34057 : };
34058 : return complete_seq (expand_encoding, operands);
34059 : }
34060 :
34061 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32807 */
34062 : rtx
34063 : gen_vcvtph2hf8v8hf_mask (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
34064 : {
34065 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
34066 : start_sequence ();
34067 : {
34068 : #define FAIL return (end_sequence (), nullptr)
34069 : #define DONE return end_sequence ()
34070 : #line 32823 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
34071 : operands[4] = CONST0_RTX (V8QImode);
34072 : #undef DONE
34073 : #undef FAIL
34074 : }
34075 : static const uint8_t expand_encoding[] = {
34076 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x0b, 0x4f, 0x81,
34077 : 0x09, 0x48, 0x1a, 0x48, 0x01, 0x01, 0x01, 0x82,
34078 : 0x00, 0x81, 0x0a, 0x48, 0x01, 0x02, 0x17, 0x00,
34079 : 0x08, 0x27, 0x00, 0x27, 0x01, 0x27, 0x02, 0x27,
34080 : 0x03, 0x27, 0x04, 0x27, 0x05, 0x27, 0x06, 0x27,
34081 : 0x07, 0x01, 0x03, 0x01, 0x04
34082 : };
34083 : return complete_seq (expand_encoding, operands);
34084 : }
34085 :
34086 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32947 */
34087 : rtx
34088 : gen_vpdpwsud_v16si_maskz (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
34089 : {
34090 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
34091 : start_sequence ();
34092 : {
34093 : #define FAIL return (end_sequence (), nullptr)
34094 : #define DONE return end_sequence ()
34095 : #line 32958 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
34096 : operands[5] = CONST0_RTX (V16SImode);
34097 : #undef DONE
34098 : #undef FAIL
34099 : }
34100 : static const uint8_t expand_encoding[] = {
34101 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x5b, 0x1a,
34102 : 0x5b, 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03,
34103 : 0x81, 0x6c, 0x01, 0x05, 0x01, 0x04
34104 : };
34105 : return complete_seq (expand_encoding, operands);
34106 : }
34107 :
34108 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:32947 */
34109 : rtx
34110 : gen_vpdpwusd_v4si_maskz (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
34111 : {
34112 : rtx operands[6] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
34113 : start_sequence ();
34114 : {
34115 : #define FAIL return (end_sequence (), nullptr)
34116 : #define DONE return end_sequence ()
34117 : #line 32958 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
34118 : operands[5] = CONST0_RTX (V4SImode);
34119 : #undef DONE
34120 : #undef FAIL
34121 : }
34122 : static const uint8_t expand_encoding[] = {
34123 : 0x01, 0x1f, 0x01, 0x00, 0x81, 0x09, 0x51, 0x1a,
34124 : 0x51, 0x03, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03,
34125 : 0x81, 0x6a, 0x01, 0x05, 0x01, 0x04
34126 : };
34127 : return complete_seq (expand_encoding, operands);
34128 : }
34129 :
34130 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33036 */
34131 : rtx
34132 : gen_sminv32bf3 (const rtx operand0, const rtx operand1, const rtx operand2)
34133 : {
34134 : rtx operands[3] ATTRIBUTE_UNUSED = { operand0, operand1, operand2 };
34135 : static const uint8_t expand_encoding[] = {
34136 : 0x1f, 0x01, 0x00, 0x52, 0x72, 0x01, 0x01, 0x01,
34137 : 0x02
34138 : };
34139 : return expand_rtx (expand_encoding, operands);
34140 : }
34141 :
34142 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md:33062 */
34143 : rtx
34144 : gen_avx10_2_fmaddbf16_v8bf_maskz (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
34145 : {
34146 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
34147 : start_sequence ();
34148 : {
34149 : #define FAIL return (end_sequence (), nullptr)
34150 : #define DONE return end_sequence ()
34151 : #line 33069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
34152 : {
34153 : emit_insn (gen_avx10_2_fmaddbf16_v8bf_maskz_1 (operands[0], operands[1],
34154 : operands[2], operands[3],
34155 : CONST0_RTX (V8BFmode),
34156 : operands[4]));
34157 : DONE;
34158 : }
34159 : #undef DONE
34160 : #undef FAIL
34161 : }
34162 : static const uint8_t expand_encoding[] = {
34163 : 0x05, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
34164 : 0x03, 0x01, 0x04
34165 : };
34166 : return complete_seq (expand_encoding, operands);
34167 : }
34168 :
34169 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md:48 */
34170 : rtx
34171 : gen_sse2_lfence (void)
34172 : {
34173 : rtx operands[1] ATTRIBUTE_UNUSED;
34174 : start_sequence ();
34175 : {
34176 : #define FAIL return (end_sequence (), nullptr)
34177 : #define DONE return end_sequence ()
34178 : #line 52 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
34179 : {
34180 : operands[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode));
34181 : MEM_VOLATILE_P (operands[0]) = 1;
34182 : }
34183 : #undef DONE
34184 : #undef FAIL
34185 : }
34186 : static const uint8_t expand_encoding[] = {
34187 : 0x01, 0x1f, 0x01, 0x00, 0x1a, 0x01, 0x01, 0x01,
34188 : 0x00, 0x82, 0x1c
34189 : };
34190 : return complete_seq (expand_encoding, operands);
34191 : }
34192 :
34193 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md:190 */
34194 : extern rtx_insn *gen_split_3920 (rtx_insn *, rtx *);
34195 : rtx_insn *
34196 : gen_split_3920 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
34197 : {
34198 : if (dump_file)
34199 : fprintf (dump_file, "Splitting with gen_split_3920 (sync.md:190)\n");
34200 : start_sequence ();
34201 : #define FAIL return (end_sequence (), nullptr)
34202 : #define DONE return end_sequence ()
34203 : #line 200 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
34204 : {
34205 : rtx dst = operands[0], src = operands[1];
34206 : rtx mem = operands[2], tmp = operands[3];
34207 :
34208 : if (SSE_REG_P (dst))
34209 : emit_move_insn (dst, src);
34210 : else
34211 : {
34212 : if (MEM_P (dst))
34213 : mem = dst;
34214 :
34215 : if (STACK_REG_P (tmp))
34216 : {
34217 : emit_insn (gen_loaddi_via_fpu (tmp, src));
34218 : emit_insn (gen_storedi_via_fpu (mem, tmp));
34219 : }
34220 : else
34221 : {
34222 : rtx tmpdi = gen_lowpart (DImode, tmp);
34223 :
34224 : emit_insn (gen_loaddi_via_sse (tmp, src));
34225 :
34226 : if (GENERAL_REG_P (dst)
34227 : && TARGET_SSE4_1 && TARGET_INTER_UNIT_MOVES_FROM_VEC)
34228 : {
34229 : emit_move_insn (dst, tmpdi);
34230 : DONE;
34231 : }
34232 : else
34233 : emit_move_insn (mem, tmpdi);
34234 : }
34235 :
34236 : if (mem != dst)
34237 : emit_move_insn (dst, mem);
34238 : }
34239 : DONE;
34240 : }
34241 : #undef DONE
34242 : #undef FAIL
34243 : static const uint8_t expand_encoding[] = {
34244 : 0x01, 0x27, 0x00
34245 : };
34246 : return complete_seq (expand_encoding, operands);
34247 : }
34248 :
34249 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md:424 */
34250 : rtx
34251 : gen_atomic_compare_and_swapti (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4, const rtx operand5, const rtx operand6, const rtx operand7)
34252 : {
34253 : rtx operands[8] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4, operand5, operand6, operand7 };
34254 : start_sequence ();
34255 : {
34256 : #define FAIL return (end_sequence (), nullptr)
34257 : #define DONE return end_sequence ()
34258 : #line 434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
34259 : {
34260 : int doubleword = !(TImode == DImode && TARGET_64BIT);
34261 : if (TARGET_RELAX_CMPXCHG_LOOP)
34262 : {
34263 : ix86_expand_cmpxchg_loop (&operands[0], operands[1], operands[2],
34264 : operands[3], operands[4], operands[6],
34265 : doubleword, NULL);
34266 : }
34267 : else
34268 : {
34269 : if (!doubleword)
34270 : {
34271 : emit_insn
34272 : (gen_atomic_compare_and_swapdi_1
34273 : (operands[1], operands[2], operands[3], operands[4], operands[6]));
34274 : }
34275 : else
34276 : {
34277 : machine_mode hmode = DImode;
34278 :
34279 : emit_insn
34280 : (gen_atomic_compare_and_swapti_doubleword
34281 : (operands[1], operands[2], operands[3],
34282 : gen_lowpart (hmode, operands[4]), gen_highpart (hmode, operands[4]),
34283 : operands[6]));
34284 : }
34285 :
34286 : ix86_expand_setcc (operands[0], EQ, gen_rtx_REG (CCZmode, FLAGS_REG),
34287 : const0_rtx);
34288 : }
34289 : DONE;
34290 : }
34291 : #undef DONE
34292 : #undef FAIL
34293 : }
34294 : static const uint8_t expand_encoding[] = {
34295 : 0x08, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
34296 : 0x03, 0x01, 0x04, 0x01, 0x05, 0x01, 0x06, 0x01,
34297 : 0x07
34298 : };
34299 : return complete_seq (expand_encoding, operands);
34300 : }
34301 :
34302 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md:573 */
34303 : rtx
34304 : gen_atomic_fetch_xorhi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
34305 : {
34306 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
34307 : start_sequence ();
34308 : {
34309 : #define FAIL return (end_sequence (), nullptr)
34310 : #define DONE return end_sequence ()
34311 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
34312 : {
34313 : ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
34314 : operands[2], XOR, false,
34315 : false);
34316 : DONE;
34317 : }
34318 : #undef DONE
34319 : #undef FAIL
34320 : }
34321 : static const uint8_t expand_encoding[] = {
34322 : 0x03, 0x01, 0x00, 0x4b, 0x10, 0x01, 0x01, 0x01,
34323 : 0x02, 0x01, 0x03
34324 : };
34325 : return complete_seq (expand_encoding, operands);
34326 : }
34327 :
34328 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md:587 */
34329 : rtx
34330 : gen_atomic_and_fetchsi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
34331 : {
34332 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
34333 : start_sequence ();
34334 : {
34335 : #define FAIL return (end_sequence (), nullptr)
34336 : #define DONE return end_sequence ()
34337 : #line 594 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
34338 : {
34339 : ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
34340 : operands[2], AND, true,
34341 : false);
34342 : DONE;
34343 : }
34344 : #undef DONE
34345 : #undef FAIL
34346 : }
34347 : static const uint8_t expand_encoding[] = {
34348 : 0x03, 0x01, 0x00, 0x49, 0x11, 0x01, 0x01, 0x01,
34349 : 0x02, 0x01, 0x03
34350 : };
34351 : return complete_seq (expand_encoding, operands);
34352 : }
34353 :
34354 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md:627 */
34355 : rtx
34356 : gen_atomic_fetch_ordi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
34357 : {
34358 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
34359 : start_sequence ();
34360 : {
34361 : #define FAIL return (end_sequence (), nullptr)
34362 : #define DONE return end_sequence ()
34363 : #line 634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
34364 : {
34365 : bool doubleword = (DImode == DImode && !TARGET_64BIT)
34366 : || (DImode == TImode);
34367 : ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
34368 : operands[2], IOR, false,
34369 : doubleword);
34370 : DONE;
34371 : }
34372 : #undef DONE
34373 : #undef FAIL
34374 : }
34375 : static const uint8_t expand_encoding[] = {
34376 : 0x03, 0x01, 0x00, 0x4a, 0x12, 0x01, 0x01, 0x01,
34377 : 0x02, 0x01, 0x03
34378 : };
34379 : return complete_seq (expand_encoding, operands);
34380 : }
34381 :
34382 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md:643 */
34383 : rtx
34384 : gen_atomic_xor_fetchti (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3)
34385 : {
34386 : rtx operands[4] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3 };
34387 : start_sequence ();
34388 : {
34389 : #define FAIL return (end_sequence (), nullptr)
34390 : #define DONE return end_sequence ()
34391 : #line 650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
34392 : {
34393 : bool doubleword = (TImode == DImode && !TARGET_64BIT)
34394 : || (TImode == TImode);
34395 : ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
34396 : operands[2], XOR, true,
34397 : doubleword);
34398 : DONE;
34399 : }
34400 : #undef DONE
34401 : #undef FAIL
34402 : }
34403 : static const uint8_t expand_encoding[] = {
34404 : 0x03, 0x01, 0x00, 0x4b, 0x13, 0x01, 0x01, 0x01,
34405 : 0x02, 0x01, 0x03
34406 : };
34407 : return complete_seq (expand_encoding, operands);
34408 : }
34409 :
34410 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md:738 */
34411 : extern rtx_insn *gen_peephole2_452 (rtx_insn *, rtx *);
34412 : rtx_insn *
34413 : gen_peephole2_452 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
34414 : {
34415 : if (dump_file)
34416 : fprintf (dump_file, "Splitting with gen_peephole2_452 (sync.md:738)\n");
34417 : start_sequence ();
34418 : static const uint8_t expand_encoding[] = {
34419 : 0x01, 0x17, 0x00, 0x02, 0x1f, 0x30, 0x0c, 0x11,
34420 : 0x3a, 0x0c, 0x1b, 0x10, 0x02, 0x01, 0x01, 0x01,
34421 : 0x04, 0x6e, 0x01, 0x03, 0x1f, 0x01, 0x01, 0x3b,
34422 : 0x10, 0x01, 0x01, 0x01, 0x02
34423 : };
34424 : return complete_seq (expand_encoding, operands);
34425 : }
34426 :
34427 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md:964 */
34428 : rtx
34429 : gen_atomic_bit_test_and_resetsi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
34430 : {
34431 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
34432 : start_sequence ();
34433 : {
34434 : #define FAIL return (end_sequence (), nullptr)
34435 : #define DONE return end_sequence ()
34436 : #line 971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
34437 : {
34438 : emit_insn (gen_atomic_bit_test_and_resetsi_1 (operands[1], operands[2],
34439 : operands[3]));
34440 : rtx tem = gen_reg_rtx (QImode);
34441 : ix86_expand_setcc (tem, EQ, gen_rtx_REG (CCCmode, FLAGS_REG), const0_rtx);
34442 : rtx result = convert_modes (SImode, QImode, tem, 1);
34443 : if (operands[4] == const0_rtx)
34444 : result = expand_simple_binop (SImode, ASHIFT, result,
34445 : operands[2], operands[0], 0, OPTAB_WIDEN);
34446 : if (result != operands[0])
34447 : emit_move_insn (operands[0], result);
34448 : DONE;
34449 : }
34450 : #undef DONE
34451 : #undef FAIL
34452 : }
34453 : static const uint8_t expand_encoding[] = {
34454 : 0x05, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01,
34455 : 0x03, 0x01, 0x04
34456 : };
34457 : return complete_seq (expand_encoding, operands);
34458 : }
34459 :
34460 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md:1074 */
34461 : rtx
34462 : gen_atomic_and_fetch_cmp_0qi (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
34463 : {
34464 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
34465 : start_sequence ();
34466 : {
34467 : #define FAIL return (end_sequence (), nullptr)
34468 : #define DONE return end_sequence ()
34469 : #line 1081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
34470 : {
34471 : emit_insn (gen_atomic_and_fetch_cmp_0qi_1 (operands[1], operands[2],
34472 : operands[3]));
34473 : ix86_expand_setcc (operands[0], (enum rtx_code) INTVAL (operands[4]),
34474 : gen_rtx_REG (CCNOmode, FLAGS_REG), const0_rtx);
34475 : DONE;
34476 : }
34477 : #undef DONE
34478 : #undef FAIL
34479 : }
34480 : static const uint8_t expand_encoding[] = {
34481 : 0x04, 0x01, 0x00, 0x49, 0x0f, 0x01, 0x01, 0x01,
34482 : 0x02, 0x01, 0x03, 0x01, 0x04
34483 : };
34484 : return complete_seq (expand_encoding, operands);
34485 : }
34486 :
34487 : /* /home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md:1074 */
34488 : rtx
34489 : gen_atomic_or_fetch_cmp_0di (const rtx operand0, const rtx operand1, const rtx operand2, const rtx operand3, const rtx operand4)
34490 : {
34491 : rtx operands[5] ATTRIBUTE_UNUSED = { operand0, operand1, operand2, operand3, operand4 };
34492 : start_sequence ();
34493 : {
34494 : #define FAIL return (end_sequence (), nullptr)
34495 : #define DONE return end_sequence ()
34496 : #line 1081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
34497 : {
34498 : emit_insn (gen_atomic_or_fetch_cmp_0di_1 (operands[1], operands[2],
34499 : operands[3]));
34500 : ix86_expand_setcc (operands[0], (enum rtx_code) INTVAL (operands[4]),
34501 : gen_rtx_REG (CCNOmode, FLAGS_REG), const0_rtx);
34502 : DONE;
34503 : }
34504 : #undef DONE
34505 : #undef FAIL
34506 : }
34507 : static const uint8_t expand_encoding[] = {
34508 : 0x04, 0x01, 0x00, 0x4a, 0x12, 0x01, 0x01, 0x01,
34509 : 0x02, 0x01, 0x03, 0x01, 0x04
34510 : };
34511 : return complete_seq (expand_encoding, operands);
34512 : }
34513 :
|