Line data Source code
1 : /* Generated automatically by the program `genrecog' from the target
2 : machine description file. */
3 :
4 : #define IN_TARGET_CODE 1
5 :
6 : #include "config.h"
7 : #include "system.h"
8 : #include "coretypes.h"
9 : #include "backend.h"
10 : #include "predict.h"
11 : #include "rtl.h"
12 : #include "memmodel.h"
13 : #include "tm_p.h"
14 : #include "emit-rtl.h"
15 : #include "insn-config.h"
16 : #include "recog.h"
17 : #include "output.h"
18 : #include "flags.h"
19 : #include "df.h"
20 : #include "resource.h"
21 : #include "diagnostic-core.h"
22 : #include "reload.h"
23 : #include "regs.h"
24 : #include "tm-constrs.h"
25 : #include "insn-recog.h"
26 :
27 :
28 : /* `recog' contains a decision tree that recognizes whether the rtx
29 : X0 is a valid instruction.
30 :
31 : recog returns -1 if the rtx is not valid. If the rtx is valid, recog
32 : returns a nonnegative number which is the insn code number for the
33 : pattern that matched. This is the same as the order in the machine
34 : description of the entry that matched. This number can be used as an
35 : index into `insn_data' and other tables.
36 : The third parameter to recog is an optional pointer to an int. If
37 : present, recog will accept a pattern if it matches except for missing
38 : CLOBBER expressions at the end. In that case, the value pointed to by
39 : the optional pointer will be set to the number of CLOBBERs that need
40 : to be added (it should be initialized to zero by the caller). If it is set nonzero, the caller should allocate a PARALLEL of the
41 : appropriate size, copy the initial entries, and call add_clobbers
42 : (found in insn-emit.cc) to fill in the CLOBBERs.
43 :
44 : The function split_insns returns 0 if the rtl could not
45 : be split or the split rtl as an INSN list if it can be.
46 :
47 : The function peephole2_insns returns 0 if the rtl could not
48 : be matched. If there was a match, the new rtl is returned in an INSN list,
49 : and LAST_INSN will point to the last recognized insn in the old sequence.
50 : */
51 :
52 :
53 :
54 :
55 : int
56 37995 : pattern0 (rtx x1)
57 : {
58 37995 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
59 37995 : int res ATTRIBUTE_UNUSED;
60 37995 : switch (GET_MODE (operands[0]))
61 : {
62 3832 : case E_QImode:
63 3832 : if (!nonimmediate_operand (operands[0], E_QImode)
64 3328 : || GET_MODE (x1) != E_QImode
65 7160 : || !nonimmediate_operand (operands[1], E_QImode))
66 846 : return -1;
67 : return 0;
68 :
69 2676 : case E_HImode:
70 2676 : if (!nonimmediate_operand (operands[0], E_HImode)
71 2676 : || GET_MODE (x1) != E_HImode
72 5352 : || !nonimmediate_operand (operands[1], E_HImode))
73 59 : return -1;
74 : return 1;
75 :
76 : default:
77 : return -1;
78 : }
79 : }
80 :
81 : int
82 24625 : pattern16 (rtx x1)
83 : {
84 24625 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
85 24625 : rtx x2, x3;
86 24625 : int res ATTRIBUTE_UNUSED;
87 24625 : x2 = XEXP (x1, 1);
88 24625 : x3 = XEXP (x2, 0);
89 24625 : operands[2] = x3;
90 24625 : if (!register_operand (operands[2], E_QImode))
91 : return -1;
92 21378 : return pattern15 (x1); /* [-1, 1] */
93 : }
94 :
95 : int
96 457138 : pattern19 (rtx x1)
97 : {
98 457138 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
99 457138 : rtx x2, x3;
100 457138 : int res ATTRIBUTE_UNUSED;
101 457138 : x2 = XEXP (x1, 0);
102 457138 : operands[1] = x2;
103 457138 : x3 = XEXP (x1, 1);
104 457138 : operands[2] = x3;
105 457138 : switch (GET_MODE (operands[0]))
106 : {
107 318836 : case E_DImode:
108 318836 : return pattern4 (x1,
109 318836 : E_DImode); /* [-1, 0] */
110 :
111 92273 : case E_SImode:
112 92273 : if (pattern4 (x1,
113 : E_SImode) != 0)
114 : return -1;
115 : return 1;
116 :
117 : default:
118 : return -1;
119 : }
120 : }
121 :
122 : int
123 974592 : pattern26 (rtx x1, machine_mode i1)
124 : {
125 974592 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
126 974592 : int res ATTRIBUTE_UNUSED;
127 974592 : if (!register_operand (operands[0], i1)
128 964691 : || GET_MODE (x1) != i1
129 964633 : || !vector_operand (operands[1], i1)
130 1852202 : || !vector_operand (operands[2], i1))
131 177769 : return -1;
132 : return 0;
133 : }
134 :
135 : int
136 3073142 : pattern30 (rtx x1)
137 : {
138 3073142 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
139 3073142 : rtx x2, x3, x4, x5;
140 3073142 : int res ATTRIBUTE_UNUSED;
141 3073142 : x2 = XEXP (x1, 0);
142 3073142 : operands[0] = x2;
143 3073142 : x3 = XEXP (x1, 1);
144 3073142 : x4 = XEXP (x3, 0);
145 3073142 : operands[1] = x4;
146 3073142 : x5 = XEXP (x3, 1);
147 3073142 : operands[2] = x5;
148 3073142 : switch (GET_MODE (operands[0]))
149 : {
150 2897 : case E_V16HImode:
151 2897 : if (!register_operand (operands[0], E_V16HImode)
152 2897 : || GET_MODE (x3) != E_V16HImode)
153 : return -1;
154 : return 0;
155 :
156 62665 : case E_V8HImode:
157 62665 : if (!register_operand (operands[0], E_V8HImode)
158 62665 : || GET_MODE (x3) != E_V8HImode)
159 : return -1;
160 : return 1;
161 :
162 14396 : case E_V8SImode:
163 14396 : if (!register_operand (operands[0], E_V8SImode)
164 14396 : || GET_MODE (x3) != E_V8SImode)
165 : return -1;
166 : return 2;
167 :
168 163679 : case E_V4SImode:
169 163679 : if (!register_operand (operands[0], E_V4SImode)
170 163679 : || GET_MODE (x3) != E_V4SImode)
171 : return -1;
172 : return 3;
173 :
174 13240 : case E_V4DImode:
175 13240 : if (!register_operand (operands[0], E_V4DImode)
176 13240 : || GET_MODE (x3) != E_V4DImode)
177 : return -1;
178 : return 4;
179 :
180 150816 : case E_V2DImode:
181 150816 : if (!register_operand (operands[0], E_V2DImode)
182 150816 : || GET_MODE (x3) != E_V2DImode)
183 : return -1;
184 : return 5;
185 :
186 1887 : case E_V32HImode:
187 1887 : if (!register_operand (operands[0], E_V32HImode)
188 1887 : || GET_MODE (x3) != E_V32HImode)
189 : return -1;
190 : return 6;
191 :
192 8967 : case E_V16SImode:
193 8967 : if (!register_operand (operands[0], E_V16SImode)
194 8967 : || GET_MODE (x3) != E_V16SImode)
195 : return -1;
196 : return 7;
197 :
198 5653 : case E_V8DImode:
199 5653 : if (!register_operand (operands[0], E_V8DImode)
200 5653 : || GET_MODE (x3) != E_V8DImode)
201 : return -1;
202 : return 8;
203 :
204 407799 : case E_V1TImode:
205 407799 : if (!register_operand (operands[0], E_V1TImode)
206 407799 : || GET_MODE (x3) != E_V1TImode)
207 : return -1;
208 : return 9;
209 :
210 110 : case E_V4TImode:
211 110 : if (!register_operand (operands[0], E_V4TImode)
212 110 : || GET_MODE (x3) != E_V4TImode
213 110 : || !nonimmediate_operand (operands[1], E_V4TImode)
214 220 : || !const_0_to_255_mul_8_operand (operands[2], E_SImode))
215 0 : return -1;
216 : return 10;
217 :
218 252 : case E_V2TImode:
219 252 : if (!register_operand (operands[0], E_V2TImode)
220 252 : || GET_MODE (x3) != E_V2TImode
221 504 : || !const_0_to_255_mul_8_operand (operands[2], E_SImode))
222 0 : return -1;
223 : return 11;
224 :
225 : default:
226 : return -1;
227 : }
228 : }
229 :
230 : int
231 208990 : pattern44 (rtx x1, int *pnum_clobbers)
232 : {
233 208990 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
234 208990 : rtx x2, x3, x4;
235 208990 : int res ATTRIBUTE_UNUSED;
236 208990 : if (pnum_clobbers == NULL)
237 : return -1;
238 208990 : x2 = XEXP (x1, 1);
239 208990 : x3 = XEXP (x2, 0);
240 208990 : if (GET_MODE (x3) != E_TImode)
241 : return -1;
242 7918 : x4 = XEXP (x1, 0);
243 7918 : operands[0] = x4;
244 7918 : return pattern43 (x2,
245 : E_DImode,
246 7918 : E_TImode); /* [-1, 0] */
247 : }
248 :
249 : int
250 239582 : pattern50 (rtx x1)
251 : {
252 239582 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
253 239582 : rtx x2, x3;
254 239582 : int res ATTRIBUTE_UNUSED;
255 239582 : x2 = XEXP (x1, 0);
256 239582 : operands[1] = x2;
257 239582 : x3 = XEXP (x1, 1);
258 239582 : operands[2] = x3;
259 239582 : return pattern49 (x1); /* [-1, 3] */
260 : }
261 :
262 : int
263 5563 : pattern53 (rtx x1)
264 : {
265 5563 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
266 5563 : rtx x2;
267 5563 : int res ATTRIBUTE_UNUSED;
268 5563 : x2 = XEXP (x1, 0);
269 5563 : operands[1] = x2;
270 5563 : switch (GET_MODE (operands[0]))
271 : {
272 2495 : case E_V16QImode:
273 2495 : if (!nonimmediate_operand (operands[0], E_V16QImode)
274 2495 : || GET_MODE (x1) != E_V16QImode)
275 : return -1;
276 2495 : switch (GET_MODE (operands[1]))
277 : {
278 236 : case E_V16SImode:
279 236 : if (!register_operand (operands[1], E_V16SImode))
280 : return -1;
281 : return 0;
282 :
283 2259 : case E_V16HImode:
284 2259 : if (!register_operand (operands[1], E_V16HImode))
285 : return -1;
286 : return 1;
287 :
288 : default:
289 : return -1;
290 : }
291 :
292 217 : case E_V16HImode:
293 217 : if (!nonimmediate_operand (operands[0], E_V16HImode)
294 217 : || GET_MODE (x1) != E_V16HImode
295 434 : || !register_operand (operands[1], E_V16SImode))
296 2 : return -1;
297 : return 2;
298 :
299 218 : case E_V8SImode:
300 218 : if (!nonimmediate_operand (operands[0], E_V8SImode)
301 218 : || GET_MODE (x1) != E_V8SImode
302 436 : || !register_operand (operands[1], E_V8DImode))
303 6 : return -1;
304 : return 3;
305 :
306 423 : case E_V8HImode:
307 423 : if (!nonimmediate_operand (operands[0], E_V8HImode)
308 423 : || GET_MODE (x1) != E_V8HImode)
309 : return -1;
310 423 : switch (GET_MODE (operands[1]))
311 : {
312 208 : case E_V8DImode:
313 208 : if (!register_operand (operands[1], E_V8DImode))
314 : return -1;
315 : return 4;
316 :
317 215 : case E_V8SImode:
318 215 : if (!register_operand (operands[1], E_V8SImode))
319 : return -1;
320 : return 5;
321 :
322 : default:
323 : return -1;
324 : }
325 :
326 1420 : case E_V32QImode:
327 1420 : if (!nonimmediate_operand (operands[0], E_V32QImode)
328 1420 : || GET_MODE (x1) != E_V32QImode
329 2840 : || !register_operand (operands[1], E_V32HImode))
330 14 : return -1;
331 : return 6;
332 :
333 209 : case E_V4SImode:
334 209 : if (!nonimmediate_operand (operands[0], E_V4SImode)
335 209 : || GET_MODE (x1) != E_V4SImode
336 418 : || !register_operand (operands[1], E_V4DImode))
337 6 : return -1;
338 : return 7;
339 :
340 : default:
341 : return -1;
342 : }
343 : }
344 :
345 : int
346 2910687 : pattern75 (rtx x1)
347 : {
348 2910687 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
349 2910687 : rtx x2, x3, x4, x5, x6;
350 2910687 : int res ATTRIBUTE_UNUSED;
351 2910687 : x2 = XEXP (x1, 1);
352 2910687 : switch (GET_CODE (x2))
353 : {
354 1299913 : case ASHIFT:
355 1299913 : if (GET_MODE (x2) != E_TImode)
356 : return -1;
357 1260658 : x3 = XEXP (x2, 0);
358 1260658 : if (GET_CODE (x3) != ZERO_EXTEND
359 1260318 : || GET_MODE (x3) != E_TImode)
360 : return -1;
361 1260318 : x4 = XEXP (x2, 1);
362 1260318 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 64]
363 1260318 : || !nonimmediate_operand (operands[0], E_TImode)
364 2519408 : || GET_MODE (x1) != E_TImode)
365 1228 : return -1;
366 1259090 : x5 = XEXP (x1, 0);
367 1259090 : if (GET_MODE (x5) != E_TImode
368 1259090 : || !nonimmediate_operand (operands[1], E_TImode)
369 2505064 : || !const_scalar_int_operand (operands[3], E_TImode))
370 13116 : return -1;
371 1245974 : x6 = XEXP (x3, 0);
372 1245974 : operands[2] = x6;
373 1245974 : if (!nonimmediate_operand (operands[2], E_DImode))
374 : return -1;
375 : return 0;
376 :
377 585595 : case ZERO_EXTEND:
378 585595 : x3 = XEXP (x2, 0);
379 585595 : operands[2] = x3;
380 585595 : switch (GET_MODE (operands[0]))
381 : {
382 569069 : case E_TImode:
383 569069 : if (!nonimmediate_operand (operands[0], E_TImode)
384 569069 : || GET_MODE (x1) != E_TImode)
385 : return -1;
386 569068 : x5 = XEXP (x1, 0);
387 569068 : if (GET_MODE (x5) != E_TImode
388 569068 : || !nonimmediate_operand (operands[1], E_TImode)
389 567416 : || !const_scalar_int_operand (operands[3], E_TImode)
390 567416 : || GET_MODE (x2) != E_TImode
391 1136484 : || !nonimmediate_operand (operands[2], E_DImode))
392 49661 : return -1;
393 : return 1;
394 :
395 14221 : case E_DImode:
396 14221 : if (!nonimmediate_operand (operands[0], E_DImode)
397 14221 : || GET_MODE (x1) != E_DImode)
398 : return -1;
399 14213 : x5 = XEXP (x1, 0);
400 14213 : if (GET_MODE (x5) != E_DImode
401 14213 : || !nonimmediate_operand (operands[1], E_DImode)
402 10230 : || !const_int_operand (operands[3], E_DImode)
403 4075 : || GET_MODE (x2) != E_DImode
404 18288 : || !nonimmediate_operand (operands[2], E_SImode))
405 10689 : return -1;
406 : return 2;
407 :
408 : default:
409 : return -1;
410 : }
411 :
412 : default:
413 : return -1;
414 : }
415 : }
416 :
417 : int
418 3193 : pattern103 (rtx x1, machine_mode i1)
419 : {
420 3193 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
421 3193 : rtx x2, x3, x4, x5, x6, x7;
422 3193 : int res ATTRIBUTE_UNUSED;
423 3193 : if (GET_MODE (x1) != i1)
424 : return -1;
425 440 : x2 = XEXP (x1, 0);
426 440 : if (GET_CODE (x2) != VEC_SELECT
427 284 : || GET_MODE (x2) != i1)
428 : return -1;
429 284 : x3 = XEXP (x2, 1);
430 284 : if (GET_CODE (x3) != PARALLEL
431 284 : || XVECLEN (x3, 0) != 1)
432 : return -1;
433 284 : x4 = XVECEXP (x3, 0, 0);
434 284 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
435 : return -1;
436 284 : x5 = XEXP (x1, 1);
437 284 : if (GET_CODE (x5) != VEC_SELECT
438 284 : || GET_MODE (x5) != i1)
439 : return -1;
440 284 : x6 = XEXP (x5, 1);
441 284 : if (GET_CODE (x6) != PARALLEL
442 284 : || XVECLEN (x6, 0) != 1)
443 : return -1;
444 284 : x7 = XVECEXP (x6, 0, 0);
445 284 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
446 0 : return -1;
447 : return 0;
448 : }
449 :
450 : int
451 48506 : pattern114 (rtx x1, int *pnum_clobbers)
452 : {
453 48506 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
454 48506 : rtx x2;
455 48506 : int res ATTRIBUTE_UNUSED;
456 48506 : switch (GET_MODE (operands[0]))
457 : {
458 10255 : case E_SImode:
459 10255 : if (!register_operand (operands[0], E_SImode)
460 10255 : || GET_MODE (x1) != E_SImode)
461 : return -1;
462 10085 : x2 = XEXP (x1, 0);
463 10085 : switch (GET_MODE (x2))
464 : {
465 7637 : case E_QImode:
466 7637 : if (!nonimmediate_operand (operands[1], E_QImode)
467 7637 : || !x86_64_general_operand (operands[2], E_QImode))
468 311 : return -1;
469 : return 0;
470 :
471 2448 : case E_HImode:
472 2448 : if (!nonimmediate_operand (operands[1], E_HImode)
473 2448 : || !x86_64_general_operand (operands[2], E_HImode))
474 151 : return -1;
475 : return 1;
476 :
477 : default:
478 : return -1;
479 : }
480 :
481 34352 : case E_DImode:
482 34352 : if (!register_operand (operands[0], E_DImode)
483 34352 : || GET_MODE (x1) != E_DImode)
484 : return -1;
485 34107 : x2 = XEXP (x1, 0);
486 34107 : switch (GET_MODE (x2))
487 : {
488 2426 : case E_QImode:
489 2426 : if (!nonimmediate_operand (operands[1], E_QImode)
490 2426 : || !x86_64_general_operand (operands[2], E_QImode))
491 148 : return -1;
492 : return 2;
493 :
494 634 : case E_HImode:
495 634 : if (!nonimmediate_operand (operands[1], E_HImode)
496 634 : || !x86_64_general_operand (operands[2], E_HImode))
497 133 : return -1;
498 : return 3;
499 :
500 31047 : case E_SImode:
501 31047 : if (pnum_clobbers == NULL
502 30395 : || !nonimmediate_operand (operands[1], E_SImode)
503 58888 : || !x86_64_general_operand (operands[2], E_SImode))
504 4005 : return -1;
505 : return 4;
506 :
507 : default:
508 : return -1;
509 : }
510 :
511 : default:
512 : return -1;
513 : }
514 : }
515 :
516 : int
517 24739 : pattern135 (rtx x1, machine_mode i1, machine_mode i2)
518 : {
519 24739 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
520 24739 : rtx x2;
521 24739 : int res ATTRIBUTE_UNUSED;
522 24739 : if (!register_operand (operands[0], i2)
523 24739 : || GET_MODE (x1) != i2)
524 : return -1;
525 23818 : x2 = XEXP (x1, 0);
526 23818 : if (GET_MODE (x2) != i2
527 23818 : || !nonimm_or_0_operand (operands[3], i2)
528 47126 : || !register_operand (operands[4], i1))
529 2889 : return -1;
530 : return 0;
531 : }
532 :
533 : int
534 1774 : pattern143 (rtx x1, machine_mode i1)
535 : {
536 1774 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
537 1774 : rtx x2;
538 1774 : int res ATTRIBUTE_UNUSED;
539 1774 : if (!register_operand (operands[0], i1)
540 1774 : || GET_MODE (x1) != i1)
541 : return -1;
542 1678 : x2 = XEXP (x1, 0);
543 1678 : if (GET_MODE (x2) != i1
544 1678 : || !nonimm_or_0_operand (operands[2], i1))
545 39 : return -1;
546 : return 0;
547 : }
548 :
549 : int
550 5558 : pattern150 (rtx x1)
551 : {
552 5558 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
553 5558 : rtx x2, x3, x4, x5, x6;
554 5558 : int res ATTRIBUTE_UNUSED;
555 5558 : x2 = XEXP (x1, 0);
556 5558 : x3 = XEXP (x2, 0);
557 5558 : operands[1] = x3;
558 5558 : x4 = XEXP (x2, 1);
559 5558 : operands[2] = x4;
560 5558 : x5 = XEXP (x1, 1);
561 5558 : operands[3] = x5;
562 5558 : x6 = XEXP (x1, 2);
563 5558 : operands[4] = x6;
564 5558 : switch (GET_CODE (operands[2]))
565 : {
566 2886 : case REG:
567 2886 : case SUBREG:
568 2886 : case MEM:
569 2886 : switch (GET_MODE (operands[0]))
570 : {
571 506 : case E_V16SImode:
572 506 : return pattern136 (x1,
573 : E_V16SImode,
574 506 : E_HImode); /* [-1, 0] */
575 :
576 506 : case E_V8SImode:
577 506 : if (pattern136 (x1,
578 : E_V8SImode,
579 : E_QImode) != 0)
580 : return -1;
581 : return 1;
582 :
583 398 : case E_V4SImode:
584 398 : if (pattern136 (x1,
585 : E_V4SImode,
586 : E_QImode) != 0)
587 : return -1;
588 : return 2;
589 :
590 534 : case E_V8DImode:
591 534 : if (pattern136 (x1,
592 : E_V8DImode,
593 : E_QImode) != 0)
594 : return -1;
595 : return 3;
596 :
597 534 : case E_V4DImode:
598 534 : if (pattern136 (x1,
599 : E_V4DImode,
600 : E_QImode) != 0)
601 : return -1;
602 : return 4;
603 :
604 408 : case E_V2DImode:
605 408 : if (pattern136 (x1,
606 : E_V2DImode,
607 : E_QImode) != 0)
608 : return -1;
609 : return 5;
610 :
611 : default:
612 : return -1;
613 : }
614 :
615 2556 : case CONST_INT:
616 2556 : if (!const_0_to_255_operand (operands[2], E_SImode))
617 : return -1;
618 2556 : switch (GET_MODE (operands[0]))
619 : {
620 452 : case E_V16SImode:
621 452 : if (pattern149 (x1,
622 : E_V16SImode,
623 : E_HImode) != 0)
624 : return -1;
625 : return 6;
626 :
627 434 : case E_V8SImode:
628 434 : if (pattern149 (x1,
629 : E_V8SImode,
630 : E_QImode) != 0)
631 : return -1;
632 : return 7;
633 :
634 350 : case E_V4SImode:
635 350 : if (pattern149 (x1,
636 : E_V4SImode,
637 : E_QImode) != 0)
638 : return -1;
639 : return 8;
640 :
641 506 : case E_V8DImode:
642 506 : if (pattern149 (x1,
643 : E_V8DImode,
644 : E_QImode) != 0)
645 : return -1;
646 : return 9;
647 :
648 452 : case E_V4DImode:
649 452 : if (pattern149 (x1,
650 : E_V4DImode,
651 : E_QImode) != 0)
652 : return -1;
653 : return 10;
654 :
655 362 : case E_V2DImode:
656 362 : if (pattern149 (x1,
657 : E_V2DImode,
658 : E_QImode) != 0)
659 : return -1;
660 : return 11;
661 :
662 : default:
663 : return -1;
664 : }
665 :
666 : default:
667 : return -1;
668 : }
669 : }
670 :
671 : int
672 405 : pattern165 (rtx x1, machine_mode i1)
673 : {
674 405 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
675 405 : rtx x2, x3, x4, x5;
676 405 : int res ATTRIBUTE_UNUSED;
677 405 : x2 = XEXP (x1, 1);
678 405 : if (GET_MODE (x2) != i1)
679 : return -1;
680 405 : x3 = XEXP (x1, 0);
681 405 : operands[0] = x3;
682 405 : if (!register_operand (operands[0], i1))
683 : return -1;
684 390 : x4 = XVECEXP (x2, 0, 0);
685 390 : operands[1] = x4;
686 390 : if (!register_operand (operands[1], i1))
687 : return -1;
688 316 : x5 = XVECEXP (x2, 0, 1);
689 316 : operands[2] = x5;
690 316 : if (!register_operand (operands[2], i1))
691 : return -1;
692 : return 0;
693 : }
694 :
695 : int
696 616 : pattern173 (rtx x1)
697 : {
698 616 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
699 616 : rtx x2, x3, x4, x5;
700 616 : int res ATTRIBUTE_UNUSED;
701 616 : x2 = XEXP (x1, 0);
702 616 : operands[0] = x2;
703 616 : x3 = XEXP (x1, 1);
704 616 : x4 = XVECEXP (x3, 0, 0);
705 616 : operands[1] = x4;
706 616 : x5 = XVECEXP (x3, 0, 1);
707 616 : operands[2] = x5;
708 616 : if (!const_0_to_255_operand (operands[2], E_SImode))
709 : return -1;
710 616 : switch (GET_MODE (operands[0]))
711 : {
712 206 : case E_V32BFmode:
713 206 : if (!register_operand (operands[0], E_V32BFmode)
714 188 : || GET_MODE (x3) != E_V32BFmode
715 394 : || !nonimmediate_operand (operands[1], E_V32BFmode))
716 33 : return -1;
717 : return 0;
718 :
719 206 : case E_V16BFmode:
720 206 : if (!register_operand (operands[0], E_V16BFmode)
721 188 : || GET_MODE (x3) != E_V16BFmode
722 394 : || !nonimmediate_operand (operands[1], E_V16BFmode))
723 33 : return -1;
724 : return 1;
725 :
726 204 : case E_V8BFmode:
727 204 : if (!register_operand (operands[0], E_V8BFmode)
728 186 : || GET_MODE (x3) != E_V8BFmode
729 390 : || !nonimmediate_operand (operands[1], E_V8BFmode))
730 33 : return -1;
731 : return 2;
732 :
733 : default:
734 : return -1;
735 : }
736 : }
737 :
738 : int
739 2316 : pattern187 (rtx x1)
740 : {
741 2316 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
742 2316 : rtx x2, x3, x4;
743 2316 : int res ATTRIBUTE_UNUSED;
744 2316 : x2 = XEXP (x1, 0);
745 2316 : x3 = XEXP (x2, 0);
746 2316 : operands[1] = x3;
747 2316 : x4 = XEXP (x1, 1);
748 2316 : operands[2] = x4;
749 2316 : switch (GET_MODE (operands[0]))
750 : {
751 410 : case E_V8HFmode:
752 410 : if (!register_operand (operands[0], E_V8HFmode)
753 410 : || GET_MODE (x1) != E_V8HFmode)
754 : return -1;
755 388 : switch (GET_MODE (x2))
756 : {
757 268 : case E_V4HFmode:
758 268 : if (!const0_operand (operands[2], E_V4HFmode))
759 : return -1;
760 268 : switch (GET_MODE (operands[1]))
761 : {
762 148 : case E_V4SImode:
763 148 : if (!vector_operand (operands[1], E_V4SImode))
764 : return -1;
765 : return 0;
766 :
767 120 : case E_V4DImode:
768 120 : if (!vector_operand (operands[1], E_V4DImode))
769 : return -1;
770 : return 1;
771 :
772 : default:
773 : return -1;
774 : }
775 :
776 120 : case E_V2HFmode:
777 120 : if (!vector_operand (operands[1], E_V2DImode)
778 120 : || !const0_operand (operands[2], E_V6HFmode))
779 2 : return -1;
780 : return 2;
781 :
782 : default:
783 : return -1;
784 : }
785 :
786 286 : case E_V4SFmode:
787 286 : if (pattern186 (x1,
788 : E_V2SFmode,
789 : E_V2DImode,
790 : E_V4SFmode) != 0)
791 : return -1;
792 : return 3;
793 :
794 : default:
795 : return -1;
796 : }
797 : }
798 :
799 : int
800 461457 : pattern200 (rtx x1, rtx_code i1)
801 : {
802 461457 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
803 461457 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
804 461457 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
805 461457 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
806 461457 : int res ATTRIBUTE_UNUSED;
807 461457 : x2 = XEXP (x1, 0);
808 461457 : x3 = XEXP (x2, 0);
809 461457 : if (GET_CODE (x3) != VEC_SELECT)
810 : return -1;
811 2409 : x4 = XEXP (x3, 1);
812 2409 : if (GET_CODE (x4) != PARALLEL)
813 : return -1;
814 2409 : x5 = XEXP (x1, 1);
815 2409 : if (GET_CODE (x5) != i1)
816 : return -1;
817 634 : x6 = XEXP (x5, 0);
818 634 : if (GET_CODE (x6) != VEC_SELECT)
819 : return -1;
820 626 : x7 = XEXP (x6, 1);
821 626 : if (GET_CODE (x7) != PARALLEL)
822 : return -1;
823 626 : x8 = XEXP (x3, 0);
824 626 : operands[1] = x8;
825 626 : x9 = XEXP (x6, 0);
826 626 : if (!rtx_equal_p (x9, operands[1]))
827 : return -1;
828 568 : switch (XVECLEN (x4, 0))
829 : {
830 180 : case 8:
831 180 : x10 = XVECEXP (x4, 0, 0);
832 180 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
833 : return -1;
834 180 : x11 = XVECEXP (x4, 0, 1);
835 180 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
836 : return -1;
837 180 : x12 = XVECEXP (x4, 0, 2);
838 180 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
839 : return -1;
840 180 : x13 = XVECEXP (x4, 0, 3);
841 180 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
842 : return -1;
843 180 : x14 = XVECEXP (x4, 0, 4);
844 180 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
845 : return -1;
846 180 : x15 = XVECEXP (x4, 0, 5);
847 180 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
848 : return -1;
849 180 : x16 = XVECEXP (x4, 0, 6);
850 180 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
851 : return -1;
852 180 : x17 = XVECEXP (x4, 0, 7);
853 180 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
854 180 : || XVECLEN (x7, 0) != 8)
855 : return -1;
856 180 : x18 = XVECEXP (x7, 0, 0);
857 180 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
858 : return -1;
859 180 : x19 = XVECEXP (x7, 0, 1);
860 180 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
861 : return -1;
862 180 : x20 = XVECEXP (x7, 0, 2);
863 180 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
864 : return -1;
865 180 : x21 = XVECEXP (x7, 0, 3);
866 180 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
867 : return -1;
868 180 : x22 = XVECEXP (x7, 0, 4);
869 180 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
870 : return -1;
871 180 : x23 = XVECEXP (x7, 0, 5);
872 180 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
873 : return -1;
874 180 : x24 = XVECEXP (x7, 0, 6);
875 180 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
876 : return -1;
877 180 : x25 = XVECEXP (x7, 0, 7);
878 180 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 15]
879 180 : || pattern199 (x1,
880 : E_V8QImode,
881 : E_V8HImode,
882 : E_V16QImode) != 0)
883 6 : return -1;
884 : return 0;
885 :
886 180 : case 4:
887 180 : x10 = XVECEXP (x4, 0, 0);
888 180 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
889 : return -1;
890 180 : x11 = XVECEXP (x4, 0, 1);
891 180 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
892 : return -1;
893 180 : x12 = XVECEXP (x4, 0, 2);
894 180 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
895 : return -1;
896 180 : x13 = XVECEXP (x4, 0, 3);
897 180 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
898 180 : || XVECLEN (x7, 0) != 4)
899 : return -1;
900 180 : x18 = XVECEXP (x7, 0, 0);
901 180 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
902 : return -1;
903 180 : x19 = XVECEXP (x7, 0, 1);
904 180 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
905 : return -1;
906 180 : x20 = XVECEXP (x7, 0, 2);
907 180 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
908 : return -1;
909 180 : x21 = XVECEXP (x7, 0, 3);
910 180 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
911 180 : || pattern199 (x1,
912 : E_V4HImode,
913 : E_V4SImode,
914 : E_V8HImode) != 0)
915 6 : return -1;
916 : return 1;
917 :
918 208 : case 2:
919 208 : x10 = XVECEXP (x4, 0, 0);
920 208 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
921 : return -1;
922 208 : x11 = XVECEXP (x4, 0, 1);
923 208 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 2]
924 208 : || XVECLEN (x7, 0) != 2)
925 : return -1;
926 208 : x18 = XVECEXP (x7, 0, 0);
927 208 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
928 : return -1;
929 208 : x19 = XVECEXP (x7, 0, 1);
930 208 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
931 208 : || pattern199 (x1,
932 : E_V2SImode,
933 : E_V2DImode,
934 : E_V4SImode) != 0)
935 18 : return -1;
936 : return 2;
937 :
938 : default:
939 : return -1;
940 : }
941 : }
942 :
943 : int
944 2561 : pattern230 (rtx x1)
945 : {
946 2561 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
947 2561 : rtx x2, x3, x4;
948 2561 : int res ATTRIBUTE_UNUSED;
949 2561 : x2 = XVECEXP (x1, 0, 1);
950 2561 : if (GET_CODE (x2) != CLOBBER)
951 : return -1;
952 2187 : x3 = XEXP (x2, 0);
953 2187 : if (GET_CODE (x3) != REG
954 2187 : || REGNO (x3) != 17
955 4374 : || GET_MODE (x3) != E_CCmode)
956 : return -1;
957 2187 : x4 = XVECEXP (x1, 0, 2);
958 2187 : if (GET_CODE (x4) != CLOBBER)
959 : return -1;
960 898 : return pattern229 (x1); /* [-1, 1] */
961 : }
962 :
963 : int
964 740 : pattern233 (rtx x1, machine_mode i1)
965 : {
966 740 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
967 740 : int res ATTRIBUTE_UNUSED;
968 740 : if (!register_operand (operands[0], i1)
969 740 : || GET_MODE (x1) != i1
970 740 : || !nonimmediate_operand (operands[1], i1)
971 1480 : || !register_operand (operands[2], i1))
972 0 : return -1;
973 : return 0;
974 : }
975 :
976 : int
977 634361 : pattern240 (rtx x1)
978 : {
979 634361 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
980 634361 : rtx x2, x3, x4, x5, x6, x7, x8;
981 634361 : int res ATTRIBUTE_UNUSED;
982 634361 : x2 = XEXP (x1, 1);
983 634361 : if (GET_MODE (x2) != E_QImode)
984 : return -1;
985 469595 : x3 = XEXP (x2, 0);
986 469595 : if (!ix86_comparison_operator (x3, E_VOIDmode))
987 : return -1;
988 1178 : operands[1] = x3;
989 1178 : x4 = XEXP (x3, 0);
990 1178 : if (GET_CODE (x4) != REG
991 1178 : || REGNO (x4) != 17)
992 : return -1;
993 550 : x5 = XEXP (x3, 1);
994 550 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
995 : return -1;
996 550 : x6 = XEXP (x2, 1);
997 550 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
998 : return -1;
999 0 : x7 = XEXP (x1, 0);
1000 0 : switch (GET_CODE (x7))
1001 : {
1002 0 : case REG:
1003 0 : case SUBREG:
1004 0 : case MEM:
1005 0 : operands[0] = x7;
1006 0 : if (!nonimmediate_operand (operands[0], E_QImode))
1007 : return -1;
1008 : return 0;
1009 :
1010 0 : case STRICT_LOW_PART:
1011 0 : x8 = XEXP (x7, 0);
1012 0 : operands[0] = x8;
1013 0 : if (!register_operand (operands[0], E_QImode))
1014 : return -1;
1015 : return 1;
1016 :
1017 : default:
1018 : return -1;
1019 : }
1020 : }
1021 :
1022 : int
1023 38848 : pattern255 (rtx x1)
1024 : {
1025 38848 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1026 38848 : rtx x2, x3;
1027 38848 : int res ATTRIBUTE_UNUSED;
1028 38848 : if (GET_CODE (x1) != VEC_SELECT)
1029 : return -1;
1030 2146 : x2 = XEXP (x1, 1);
1031 2146 : if (GET_CODE (x2) != PARALLEL
1032 2146 : || XVECLEN (x2, 0) != 1)
1033 : return -1;
1034 2146 : x3 = XVECEXP (x2, 0, 0);
1035 2146 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1036 38 : return -1;
1037 : return 0;
1038 : }
1039 :
1040 : int
1041 301674 : pattern264 ()
1042 : {
1043 301674 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1044 301674 : int res ATTRIBUTE_UNUSED;
1045 301674 : switch (GET_MODE (operands[1]))
1046 : {
1047 177 : case E_HFmode:
1048 177 : if (!nonimmediate_operand (operands[1], E_HFmode))
1049 : return -1;
1050 : return 0;
1051 :
1052 78127 : case E_SFmode:
1053 78127 : if (!nonimmediate_operand (operands[1], E_SFmode))
1054 : return -1;
1055 : return 1;
1056 :
1057 214330 : case E_DFmode:
1058 214330 : if (!nonimmediate_operand (operands[1], E_DFmode))
1059 : return -1;
1060 : return 2;
1061 :
1062 : default:
1063 : return -1;
1064 : }
1065 : }
1066 :
1067 : int
1068 39711 : pattern271 (rtx x1, int *pnum_clobbers)
1069 : {
1070 39711 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1071 39711 : rtx x2, x3;
1072 39711 : int res ATTRIBUTE_UNUSED;
1073 39711 : if (!nonmemory_operand (operands[2], E_QImode))
1074 : return -1;
1075 37190 : x2 = XEXP (x1, 0);
1076 37190 : switch (GET_CODE (x2))
1077 : {
1078 37186 : case REG:
1079 37186 : case SUBREG:
1080 37186 : case MEM:
1081 37186 : operands[0] = x2;
1082 37186 : x3 = XEXP (x1, 1);
1083 37186 : return pattern0 (x3); /* [-1, 1] */
1084 :
1085 4 : case STRICT_LOW_PART:
1086 4 : res = pattern267 (x1, pnum_clobbers);
1087 4 : if (res >= 0)
1088 4 : return res + 2; /* [2, 3] */
1089 : return -1;
1090 :
1091 : default:
1092 : return -1;
1093 : }
1094 : }
1095 :
1096 : int
1097 8899 : pattern284 (rtx x1, int *pnum_clobbers)
1098 : {
1099 8899 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1100 8899 : rtx x2;
1101 8899 : int res ATTRIBUTE_UNUSED;
1102 8899 : switch (GET_MODE (operands[0]))
1103 : {
1104 628 : case E_SImode:
1105 628 : return pattern283 (x1); /* [-1, 1] */
1106 :
1107 8075 : case E_DImode:
1108 8075 : if (!register_operand (operands[0], E_DImode)
1109 8075 : || GET_MODE (x1) != E_DImode)
1110 : return -1;
1111 8062 : x2 = XEXP (x1, 0);
1112 8062 : switch (GET_MODE (x2))
1113 : {
1114 1869 : case E_QImode:
1115 1869 : if (!nonimmediate_operand (operands[1], E_QImode))
1116 : return -1;
1117 : return 2;
1118 :
1119 53 : case E_HImode:
1120 53 : if (!nonimmediate_operand (operands[1], E_HImode))
1121 : return -1;
1122 : return 3;
1123 :
1124 6140 : case E_SImode:
1125 6140 : if (pnum_clobbers == NULL
1126 6140 : || !nonimmediate_operand (operands[1], E_SImode))
1127 1474 : return -1;
1128 : return 4;
1129 :
1130 : default:
1131 : return -1;
1132 : }
1133 :
1134 : default:
1135 : return -1;
1136 : }
1137 : }
1138 :
1139 : int
1140 47643 : pattern296 (rtx x1, machine_mode i1, machine_mode i2)
1141 : {
1142 47643 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1143 47643 : rtx x2;
1144 47643 : int res ATTRIBUTE_UNUSED;
1145 47643 : if (!register_operand (operands[0], i2)
1146 47643 : || GET_MODE (x1) != i2)
1147 : return -1;
1148 46540 : x2 = XEXP (x1, 0);
1149 46540 : if (GET_MODE (x2) != i1
1150 46540 : || !register_operand (operands[1], i1))
1151 1618 : return -1;
1152 : return 0;
1153 : }
1154 :
1155 : int
1156 734 : pattern301 (rtx x1)
1157 : {
1158 734 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1159 734 : rtx x2, x3, x4;
1160 734 : int res ATTRIBUTE_UNUSED;
1161 734 : if (GET_MODE (x1) != E_SImode)
1162 : return -1;
1163 734 : x2 = XVECEXP (x1, 0, 0);
1164 734 : if (!ix86_comparison_operator (x2, E_QImode))
1165 : return -1;
1166 650 : operands[1] = x2;
1167 650 : x3 = XEXP (x2, 0);
1168 650 : if (GET_CODE (x3) != REG
1169 650 : || REGNO (x3) != 17)
1170 : return -1;
1171 650 : x4 = XEXP (x2, 1);
1172 650 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1173 : return -1;
1174 : return 0;
1175 : }
1176 :
1177 : int
1178 39192 : pattern308 (rtx x1)
1179 : {
1180 39192 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1181 39192 : rtx x2, x3, x4;
1182 39192 : int res ATTRIBUTE_UNUSED;
1183 39192 : if (GET_MODE (x1) != E_DImode
1184 39192 : || !register_operand (operands[0], E_DImode))
1185 38762 : return -1;
1186 430 : x2 = XVECEXP (x1, 0, 0);
1187 430 : operands[1] = x2;
1188 430 : if (!register_operand (operands[1], E_DImode))
1189 : return -1;
1190 415 : x3 = XVECEXP (x1, 0, 1);
1191 415 : operands[2] = x3;
1192 415 : if (!register_mmxmem_operand (operands[2], E_DImode))
1193 : return -1;
1194 406 : x4 = XVECEXP (x1, 0, 2);
1195 406 : operands[3] = x4;
1196 406 : if (!const_0_to_255_mul_8_operand (operands[3], E_SImode))
1197 : return -1;
1198 : return 0;
1199 : }
1200 :
1201 : int
1202 8 : pattern316 (rtx x1, machine_mode i1)
1203 : {
1204 8 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1205 8 : rtx x2, x3;
1206 8 : int res ATTRIBUTE_UNUSED;
1207 8 : if (!register_operand (operands[0], i1)
1208 8 : || GET_MODE (x1) != i1)
1209 : return -1;
1210 8 : x2 = XEXP (x1, 0);
1211 8 : if (GET_MODE (x2) != i1)
1212 : return -1;
1213 8 : x3 = XEXP (x2, 0);
1214 8 : if (GET_MODE (x3) != E_DImode
1215 8 : || !const0_operand (operands[2], i1))
1216 0 : return -1;
1217 8 : switch (GET_MODE (operands[1]))
1218 : {
1219 4 : case E_HImode:
1220 4 : if (!nonimmediate_operand (operands[1], E_HImode))
1221 : return -1;
1222 : return 0;
1223 :
1224 4 : case E_SImode:
1225 4 : if (!nonimmediate_operand (operands[1], E_SImode))
1226 : return -1;
1227 : return 1;
1228 :
1229 : default:
1230 : return -1;
1231 : }
1232 : }
1233 :
1234 : int
1235 0 : pattern324 (rtx x1, machine_mode i1)
1236 : {
1237 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1238 0 : int res ATTRIBUTE_UNUSED;
1239 0 : if (!register_operand (operands[0], i1)
1240 0 : || GET_MODE (x1) != i1
1241 0 : || !float_vector_all_ones_operand (operands[1], i1)
1242 0 : || !const0_operand (operands[2], i1)
1243 0 : || !register_operand (operands[3], i1)
1244 0 : || !nonimmediate_operand (operands[4], i1))
1245 0 : return -1;
1246 : return 0;
1247 : }
1248 :
1249 : int
1250 748 : pattern331 (rtx x1)
1251 : {
1252 748 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1253 748 : rtx x2;
1254 748 : int res ATTRIBUTE_UNUSED;
1255 748 : x2 = XVECEXP (x1, 0, 0);
1256 748 : operands[1] = x2;
1257 748 : switch (GET_MODE (operands[0]))
1258 : {
1259 272 : case E_V16SImode:
1260 272 : if (!register_operand (operands[0], E_V16SImode)
1261 256 : || GET_MODE (x1) != E_V16SImode
1262 528 : || !vector_operand (operands[1], E_V16SFmode))
1263 24 : return -1;
1264 : return 0;
1265 :
1266 244 : case E_V8SImode:
1267 244 : if (!register_operand (operands[0], E_V8SImode)
1268 228 : || GET_MODE (x1) != E_V8SImode
1269 472 : || !vector_operand (operands[1], E_V8SFmode))
1270 20 : return -1;
1271 : return 1;
1272 :
1273 232 : case E_V4SImode:
1274 232 : if (!register_operand (operands[0], E_V4SImode)
1275 228 : || GET_MODE (x1) != E_V4SImode
1276 460 : || !vector_operand (operands[1], E_V4SFmode))
1277 8 : return -1;
1278 : return 2;
1279 :
1280 : default:
1281 : return -1;
1282 : }
1283 : }
1284 :
1285 : int
1286 21031 : pattern334 (rtx x1)
1287 : {
1288 21031 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1289 21031 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1290 21031 : int res ATTRIBUTE_UNUSED;
1291 21031 : x2 = XEXP (x1, 0);
1292 21031 : x3 = XEXP (x2, 0);
1293 21031 : if (GET_CODE (x3) != VEC_SELECT)
1294 : return -1;
1295 7473 : x4 = XEXP (x3, 1);
1296 7473 : if (GET_CODE (x4) != PARALLEL)
1297 : return -1;
1298 7473 : x5 = XEXP (x1, 1);
1299 7473 : if (GET_CODE (x5) != SIGN_EXTEND)
1300 : return -1;
1301 7323 : x6 = XEXP (x5, 0);
1302 7323 : if (GET_CODE (x6) != VEC_SELECT)
1303 : return -1;
1304 7323 : x7 = XEXP (x6, 1);
1305 7323 : if (GET_CODE (x7) != PARALLEL)
1306 : return -1;
1307 7323 : x8 = XEXP (x3, 0);
1308 7323 : operands[1] = x8;
1309 7323 : x9 = XEXP (x6, 0);
1310 7323 : operands[2] = x9;
1311 7323 : return 0;
1312 : }
1313 :
1314 : int
1315 190 : pattern339 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
1316 : {
1317 190 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1318 190 : rtx x2, x3, x4, x5, x6, x7;
1319 190 : int res ATTRIBUTE_UNUSED;
1320 190 : if (!register_operand (operands[0], i2)
1321 190 : || GET_MODE (x1) != i2)
1322 : return -1;
1323 182 : x2 = XEXP (x1, 0);
1324 182 : if (GET_MODE (x2) != i2)
1325 : return -1;
1326 182 : x3 = XEXP (x2, 0);
1327 182 : if (GET_MODE (x3) != i2)
1328 : return -1;
1329 182 : x4 = XEXP (x3, 0);
1330 182 : if (GET_MODE (x4) != i1
1331 182 : || !nonimmediate_operand (operands[1], i3))
1332 0 : return -1;
1333 182 : x5 = XEXP (x2, 1);
1334 182 : if (GET_MODE (x5) != i2)
1335 : return -1;
1336 182 : x6 = XEXP (x5, 0);
1337 182 : if (GET_MODE (x6) != i1)
1338 : return -1;
1339 182 : x7 = XEXP (x1, 1);
1340 182 : return pattern338 (x7,
1341 : i1,
1342 182 : i2); /* [-1, 0] */
1343 : }
1344 :
1345 : int
1346 22155 : pattern343 (rtx x1)
1347 : {
1348 22155 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1349 22155 : rtx x2, x3, x4, x5, x6;
1350 22155 : int res ATTRIBUTE_UNUSED;
1351 22155 : x2 = XEXP (x1, 0);
1352 22155 : operands[0] = x2;
1353 22155 : x3 = XEXP (x1, 1);
1354 22155 : x4 = XEXP (x3, 1);
1355 22155 : x5 = XEXP (x4, 0);
1356 22155 : operands[2] = x5;
1357 22155 : if (!register_operand (operands[2], E_QImode))
1358 : return -1;
1359 19214 : x6 = XEXP (x4, 1);
1360 19214 : operands[3] = x6;
1361 19214 : if (!const_int_operand (operands[3], E_QImode))
1362 : return -1;
1363 18424 : return pattern342 (x3); /* [-1, 1] */
1364 : }
1365 :
1366 : int
1367 30520663 : pattern346 (rtx x1)
1368 : {
1369 30520663 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1370 30520663 : rtx x2, x3, x4, x5;
1371 30520663 : int res ATTRIBUTE_UNUSED;
1372 30520663 : x2 = XVECEXP (x1, 0, 1);
1373 30520663 : if (GET_CODE (x2) != CLOBBER)
1374 : return -1;
1375 29682110 : x3 = XEXP (x2, 0);
1376 29682110 : if (GET_CODE (x3) != REG
1377 29677440 : || REGNO (x3) != 17
1378 56716272 : || GET_MODE (x3) != E_CCmode)
1379 : return -1;
1380 27019136 : x4 = XVECEXP (x1, 0, 0);
1381 27019136 : x5 = XEXP (x4, 0);
1382 27019136 : operands[0] = x5;
1383 27019136 : return 0;
1384 : }
1385 :
1386 : int
1387 3726 : pattern350 (rtx x1)
1388 : {
1389 3726 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1390 3726 : rtx x2, x3, x4, x5;
1391 3726 : int res ATTRIBUTE_UNUSED;
1392 3726 : x2 = XVECEXP (x1, 0, 1);
1393 3726 : if (GET_CODE (x2) != CLOBBER)
1394 : return -1;
1395 2908 : x3 = XEXP (x2, 0);
1396 2908 : if (GET_CODE (x3) != REG
1397 2908 : || REGNO (x3) != 17
1398 5816 : || GET_MODE (x3) != E_CCmode)
1399 : return -1;
1400 2908 : x4 = XVECEXP (x1, 0, 0);
1401 2908 : x5 = XEXP (x4, 0);
1402 2908 : operands[0] = x5;
1403 2908 : return 0;
1404 : }
1405 :
1406 : int
1407 21839 : pattern353 (rtx x1)
1408 : {
1409 21839 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1410 21839 : rtx x2;
1411 21839 : int res ATTRIBUTE_UNUSED;
1412 21839 : switch (GET_MODE (operands[0]))
1413 : {
1414 73 : case E_HImode:
1415 73 : return pattern352 (x1,
1416 : E_QImode,
1417 73 : E_HImode); /* [-1, 0] */
1418 :
1419 1396 : case E_SImode:
1420 1396 : if (!register_operand (operands[0], E_SImode)
1421 1396 : || GET_MODE (x1) != E_SImode)
1422 : return -1;
1423 1396 : x2 = XEXP (x1, 0);
1424 1396 : switch (GET_MODE (x2))
1425 : {
1426 1032 : case E_QImode:
1427 1032 : if (!nonimmediate_operand (operands[1], E_QImode))
1428 : return -1;
1429 : return 1;
1430 :
1431 364 : case E_HImode:
1432 364 : if (!nonimmediate_operand (operands[1], E_HImode))
1433 : return -1;
1434 : return 2;
1435 :
1436 : default:
1437 : return -1;
1438 : }
1439 :
1440 20370 : case E_DImode:
1441 20370 : if (!register_operand (operands[0], E_DImode)
1442 20370 : || GET_MODE (x1) != E_DImode)
1443 : return -1;
1444 20370 : x2 = XEXP (x1, 0);
1445 20370 : switch (GET_MODE (x2))
1446 : {
1447 460 : case E_QImode:
1448 460 : if (!nonimmediate_operand (operands[1], E_QImode))
1449 : return -1;
1450 : return 3;
1451 :
1452 51 : case E_HImode:
1453 51 : if (!nonimmediate_operand (operands[1], E_HImode))
1454 : return -1;
1455 : return 4;
1456 :
1457 19859 : case E_SImode:
1458 19859 : if (!nonimmediate_operand (operands[1], E_SImode))
1459 : return -1;
1460 : return 5;
1461 :
1462 : default:
1463 : return -1;
1464 : }
1465 :
1466 : default:
1467 : return -1;
1468 : }
1469 : }
1470 :
1471 : int
1472 24488 : pattern365 (rtx x1)
1473 : {
1474 24488 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1475 24488 : rtx x2, x3, x4, x5, x6;
1476 24488 : int res ATTRIBUTE_UNUSED;
1477 24488 : x2 = XEXP (x1, 0);
1478 24488 : operands[0] = x2;
1479 24488 : x3 = XEXP (x1, 1);
1480 24488 : x4 = XEXP (x3, 0);
1481 24488 : x5 = XEXP (x4, 0);
1482 24488 : operands[2] = x5;
1483 24488 : if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
1484 : return -1;
1485 4779 : x6 = XEXP (x3, 1);
1486 4779 : operands[1] = x6;
1487 4779 : switch (GET_MODE (operands[0]))
1488 : {
1489 43 : case E_QImode:
1490 43 : return pattern363 (x3,
1491 43 : E_QImode); /* [-1, 0] */
1492 :
1493 17 : case E_HImode:
1494 17 : if (pattern363 (x3,
1495 : E_HImode) != 0)
1496 : return -1;
1497 : return 1;
1498 :
1499 2813 : case E_SImode:
1500 2813 : if (pattern364 (x3,
1501 : E_SImode) != 0)
1502 : return -1;
1503 : return 2;
1504 :
1505 1906 : case E_DImode:
1506 1906 : if (pattern364 (x3,
1507 : E_DImode) != 0)
1508 : return -1;
1509 : return 3;
1510 :
1511 : default:
1512 : return -1;
1513 : }
1514 : }
1515 :
1516 : int
1517 264 : pattern374 (rtx x1, machine_mode i1)
1518 : {
1519 264 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1520 264 : rtx x2;
1521 264 : int res ATTRIBUTE_UNUSED;
1522 264 : if (!register_operand (operands[0], i1)
1523 264 : || GET_MODE (x1) != i1)
1524 : return -1;
1525 230 : x2 = XEXP (x1, 0);
1526 230 : if (GET_MODE (x2) != i1
1527 230 : || !register_operand (operands[3], i1))
1528 182 : return -1;
1529 : return 0;
1530 : }
1531 :
1532 : int
1533 304637 : pattern377 (rtx x1)
1534 : {
1535 304637 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1536 304637 : rtx x2;
1537 304637 : int res ATTRIBUTE_UNUSED;
1538 304637 : if (GET_CODE (x1) != CLOBBER)
1539 : return -1;
1540 292290 : x2 = XEXP (x1, 0);
1541 292290 : if (GET_CODE (x2) != REG
1542 292290 : || REGNO (x2) != 17
1543 584580 : || GET_MODE (x2) != E_CCmode)
1544 0 : return -1;
1545 : return 0;
1546 : }
1547 :
1548 : int
1549 735 : pattern382 (rtx x1)
1550 : {
1551 735 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1552 735 : rtx x2, x3, x4, x5, x6, x7, x8;
1553 735 : int res ATTRIBUTE_UNUSED;
1554 735 : x2 = XVECEXP (x1, 0, 0);
1555 735 : x3 = XEXP (x2, 0);
1556 735 : operands[0] = x3;
1557 735 : x4 = XEXP (x2, 1);
1558 735 : x5 = XEXP (x4, 0);
1559 735 : x6 = XEXP (x5, 0);
1560 735 : operands[1] = x6;
1561 735 : x7 = XVECEXP (x1, 0, 1);
1562 735 : switch (GET_CODE (x7))
1563 : {
1564 498 : case CLOBBER:
1565 498 : x8 = XEXP (x7, 0);
1566 498 : if (GET_CODE (x8) != REG
1567 498 : || REGNO (x8) != 17
1568 993 : || GET_MODE (x8) != E_CCmode)
1569 : return -1;
1570 495 : switch (GET_MODE (operands[0]))
1571 : {
1572 16 : case E_DImode:
1573 16 : return pattern381 (x4,
1574 16 : E_DImode); /* [-1, 0] */
1575 :
1576 0 : case E_TImode:
1577 0 : if (pattern381 (x4,
1578 : E_TImode) != 0)
1579 : return -1;
1580 : return 1;
1581 :
1582 0 : case E_QImode:
1583 0 : if (pattern381 (x4,
1584 : E_QImode) != 0)
1585 : return -1;
1586 : return 2;
1587 :
1588 0 : case E_HImode:
1589 0 : if (pattern381 (x4,
1590 : E_HImode) != 0)
1591 : return -1;
1592 : return 3;
1593 :
1594 177 : case E_SImode:
1595 177 : if (pattern381 (x4,
1596 : E_SImode) != 0)
1597 : return -1;
1598 : return 4;
1599 :
1600 : default:
1601 : return -1;
1602 : }
1603 :
1604 5 : case USE:
1605 5 : x8 = XEXP (x7, 0);
1606 5 : operands[2] = x8;
1607 5 : return 5;
1608 :
1609 : default:
1610 : return -1;
1611 : }
1612 : }
1613 :
1614 : int
1615 129965 : pattern399 (rtx x1, int i1)
1616 : {
1617 129965 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1618 129965 : rtx x2;
1619 129965 : int res ATTRIBUTE_UNUSED;
1620 129965 : if (XINT (x1, 1) != i1
1621 275 : || GET_MODE (x1) != E_SImode)
1622 : return -1;
1623 275 : x2 = XVECEXP (x1, 0, 1);
1624 275 : if (GET_CODE (x2) != REG
1625 267 : || REGNO (x2) != 20
1626 518 : || GET_MODE (x2) != E_V2DImode)
1627 32 : return -1;
1628 : return 0;
1629 : }
1630 :
1631 : int
1632 0 : pattern405 (rtx x1)
1633 : {
1634 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1635 0 : rtx x2, x3, x4;
1636 0 : int res ATTRIBUTE_UNUSED;
1637 0 : x2 = XEXP (x1, 1);
1638 0 : x3 = XEXP (x2, 0);
1639 0 : x4 = XEXP (x3, 0);
1640 0 : operands[2] = x4;
1641 0 : switch (GET_MODE (operands[0]))
1642 : {
1643 0 : case E_DImode:
1644 0 : return pattern404 (x1,
1645 : E_SImode,
1646 0 : E_DImode); /* [-1, 0] */
1647 :
1648 0 : case E_TImode:
1649 0 : if (pattern404 (x1,
1650 : E_DImode,
1651 : E_TImode) != 0)
1652 : return -1;
1653 : return 1;
1654 :
1655 : default:
1656 : return -1;
1657 : }
1658 : }
1659 :
1660 : int
1661 18 : pattern415 (rtx x1, machine_mode i1, machine_mode i2)
1662 : {
1663 18 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1664 18 : rtx x2, x3, x4, x5, x6, x7;
1665 18 : int res ATTRIBUTE_UNUSED;
1666 18 : x2 = XEXP (x1, 0);
1667 18 : x3 = XEXP (x2, 0);
1668 18 : x4 = XEXP (x3, 1);
1669 18 : x5 = XVECEXP (x4, 0, 0);
1670 18 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1671 : return -1;
1672 18 : x6 = XVECEXP (x4, 0, 1);
1673 18 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
1674 18 : || !register_operand (operands[0], E_V2DImode)
1675 12 : || GET_MODE (x1) != E_V2DImode
1676 12 : || GET_MODE (x2) != E_V2DImode
1677 30 : || GET_MODE (x3) != i2)
1678 6 : return -1;
1679 12 : x7 = XEXP (x3, 0);
1680 12 : if (GET_MODE (x7) != i1
1681 12 : || !nonimm_or_0_operand (operands[2], E_V2DImode))
1682 0 : return -1;
1683 : return 0;
1684 : }
1685 :
1686 : int
1687 26320 : pattern419 (rtx x1, machine_mode i1)
1688 : {
1689 26320 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1690 26320 : int res ATTRIBUTE_UNUSED;
1691 26320 : if (!register_operand (operands[0], i1)
1692 26320 : || GET_MODE (x1) != i1)
1693 : return -1;
1694 26320 : switch (GET_MODE (operands[1]))
1695 : {
1696 7336 : case E_SFmode:
1697 7336 : if (!memory_operand (operands[1], E_SFmode))
1698 : return -1;
1699 : return 0;
1700 :
1701 18967 : case E_DFmode:
1702 18967 : if (!memory_operand (operands[1], E_DFmode))
1703 : return -1;
1704 : return 1;
1705 :
1706 : default:
1707 : return -1;
1708 : }
1709 : }
1710 :
1711 : int
1712 152823 : pattern425 (rtx x1, machine_mode i1, rtx_code i2)
1713 : {
1714 152823 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1715 152823 : rtx x2, x3, x4;
1716 152823 : int res ATTRIBUTE_UNUSED;
1717 152823 : if (GET_CODE (x1) != i2)
1718 : return -1;
1719 49518 : x2 = XEXP (x1, 0);
1720 49518 : if (GET_CODE (x2) != LTU)
1721 : return -1;
1722 45164 : x3 = XEXP (x2, 0);
1723 45164 : if (GET_CODE (x3) != REG
1724 40472 : || REGNO (x3) != 17
1725 65474 : || GET_MODE (x3) != i1)
1726 : return -1;
1727 20073 : x4 = XEXP (x2, 1);
1728 20073 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1729 0 : return -1;
1730 : return 0;
1731 : }
1732 :
1733 : int
1734 5907 : pattern432 (rtx x1, machine_mode i1)
1735 : {
1736 5907 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1737 5907 : rtx x2;
1738 5907 : int res ATTRIBUTE_UNUSED;
1739 5907 : if (!register_operand (operands[0], i1)
1740 5907 : || GET_MODE (x1) != i1)
1741 : return -1;
1742 5222 : x2 = XEXP (x1, 0);
1743 5222 : if (GET_MODE (x2) != i1
1744 5222 : || !register_no_SP_operand (operands[1], i1)
1745 4878 : || !register_operand (operands[2], i1)
1746 9715 : || !immediate_operand (operands[3], i1))
1747 4043 : return -1;
1748 : return 0;
1749 : }
1750 :
1751 : int
1752 119 : pattern439 (rtx x1, machine_mode i1)
1753 : {
1754 119 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1755 119 : rtx x2;
1756 119 : int res ATTRIBUTE_UNUSED;
1757 119 : if (!nonimmediate_operand (operands[0], i1)
1758 119 : || GET_MODE (x1) != i1
1759 238 : || !general_operand (operands[1], i1))
1760 0 : return -1;
1761 119 : x2 = XEXP (x1, 1);
1762 119 : if (GET_MODE (x2) != i1)
1763 : return -1;
1764 : return 0;
1765 : }
1766 :
1767 : int
1768 7588 : pattern446 (rtx x1, rtx_code i1)
1769 : {
1770 7588 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1771 7588 : rtx x2, x3, x4, x5, x6;
1772 7588 : int res ATTRIBUTE_UNUSED;
1773 7588 : x2 = XEXP (x1, 1);
1774 7588 : if (maybe_ne (SUBREG_BYTE (x2), 0))
1775 : return -1;
1776 7588 : x3 = XEXP (x2, 0);
1777 7588 : if (GET_CODE (x3) != i1)
1778 : return -1;
1779 1002 : x4 = XEXP (x3, 0);
1780 1002 : if (GET_CODE (x4) != ZERO_EXTEND)
1781 : return -1;
1782 928 : switch (GET_MODE (operands[0]))
1783 : {
1784 828 : case E_DImode:
1785 828 : if (GET_MODE (x1) != E_DImode)
1786 : return -1;
1787 828 : x5 = XEXP (x1, 0);
1788 828 : if (GET_MODE (x5) != E_DImode)
1789 : return -1;
1790 828 : x6 = XEXP (x5, 1);
1791 828 : if (!const_0_to_63_operand (x6, E_QImode))
1792 : return -1;
1793 : return 0;
1794 :
1795 100 : case E_SImode:
1796 100 : if (GET_MODE (x1) != E_SImode)
1797 : return -1;
1798 100 : x5 = XEXP (x1, 0);
1799 100 : if (GET_MODE (x5) != E_SImode)
1800 : return -1;
1801 100 : x6 = XEXP (x5, 1);
1802 100 : if (!const_0_to_31_operand (x6, E_QImode))
1803 : return -1;
1804 : return 1;
1805 :
1806 : default:
1807 : return -1;
1808 : }
1809 : }
1810 :
1811 : int
1812 1091 : pattern459 (rtx x1)
1813 : {
1814 1091 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1815 1091 : rtx x2, x3, x4;
1816 1091 : int res ATTRIBUTE_UNUSED;
1817 1091 : x2 = XEXP (x1, 1);
1818 1091 : if (GET_CODE (x2) != PARALLEL
1819 1091 : || XVECLEN (x2, 0) != 1)
1820 : return -1;
1821 965 : x3 = XVECEXP (x2, 0, 0);
1822 965 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1823 : return -1;
1824 965 : x4 = XEXP (x1, 0);
1825 965 : operands[1] = x4;
1826 965 : switch (GET_MODE (operands[0]))
1827 : {
1828 : case E_SImode:
1829 : return 0;
1830 :
1831 500 : case E_DImode:
1832 500 : return 1;
1833 :
1834 : default:
1835 : return -1;
1836 : }
1837 : }
1838 :
1839 : int
1840 3914 : pattern463 (rtx x1)
1841 : {
1842 3914 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1843 3914 : rtx x2, x3, x4, x5, x6;
1844 3914 : int res ATTRIBUTE_UNUSED;
1845 3914 : x2 = XEXP (x1, 0);
1846 3914 : x3 = XVECEXP (x2, 0, 0);
1847 3914 : operands[1] = x3;
1848 3914 : x4 = XVECEXP (x2, 0, 1);
1849 3914 : operands[2] = x4;
1850 3914 : x5 = XEXP (x1, 2);
1851 3914 : switch (GET_CODE (x5))
1852 : {
1853 2990 : case REG:
1854 2990 : case SUBREG:
1855 2990 : operands[4] = x5;
1856 2990 : x6 = XEXP (x1, 1);
1857 2990 : operands[3] = x6;
1858 2990 : switch (GET_MODE (operands[0]))
1859 : {
1860 454 : case E_V32HFmode:
1861 454 : return pattern460 (x1,
1862 : E_V32HFmode,
1863 454 : E_SImode); /* [-1, 0] */
1864 :
1865 430 : case E_V16HFmode:
1866 430 : if (pattern460 (x1,
1867 : E_V16HFmode,
1868 : E_HImode) != 0)
1869 : return -1;
1870 : return 1;
1871 :
1872 504 : case E_V8HFmode:
1873 504 : if (pattern460 (x1,
1874 : E_V8HFmode,
1875 : E_QImode) != 0)
1876 : return -1;
1877 : return 2;
1878 :
1879 84 : case E_V16SFmode:
1880 84 : if (pattern460 (x1,
1881 : E_V16SFmode,
1882 : E_HImode) != 0)
1883 : return -1;
1884 : return 3;
1885 :
1886 346 : case E_V8SFmode:
1887 346 : if (pattern460 (x1,
1888 : E_V8SFmode,
1889 : E_QImode) != 0)
1890 : return -1;
1891 : return 4;
1892 :
1893 346 : case E_V4SFmode:
1894 346 : if (pattern460 (x1,
1895 : E_V4SFmode,
1896 : E_QImode) != 0)
1897 : return -1;
1898 : return 5;
1899 :
1900 84 : case E_V8DFmode:
1901 84 : if (pattern460 (x1,
1902 : E_V8DFmode,
1903 : E_QImode) != 0)
1904 : return -1;
1905 : return 6;
1906 :
1907 396 : case E_V4DFmode:
1908 396 : if (pattern460 (x1,
1909 : E_V4DFmode,
1910 : E_QImode) != 0)
1911 : return -1;
1912 : return 7;
1913 :
1914 346 : case E_V2DFmode:
1915 346 : if (pattern460 (x1,
1916 : E_V2DFmode,
1917 : E_QImode) != 0)
1918 : return -1;
1919 : return 8;
1920 :
1921 : default:
1922 : return -1;
1923 : }
1924 :
1925 844 : case CONST_INT:
1926 844 : if (XWINT (x5, 0) != 1L)
1927 : return -1;
1928 720 : res = pattern462 (x1);
1929 720 : if (res >= 0)
1930 617 : return res + 9; /* [9, 11] */
1931 : return -1;
1932 :
1933 : default:
1934 : return -1;
1935 : }
1936 : }
1937 :
1938 : int
1939 2708 : pattern488 (rtx x1)
1940 : {
1941 2708 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1942 2708 : rtx x2, x3, x4, x5, x6, x7;
1943 2708 : int res ATTRIBUTE_UNUSED;
1944 2708 : x2 = XEXP (x1, 0);
1945 2708 : x3 = XVECEXP (x2, 0, 0);
1946 2708 : operands[1] = x3;
1947 2708 : x4 = XVECEXP (x2, 0, 1);
1948 2708 : operands[2] = x4;
1949 2708 : x5 = XVECEXP (x2, 0, 2);
1950 2708 : operands[3] = x5;
1951 2708 : x6 = XEXP (x1, 1);
1952 2708 : switch (GET_CODE (x6))
1953 : {
1954 1338 : case REG:
1955 1338 : case SUBREG:
1956 1338 : if (!rtx_equal_p (x6, operands[1]))
1957 : return -1;
1958 1338 : x7 = XEXP (x1, 2);
1959 1338 : operands[4] = x7;
1960 1338 : switch (GET_MODE (operands[0]))
1961 : {
1962 430 : case E_V16SImode:
1963 430 : return pattern484 (x1,
1964 : E_V16SImode,
1965 430 : E_HImode); /* [-1, 0] */
1966 :
1967 458 : case E_V8SImode:
1968 458 : if (pattern484 (x1,
1969 : E_V8SImode,
1970 : E_QImode) != 0)
1971 : return -1;
1972 : return 1;
1973 :
1974 450 : case E_V4SImode:
1975 450 : if (pattern484 (x1,
1976 : E_V4SImode,
1977 : E_QImode) != 0)
1978 : return -1;
1979 : return 2;
1980 :
1981 : default:
1982 : return -1;
1983 : }
1984 :
1985 1346 : case CONST_INT:
1986 1346 : case CONST_DOUBLE:
1987 1346 : case CONST_VECTOR:
1988 1346 : operands[4] = x6;
1989 1346 : x7 = XEXP (x1, 2);
1990 1346 : operands[5] = x7;
1991 1346 : switch (GET_MODE (operands[0]))
1992 : {
1993 442 : case E_V16SImode:
1994 442 : if (pattern486 (x1,
1995 : E_V16SImode,
1996 : E_HImode) != 0)
1997 : return -1;
1998 : return 3;
1999 :
2000 466 : case E_V8SImode:
2001 466 : if (pattern486 (x1,
2002 : E_V8SImode,
2003 : E_QImode) != 0)
2004 : return -1;
2005 : return 4;
2006 :
2007 438 : case E_V4SImode:
2008 438 : if (pattern486 (x1,
2009 : E_V4SImode,
2010 : E_QImode) != 0)
2011 : return -1;
2012 : return 5;
2013 :
2014 : default:
2015 : return -1;
2016 : }
2017 :
2018 : default:
2019 : return -1;
2020 : }
2021 : }
2022 :
2023 : int
2024 180 : pattern503 (rtx x1, machine_mode i1)
2025 : {
2026 180 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2027 180 : int res ATTRIBUTE_UNUSED;
2028 180 : if (GET_MODE (x1) != E_V2HFmode
2029 180 : || !vector_operand (operands[1], i1)
2030 180 : || !const0_operand (operands[3], E_V2HFmode)
2031 360 : || !const0_operand (operands[4], E_V6HFmode))
2032 0 : return -1;
2033 : return 0;
2034 : }
2035 :
2036 : int
2037 432 : pattern506 (rtx x1)
2038 : {
2039 432 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2040 432 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2041 432 : int res ATTRIBUTE_UNUSED;
2042 432 : x2 = XEXP (x1, 1);
2043 432 : if (GET_MODE (x2) != E_V2SImode)
2044 : return -1;
2045 432 : switch (GET_CODE (x2))
2046 : {
2047 300 : case VEC_SELECT:
2048 300 : x3 = XEXP (x2, 1);
2049 300 : if (GET_CODE (x3) != PARALLEL
2050 300 : || XVECLEN (x3, 0) != 2)
2051 : return -1;
2052 300 : x4 = XVECEXP (x3, 0, 0);
2053 300 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2054 : return -1;
2055 300 : x5 = XVECEXP (x3, 0, 1);
2056 300 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2057 : return -1;
2058 300 : x6 = XEXP (x2, 0);
2059 300 : operands[2] = x6;
2060 300 : if (!nonimm_or_0_operand (operands[2], E_V4SImode))
2061 : return -1;
2062 292 : x7 = XEXP (x1, 2);
2063 292 : operands[3] = x7;
2064 292 : return 0;
2065 :
2066 128 : case CONST_VECTOR:
2067 128 : if (XVECLEN (x2, 0) != 2)
2068 : return -1;
2069 128 : x8 = XVECEXP (x2, 0, 0);
2070 128 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2071 : return -1;
2072 120 : x9 = XVECEXP (x2, 0, 1);
2073 120 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2074 : return -1;
2075 120 : x7 = XEXP (x1, 2);
2076 120 : operands[2] = x7;
2077 120 : return 1;
2078 :
2079 : default:
2080 : return -1;
2081 : }
2082 : }
2083 :
2084 : int
2085 7741 : pattern514 (rtx x1, machine_mode i1, int i2)
2086 : {
2087 7741 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2088 7741 : rtx x2, x3;
2089 7741 : int res ATTRIBUTE_UNUSED;
2090 7741 : if (XVECLEN (x1, 0) != i2
2091 7619 : || GET_MODE (x1) != i1)
2092 : return -1;
2093 7619 : x2 = XVECEXP (x1, 0, 0);
2094 7619 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2095 : return -1;
2096 7617 : x3 = XVECEXP (x1, 0, 1);
2097 7617 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2098 0 : return -1;
2099 : return 0;
2100 : }
2101 :
2102 : int
2103 567 : pattern519 (rtx x1)
2104 : {
2105 567 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2106 567 : int res ATTRIBUTE_UNUSED;
2107 567 : if (!register_operand (operands[0], E_V8HFmode)
2108 567 : || GET_MODE (x1) != E_V8HFmode)
2109 : return -1;
2110 510 : switch (GET_MODE (operands[1]))
2111 : {
2112 196 : case E_V8HImode:
2113 196 : if (!vector_operand (operands[1], E_V8HImode))
2114 : return -1;
2115 : return 0;
2116 :
2117 249 : case E_V8SImode:
2118 249 : if (!vector_operand (operands[1], E_V8SImode))
2119 : return -1;
2120 : return 1;
2121 :
2122 62 : case E_V8DImode:
2123 62 : if (!vector_operand (operands[1], E_V8DImode))
2124 : return -1;
2125 : return 2;
2126 :
2127 : default:
2128 : return -1;
2129 : }
2130 : }
2131 :
2132 : int
2133 25134 : pattern525 (rtx x1)
2134 : {
2135 25134 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2136 25134 : rtx x2, x3, x4, x5, x6, x7, x8;
2137 25134 : int res ATTRIBUTE_UNUSED;
2138 25134 : x2 = XEXP (x1, 1);
2139 25134 : if (XVECLEN (x2, 0) < 1)
2140 : return -1;
2141 25134 : operands[4] = x2;
2142 25134 : if (!pmovzx_parallel (operands[4], E_VOIDmode))
2143 : return -1;
2144 396 : x3 = XEXP (x1, 0);
2145 396 : x4 = XEXP (x3, 0);
2146 396 : x5 = XEXP (x4, 0);
2147 396 : operands[1] = x5;
2148 396 : x6 = XEXP (x4, 1);
2149 396 : operands[2] = x6;
2150 396 : x7 = XEXP (x3, 1);
2151 396 : operands[3] = x7;
2152 396 : x8 = XVECEXP (x2, 0, 0);
2153 396 : operands[5] = x8;
2154 396 : if (!const_int_operand (operands[5], E_VOIDmode))
2155 : return -1;
2156 396 : switch (GET_MODE (operands[0]))
2157 : {
2158 4 : case E_V16SImode:
2159 4 : return pattern524 (x1,
2160 : E_V16SImode,
2161 : E_V8SImode,
2162 4 : E_V32SImode); /* [-1, 0] */
2163 :
2164 4 : case E_V8SImode:
2165 4 : if (pattern524 (x1,
2166 : E_V8SImode,
2167 : E_V4SImode,
2168 : E_V16SImode) != 0)
2169 : return -1;
2170 : return 1;
2171 :
2172 61 : case E_V4SImode:
2173 61 : if (!register_operand (operands[0], E_V4SImode)
2174 61 : || GET_MODE (x1) != E_V4SImode
2175 61 : || GET_MODE (x3) != E_V8SImode
2176 61 : || GET_MODE (x4) != E_V4SImode
2177 61 : || !vector_operand (operands[1], E_V2SImode)
2178 61 : || !const0_operand (operands[2], E_V2SImode)
2179 65 : || !const0_operand (operands[3], E_V4SImode))
2180 57 : return -1;
2181 : return 2;
2182 :
2183 : default:
2184 : return -1;
2185 : }
2186 : }
2187 :
2188 : int
2189 134711 : pattern541 (rtx x1)
2190 : {
2191 134711 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2192 134711 : rtx x2, x3;
2193 134711 : int res ATTRIBUTE_UNUSED;
2194 134711 : x2 = XEXP (x1, 1);
2195 134711 : switch (GET_CODE (x2))
2196 : {
2197 106257 : case REG:
2198 106257 : case SUBREG:
2199 106257 : case MEM:
2200 106257 : case VEC_DUPLICATE:
2201 106257 : operands[2] = x2;
2202 106257 : return 0;
2203 :
2204 2575 : case NOT:
2205 2575 : x3 = XEXP (x2, 0);
2206 2575 : operands[2] = x3;
2207 2575 : switch (GET_MODE (operands[0]))
2208 : {
2209 0 : case E_V16SImode:
2210 0 : if (pattern540 (x1,
2211 : E_V16SImode) != 0)
2212 : return -1;
2213 : return 1;
2214 :
2215 0 : case E_V8DImode:
2216 0 : if (pattern540 (x1,
2217 : E_V8DImode) != 0)
2218 : return -1;
2219 : return 2;
2220 :
2221 2 : case E_V64QImode:
2222 2 : if (pattern540 (x1,
2223 : E_V64QImode) != 0)
2224 : return -1;
2225 : return 3;
2226 :
2227 0 : case E_V32QImode:
2228 0 : if (pattern540 (x1,
2229 : E_V32QImode) != 0)
2230 : return -1;
2231 : return 4;
2232 :
2233 6 : case E_V16QImode:
2234 6 : if (pattern540 (x1,
2235 : E_V16QImode) != 0)
2236 : return -1;
2237 : return 5;
2238 :
2239 0 : case E_V32HImode:
2240 0 : if (pattern540 (x1,
2241 : E_V32HImode) != 0)
2242 : return -1;
2243 : return 6;
2244 :
2245 0 : case E_V16HImode:
2246 0 : if (pattern540 (x1,
2247 : E_V16HImode) != 0)
2248 : return -1;
2249 : return 7;
2250 :
2251 11 : case E_V8HImode:
2252 11 : if (pattern540 (x1,
2253 : E_V8HImode) != 0)
2254 : return -1;
2255 : return 8;
2256 :
2257 3 : case E_V8SImode:
2258 3 : if (pattern540 (x1,
2259 : E_V8SImode) != 0)
2260 : return -1;
2261 : return 9;
2262 :
2263 192 : case E_V4SImode:
2264 192 : if (pattern540 (x1,
2265 : E_V4SImode) != 0)
2266 : return -1;
2267 : return 10;
2268 :
2269 0 : case E_V4DImode:
2270 0 : if (pattern540 (x1,
2271 : E_V4DImode) != 0)
2272 : return -1;
2273 : return 11;
2274 :
2275 142 : case E_V2DImode:
2276 142 : if (pattern540 (x1,
2277 : E_V2DImode) != 0)
2278 : return -1;
2279 : return 12;
2280 :
2281 : default:
2282 : return -1;
2283 : }
2284 :
2285 : default:
2286 : return -1;
2287 : }
2288 : }
2289 :
2290 : int
2291 55 : pattern549 (rtx x1, machine_mode i1)
2292 : {
2293 55 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2294 55 : int res ATTRIBUTE_UNUSED;
2295 55 : if (!register_operand (operands[0], i1)
2296 55 : || GET_MODE (x1) != i1
2297 55 : || !nonimmediate_operand (operands[1], i1)
2298 110 : || !register_operand (operands[2], i1))
2299 0 : return -1;
2300 : return 0;
2301 : }
2302 :
2303 : int
2304 46301 : pattern554 (rtx x1)
2305 : {
2306 46301 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2307 46301 : int res ATTRIBUTE_UNUSED;
2308 46301 : switch (GET_MODE (operands[0]))
2309 : {
2310 13150 : case E_HImode:
2311 13150 : if (!nonimmediate_operand (operands[0], E_HImode)
2312 13150 : || GET_MODE (x1) != E_HImode)
2313 : return -1;
2314 : return 0;
2315 :
2316 10551 : case E_SImode:
2317 10551 : if (!nonimmediate_operand (operands[0], E_SImode)
2318 10551 : || GET_MODE (x1) != E_SImode)
2319 : return -1;
2320 : return 1;
2321 :
2322 22600 : case E_DImode:
2323 22600 : if (!nonimmediate_operand (operands[0], E_DImode)
2324 22600 : || GET_MODE (x1) != E_DImode)
2325 : return -1;
2326 : return 2;
2327 :
2328 : default:
2329 : return -1;
2330 : }
2331 : }
2332 :
2333 : int
2334 6826 : pattern560 (rtx x1, machine_mode i1)
2335 : {
2336 6826 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2337 6826 : int res ATTRIBUTE_UNUSED;
2338 6826 : if (!register_operand (operands[0], i1)
2339 6826 : || GET_MODE (x1) != i1
2340 6826 : || !nonimmediate_operand (operands[1], i1)
2341 13283 : || !general_operand (operands[2], i1))
2342 369 : return -1;
2343 : return 0;
2344 : }
2345 :
2346 : int
2347 2903 : pattern562 (rtx x1)
2348 : {
2349 2903 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2350 2903 : rtx x2, x3, x4;
2351 2903 : int res ATTRIBUTE_UNUSED;
2352 2903 : x2 = XVECEXP (x1, 0, 1);
2353 2903 : if (GET_CODE (x2) != CLOBBER)
2354 : return -1;
2355 2761 : x3 = XEXP (x2, 0);
2356 2761 : if (GET_CODE (x3) != REG
2357 2761 : || REGNO (x3) != 17
2358 5522 : || GET_MODE (x3) != E_CCmode)
2359 : return -1;
2360 2761 : x4 = XVECEXP (x1, 0, 0);
2361 2761 : return pattern561 (x4); /* [-1, 1] */
2362 : }
2363 :
2364 : int
2365 1220396 : pattern568 (rtx x1, machine_mode i1)
2366 : {
2367 1220396 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2368 1220396 : int res ATTRIBUTE_UNUSED;
2369 1220396 : if (!nonimmediate_operand (operands[0], i1)
2370 1220384 : || GET_MODE (x1) != i1
2371 1220384 : || !nonimmediate_operand (operands[1], i1)
2372 2432333 : || !x86_64_hilo_general_operand (operands[2], i1))
2373 30817 : return -1;
2374 : return 0;
2375 : }
2376 :
2377 : int
2378 13912 : pattern573 (rtx x1)
2379 : {
2380 13912 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2381 13912 : rtx x2, x3, x4, x5;
2382 13912 : int res ATTRIBUTE_UNUSED;
2383 13912 : x2 = XVECEXP (x1, 0, 1);
2384 13912 : if (XVECLEN (x2, 0) != 1
2385 13912 : || XINT (x2, 1) != 175)
2386 : return -1;
2387 13909 : x3 = XVECEXP (x2, 0, 0);
2388 13909 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2389 : return -1;
2390 13909 : switch (GET_MODE (operands[0]))
2391 : {
2392 12717 : case E_QImode:
2393 12717 : x4 = XVECEXP (x1, 0, 0);
2394 12717 : x5 = XEXP (x4, 1);
2395 12717 : return pattern572 (x5,
2396 12717 : E_QImode); /* [-1, 0] */
2397 :
2398 804 : case E_HImode:
2399 804 : x4 = XVECEXP (x1, 0, 0);
2400 804 : x5 = XEXP (x4, 1);
2401 804 : if (pattern572 (x5,
2402 : E_HImode) != 0)
2403 : return -1;
2404 : return 1;
2405 :
2406 193 : case E_SImode:
2407 193 : x4 = XVECEXP (x1, 0, 0);
2408 193 : x5 = XEXP (x4, 1);
2409 193 : if (pattern572 (x5,
2410 : E_SImode) != 0)
2411 : return -1;
2412 : return 2;
2413 :
2414 195 : case E_DImode:
2415 195 : x4 = XVECEXP (x1, 0, 0);
2416 195 : x5 = XEXP (x4, 1);
2417 195 : if (pattern572 (x5,
2418 : E_DImode) != 0)
2419 : return -1;
2420 : return 3;
2421 :
2422 : default:
2423 : return -1;
2424 : }
2425 : }
2426 :
2427 : int
2428 337 : pattern586 (rtx x1)
2429 : {
2430 337 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2431 337 : rtx x2, x3, x4, x5, x6;
2432 337 : int res ATTRIBUTE_UNUSED;
2433 337 : x2 = XEXP (x1, 1);
2434 337 : if (GET_MODE (x2) != E_QImode)
2435 : return -1;
2436 337 : switch (GET_CODE (x2))
2437 : {
2438 303 : case SUBREG:
2439 303 : if (maybe_ne (SUBREG_BYTE (x2), 0))
2440 : return -1;
2441 303 : x3 = XEXP (x2, 0);
2442 303 : switch (GET_CODE (x3))
2443 : {
2444 100 : case AND:
2445 100 : operands[4] = x3;
2446 100 : if (!and_operator (operands[4], E_VOIDmode))
2447 : return -1;
2448 100 : return pattern584 (x1); /* [-1, 3] */
2449 :
2450 0 : case PLUS:
2451 0 : res = pattern584 (x1);
2452 0 : if (res >= 0)
2453 0 : return res + 4; /* [4, 7] */
2454 : return -1;
2455 :
2456 0 : case MINUS:
2457 0 : x4 = XEXP (x3, 0);
2458 0 : operands[3] = x4;
2459 0 : if (!const_int_operand (operands[3], E_VOIDmode))
2460 : return -1;
2461 0 : x5 = XEXP (x3, 1);
2462 0 : operands[2] = x5;
2463 0 : if (!int248_register_operand (operands[2], E_VOIDmode))
2464 : return -1;
2465 0 : res = pattern583 (x1);
2466 0 : if (res >= 0)
2467 0 : return res + 8; /* [8, 11] */
2468 : return -1;
2469 :
2470 : default:
2471 : return -1;
2472 : }
2473 :
2474 7 : case AND:
2475 7 : res = pattern585 (x1);
2476 7 : if (res >= 0)
2477 4 : return res + 12; /* [12, 15] */
2478 : return -1;
2479 :
2480 11 : case PLUS:
2481 11 : res = pattern585 (x1);
2482 11 : if (res >= 0)
2483 11 : return res + 16; /* [16, 19] */
2484 : return -1;
2485 :
2486 6 : case MINUS:
2487 6 : x3 = XEXP (x2, 0);
2488 6 : operands[3] = x3;
2489 6 : if (!const_int_operand (operands[3], E_QImode))
2490 : return -1;
2491 4 : x6 = XEXP (x2, 1);
2492 4 : operands[2] = x6;
2493 4 : if (!register_operand (operands[2], E_QImode))
2494 : return -1;
2495 4 : res = pattern583 (x1);
2496 4 : if (res >= 0)
2497 4 : return res + 20; /* [20, 23] */
2498 : return -1;
2499 :
2500 : default:
2501 : return -1;
2502 : }
2503 : }
2504 :
2505 : int
2506 52 : pattern603 (rtx x1, machine_mode i1, machine_mode i2)
2507 : {
2508 52 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2509 52 : rtx x2;
2510 52 : int res ATTRIBUTE_UNUSED;
2511 52 : if (!register_operand (operands[0], i1)
2512 40 : || GET_MODE (x1) != i1
2513 92 : || !vector_operand (operands[1], i1))
2514 22 : return -1;
2515 30 : x2 = XVECEXP (x1, 0, 1);
2516 30 : if (GET_MODE (x2) != i1
2517 30 : || !bcst_vector_operand (operands[2], i2)
2518 42 : || !vector_operand (operands[3], i1))
2519 18 : return -1;
2520 : return 0;
2521 : }
2522 :
2523 : int
2524 26297290 : pattern610 (rtx x1, int i1)
2525 : {
2526 26297290 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2527 26297290 : rtx x2, x3;
2528 26297290 : int res ATTRIBUTE_UNUSED;
2529 26297290 : if (GET_CODE (x1) != PARALLEL
2530 2401368 : || XVECLEN (x1, 0) != 3)
2531 : return -1;
2532 58483 : x2 = XVECEXP (x1, 0, 0);
2533 58483 : if (GET_CODE (x2) != SET)
2534 : return -1;
2535 53013 : x3 = XEXP (x2, 1);
2536 53013 : if (GET_CODE (x3) != UNSPEC_VOLATILE
2537 18761 : || XVECLEN (x3, 0) != i1)
2538 40527 : return -1;
2539 : return 0;
2540 : }
2541 :
2542 : int
2543 60 : pattern613 (rtx x1)
2544 : {
2545 60 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2546 60 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2547 60 : int res ATTRIBUTE_UNUSED;
2548 60 : x2 = XEXP (x1, 1);
2549 60 : x3 = XVECEXP (x2, 0, 1);
2550 60 : if (GET_CODE (x3) != AND)
2551 : return -1;
2552 60 : x4 = XEXP (x1, 0);
2553 60 : if (GET_MODE (x4) != E_CCZmode
2554 60 : || GET_MODE (x2) != E_CCZmode)
2555 : return -1;
2556 60 : x5 = XVECEXP (x2, 0, 0);
2557 60 : x6 = XEXP (x5, 0);
2558 60 : operands[0] = x6;
2559 60 : x7 = XEXP (x5, 1);
2560 60 : operands[1] = x7;
2561 60 : x8 = XEXP (x3, 0);
2562 60 : if (!rtx_equal_p (x8, operands[0]))
2563 : return -1;
2564 60 : x9 = XEXP (x3, 1);
2565 60 : if (!rtx_equal_p (x9, operands[1]))
2566 : return -1;
2567 60 : switch (GET_MODE (x5))
2568 : {
2569 0 : case E_V16QImode:
2570 0 : if (!register_operand (operands[0], E_V16QImode)
2571 0 : || !vector_operand (operands[1], E_V16QImode)
2572 0 : || GET_MODE (x3) != E_V16QImode)
2573 0 : return -1;
2574 : return 0;
2575 :
2576 0 : case E_V8HImode:
2577 0 : if (!register_operand (operands[0], E_V8HImode)
2578 0 : || !vector_operand (operands[1], E_V8HImode)
2579 0 : || GET_MODE (x3) != E_V8HImode)
2580 0 : return -1;
2581 : return 1;
2582 :
2583 0 : case E_V4SImode:
2584 0 : if (!register_operand (operands[0], E_V4SImode)
2585 0 : || !vector_operand (operands[1], E_V4SImode)
2586 0 : || GET_MODE (x3) != E_V4SImode)
2587 0 : return -1;
2588 : return 2;
2589 :
2590 34 : case E_V2DImode:
2591 34 : if (!register_operand (operands[0], E_V2DImode)
2592 14 : || !vector_operand (operands[1], E_V2DImode)
2593 48 : || GET_MODE (x3) != E_V2DImode)
2594 20 : return -1;
2595 : return 3;
2596 :
2597 6 : case E_V1TImode:
2598 6 : if (!register_operand (operands[0], E_V1TImode)
2599 2 : || !vector_operand (operands[1], E_V1TImode)
2600 8 : || GET_MODE (x3) != E_V1TImode)
2601 4 : return -1;
2602 : return 4;
2603 :
2604 0 : case E_V4SFmode:
2605 0 : if (!register_operand (operands[0], E_V4SFmode)
2606 0 : || !vector_operand (operands[1], E_V4SFmode)
2607 0 : || GET_MODE (x3) != E_V4SFmode)
2608 0 : return -1;
2609 : return 5;
2610 :
2611 0 : case E_V2DFmode:
2612 0 : if (!register_operand (operands[0], E_V2DFmode)
2613 0 : || !vector_operand (operands[1], E_V2DFmode)
2614 0 : || GET_MODE (x3) != E_V2DFmode)
2615 0 : return -1;
2616 : return 6;
2617 :
2618 0 : case E_V32QImode:
2619 0 : if (!register_operand (operands[0], E_V32QImode)
2620 0 : || !vector_operand (operands[1], E_V32QImode)
2621 0 : || GET_MODE (x3) != E_V32QImode)
2622 0 : return -1;
2623 : return 7;
2624 :
2625 0 : case E_V16HImode:
2626 0 : if (!register_operand (operands[0], E_V16HImode)
2627 0 : || !vector_operand (operands[1], E_V16HImode)
2628 0 : || GET_MODE (x3) != E_V16HImode)
2629 0 : return -1;
2630 : return 8;
2631 :
2632 0 : case E_V8SImode:
2633 0 : if (!register_operand (operands[0], E_V8SImode)
2634 0 : || !vector_operand (operands[1], E_V8SImode)
2635 0 : || GET_MODE (x3) != E_V8SImode)
2636 0 : return -1;
2637 : return 9;
2638 :
2639 20 : case E_V4DImode:
2640 20 : if (!register_operand (operands[0], E_V4DImode)
2641 10 : || !vector_operand (operands[1], E_V4DImode)
2642 30 : || GET_MODE (x3) != E_V4DImode)
2643 10 : return -1;
2644 : return 10;
2645 :
2646 0 : case E_V2TImode:
2647 0 : if (!register_operand (operands[0], E_V2TImode)
2648 0 : || !vector_operand (operands[1], E_V2TImode)
2649 0 : || GET_MODE (x3) != E_V2TImode)
2650 0 : return -1;
2651 : return 11;
2652 :
2653 0 : case E_V8SFmode:
2654 0 : if (!register_operand (operands[0], E_V8SFmode)
2655 0 : || !vector_operand (operands[1], E_V8SFmode)
2656 0 : || GET_MODE (x3) != E_V8SFmode)
2657 0 : return -1;
2658 : return 12;
2659 :
2660 0 : case E_V4DFmode:
2661 0 : if (!register_operand (operands[0], E_V4DFmode)
2662 0 : || !vector_operand (operands[1], E_V4DFmode)
2663 0 : || GET_MODE (x3) != E_V4DFmode)
2664 0 : return -1;
2665 : return 13;
2666 :
2667 : default:
2668 : return -1;
2669 : }
2670 : }
2671 :
2672 : int
2673 164 : pattern656 (rtx x1)
2674 : {
2675 164 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2676 164 : int res ATTRIBUTE_UNUSED;
2677 164 : if (!register_operand (operands[0], E_V8DImode)
2678 164 : || GET_MODE (x1) != E_V8DImode)
2679 : return -1;
2680 112 : switch (GET_MODE (operands[1]))
2681 : {
2682 46 : case E_V8HFmode:
2683 46 : if (!vector_operand (operands[1], E_V8HFmode))
2684 : return -1;
2685 : return 0;
2686 :
2687 36 : case E_V8DFmode:
2688 36 : if (!vector_operand (operands[1], E_V8DFmode))
2689 : return -1;
2690 : return 1;
2691 :
2692 30 : case E_V8SFmode:
2693 30 : if (!vector_operand (operands[1], E_V8SFmode))
2694 : return -1;
2695 : return 2;
2696 :
2697 : default:
2698 : return -1;
2699 : }
2700 : }
2701 :
2702 : int
2703 1005 : pattern663 (rtx x1)
2704 : {
2705 1005 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2706 1005 : rtx x2, x3, x4, x5;
2707 1005 : int res ATTRIBUTE_UNUSED;
2708 1005 : x2 = XVECEXP (x1, 0, 0);
2709 1005 : x3 = XEXP (x2, 2);
2710 1005 : operands[4] = x3;
2711 1005 : x4 = XEXP (x2, 1);
2712 1005 : operands[3] = x4;
2713 1005 : x5 = XVECEXP (x1, 0, 1);
2714 1005 : operands[5] = x5;
2715 1005 : switch (GET_MODE (operands[0]))
2716 : {
2717 293 : case E_V32HFmode:
2718 293 : return pattern659 (x1,
2719 : E_V32HFmode,
2720 293 : E_SImode); /* [-1, 0] */
2721 :
2722 356 : case E_V16SFmode:
2723 356 : if (pattern659 (x1,
2724 : E_V16SFmode,
2725 : E_HImode) != 0)
2726 : return -1;
2727 : return 1;
2728 :
2729 356 : case E_V8DFmode:
2730 356 : if (pattern659 (x1,
2731 : E_V8DFmode,
2732 : E_QImode) != 0)
2733 : return -1;
2734 : return 2;
2735 :
2736 : default:
2737 : return -1;
2738 : }
2739 : }
2740 :
2741 : int
2742 133 : pattern672 (rtx x1)
2743 : {
2744 133 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2745 133 : rtx x2, x3, x4, x5, x6, x7, x8;
2746 133 : int res ATTRIBUTE_UNUSED;
2747 133 : x2 = XVECEXP (x1, 0, 2);
2748 133 : x3 = XEXP (x2, 0);
2749 133 : if (maybe_ne (SUBREG_BYTE (x3), 0))
2750 : return -1;
2751 133 : x4 = XEXP (x3, 0);
2752 133 : if (GET_CODE (x4) != NOT)
2753 : return -1;
2754 6 : x5 = XVECEXP (x1, 0, 0);
2755 6 : operands[2] = x5;
2756 6 : x6 = XVECEXP (x1, 0, 1);
2757 6 : operands[1] = x6;
2758 6 : x7 = XEXP (x4, 0);
2759 6 : operands[3] = x7;
2760 6 : if (!register_operand (operands[3], E_VOIDmode))
2761 : return -1;
2762 6 : x8 = XEXP (x2, 1);
2763 6 : operands[4] = x8;
2764 6 : switch (GET_MODE (operands[0]))
2765 : {
2766 3 : case E_V32QImode:
2767 3 : return pattern671 (x1,
2768 3 : E_V32QImode); /* [-1, 0] */
2769 :
2770 3 : case E_V16QImode:
2771 3 : if (pattern671 (x1,
2772 : E_V16QImode) != 0)
2773 : return -1;
2774 : return 1;
2775 :
2776 : default:
2777 : return -1;
2778 : }
2779 : }
2780 :
2781 : int
2782 667 : pattern679 (rtx x1)
2783 : {
2784 667 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2785 667 : rtx x2;
2786 667 : int res ATTRIBUTE_UNUSED;
2787 667 : x2 = XVECEXP (x1, 0, 2);
2788 667 : operands[3] = x2;
2789 667 : switch (GET_MODE (operands[0]))
2790 : {
2791 163 : case E_V32HFmode:
2792 163 : return pattern678 (x1,
2793 163 : E_V32HFmode); /* [-1, 0] */
2794 :
2795 234 : case E_V16HFmode:
2796 234 : if (pattern678 (x1,
2797 : E_V16HFmode) != 0)
2798 : return -1;
2799 : return 1;
2800 :
2801 270 : case E_V8HFmode:
2802 270 : if (pattern678 (x1,
2803 : E_V8HFmode) != 0)
2804 : return -1;
2805 : return 2;
2806 :
2807 : default:
2808 : return -1;
2809 : }
2810 : }
2811 :
2812 : int
2813 8266 : pattern685 (rtx x1)
2814 : {
2815 8266 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2816 8266 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2817 8266 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
2818 8266 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
2819 8266 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
2820 8266 : int res ATTRIBUTE_UNUSED;
2821 8266 : x2 = XVECEXP (x1, 0, 0);
2822 8266 : if (GET_CODE (x2) != CONST_INT)
2823 : return -1;
2824 8266 : x3 = XVECEXP (x1, 0, 1);
2825 8266 : if (GET_CODE (x3) != CONST_INT)
2826 : return -1;
2827 8266 : x4 = XVECEXP (x1, 0, 2);
2828 8266 : if (GET_CODE (x4) != CONST_INT)
2829 : return -1;
2830 8266 : x5 = XVECEXP (x1, 0, 3);
2831 8266 : if (GET_CODE (x5) != CONST_INT)
2832 : return -1;
2833 8266 : x6 = XVECEXP (x1, 0, 4);
2834 8266 : if (GET_CODE (x6) != CONST_INT)
2835 : return -1;
2836 8266 : x7 = XVECEXP (x1, 0, 5);
2837 8266 : if (GET_CODE (x7) != CONST_INT)
2838 : return -1;
2839 8266 : x8 = XVECEXP (x1, 0, 6);
2840 8266 : if (GET_CODE (x8) != CONST_INT)
2841 : return -1;
2842 8266 : x9 = XVECEXP (x1, 0, 7);
2843 8266 : if (GET_CODE (x9) != CONST_INT)
2844 : return -1;
2845 8266 : x10 = XVECEXP (x1, 0, 8);
2846 8266 : if (GET_CODE (x10) != CONST_INT)
2847 : return -1;
2848 8266 : x11 = XVECEXP (x1, 0, 9);
2849 8266 : if (GET_CODE (x11) != CONST_INT)
2850 : return -1;
2851 8266 : x12 = XVECEXP (x1, 0, 10);
2852 8266 : if (GET_CODE (x12) != CONST_INT)
2853 : return -1;
2854 8266 : x13 = XVECEXP (x1, 0, 11);
2855 8266 : if (GET_CODE (x13) != CONST_INT)
2856 : return -1;
2857 8266 : x14 = XVECEXP (x1, 0, 12);
2858 8266 : if (GET_CODE (x14) != CONST_INT)
2859 : return -1;
2860 8266 : x15 = XVECEXP (x1, 0, 13);
2861 8266 : if (GET_CODE (x15) != CONST_INT)
2862 : return -1;
2863 8266 : x16 = XVECEXP (x1, 0, 14);
2864 8266 : if (GET_CODE (x16) != CONST_INT)
2865 : return -1;
2866 8266 : x17 = XVECEXP (x1, 0, 15);
2867 8266 : if (GET_CODE (x17) != CONST_INT)
2868 : return -1;
2869 8266 : x18 = XVECEXP (x1, 0, 16);
2870 8266 : if (GET_CODE (x18) != CONST_INT)
2871 : return -1;
2872 8266 : x19 = XVECEXP (x1, 0, 17);
2873 8266 : if (GET_CODE (x19) != CONST_INT)
2874 : return -1;
2875 8266 : x20 = XVECEXP (x1, 0, 18);
2876 8266 : if (GET_CODE (x20) != CONST_INT)
2877 : return -1;
2878 8266 : x21 = XVECEXP (x1, 0, 19);
2879 8266 : if (GET_CODE (x21) != CONST_INT)
2880 : return -1;
2881 8266 : x22 = XVECEXP (x1, 0, 20);
2882 8266 : if (GET_CODE (x22) != CONST_INT)
2883 : return -1;
2884 8266 : x23 = XVECEXP (x1, 0, 21);
2885 8266 : if (GET_CODE (x23) != CONST_INT)
2886 : return -1;
2887 8266 : x24 = XVECEXP (x1, 0, 22);
2888 8266 : if (GET_CODE (x24) != CONST_INT)
2889 : return -1;
2890 8266 : x25 = XVECEXP (x1, 0, 23);
2891 8266 : if (GET_CODE (x25) != CONST_INT)
2892 : return -1;
2893 8266 : x26 = XVECEXP (x1, 0, 24);
2894 8266 : if (GET_CODE (x26) != CONST_INT)
2895 : return -1;
2896 8266 : x27 = XVECEXP (x1, 0, 25);
2897 8266 : if (GET_CODE (x27) != CONST_INT)
2898 : return -1;
2899 8266 : x28 = XVECEXP (x1, 0, 26);
2900 8266 : if (GET_CODE (x28) != CONST_INT)
2901 : return -1;
2902 8266 : x29 = XVECEXP (x1, 0, 27);
2903 8266 : if (GET_CODE (x29) != CONST_INT)
2904 : return -1;
2905 8266 : x30 = XVECEXP (x1, 0, 28);
2906 8266 : if (GET_CODE (x30) != CONST_INT)
2907 : return -1;
2908 8266 : x31 = XVECEXP (x1, 0, 29);
2909 8266 : if (GET_CODE (x31) != CONST_INT)
2910 : return -1;
2911 8266 : x32 = XVECEXP (x1, 0, 30);
2912 8266 : if (GET_CODE (x32) != CONST_INT)
2913 : return -1;
2914 8266 : x33 = XVECEXP (x1, 0, 31);
2915 8266 : if (GET_CODE (x33) != CONST_INT)
2916 0 : return -1;
2917 : return 0;
2918 : }
2919 :
2920 : int
2921 0 : pattern721 (rtx x1)
2922 : {
2923 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2924 0 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2925 0 : int res ATTRIBUTE_UNUSED;
2926 0 : x2 = XVECEXP (x1, 0, 2);
2927 0 : x3 = XEXP (x2, 0);
2928 0 : if (GET_CODE (x3) != REG
2929 0 : || REGNO (x3) != 17
2930 0 : || GET_MODE (x3) != E_CCmode)
2931 : return -1;
2932 0 : x4 = XVECEXP (x1, 0, 0);
2933 0 : x5 = XEXP (x4, 0);
2934 0 : operands[0] = x5;
2935 0 : if (!register_operand (operands[0], E_SImode))
2936 : return -1;
2937 0 : x6 = XEXP (x4, 1);
2938 0 : x7 = XEXP (x6, 0);
2939 0 : operands[1] = x7;
2940 0 : if (!nonimmediate_operand (operands[1], E_SImode))
2941 : return -1;
2942 0 : x8 = XVECEXP (x1, 0, 1);
2943 0 : x9 = XEXP (x8, 0);
2944 0 : operands[2] = x9;
2945 0 : if (!scratch_operand (operands[2], E_SImode))
2946 : return -1;
2947 : return 0;
2948 : }
2949 :
2950 : int
2951 0 : pattern726 (rtx x1)
2952 : {
2953 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2954 0 : rtx x2, x3;
2955 0 : int res ATTRIBUTE_UNUSED;
2956 0 : if (GET_MODE (x1) != E_QImode)
2957 : return -1;
2958 0 : x2 = XEXP (x1, 0);
2959 0 : if (GET_CODE (x2) != REG
2960 0 : || REGNO (x2) != 17)
2961 : return -1;
2962 0 : x3 = XEXP (x1, 1);
2963 0 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2964 0 : return -1;
2965 : return 0;
2966 : }
2967 :
2968 : int
2969 12 : pattern733 (rtx x1)
2970 : {
2971 12 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2972 12 : rtx x2, x3;
2973 12 : int res ATTRIBUTE_UNUSED;
2974 12 : x2 = XEXP (x1, 0);
2975 12 : x3 = XEXP (x2, 0);
2976 12 : operands[1] = x3;
2977 12 : switch (GET_MODE (operands[0]))
2978 : {
2979 0 : case E_HImode:
2980 0 : if (!memory_operand (operands[0], E_HImode)
2981 0 : || GET_MODE (x1) != E_HImode
2982 0 : || GET_MODE (x2) != E_V2QImode
2983 0 : || !register_operand (operands[1], E_V2DImode))
2984 0 : return -1;
2985 : return 0;
2986 :
2987 0 : case E_SImode:
2988 0 : res = pattern298 (x1);
2989 0 : if (res >= 0)
2990 0 : return res + 1; /* [1, 3] */
2991 : return -1;
2992 :
2993 3 : case E_DImode:
2994 3 : res = pattern299 (x1);
2995 3 : if (res >= 0)
2996 3 : return res + 4; /* [4, 9] */
2997 : return -1;
2998 :
2999 : default:
3000 : return -1;
3001 : }
3002 : }
3003 :
3004 : int
3005 105853 : pattern741 (rtx x1, machine_mode i1, machine_mode i2)
3006 : {
3007 105853 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3008 105853 : int res ATTRIBUTE_UNUSED;
3009 105853 : if (!register_operand (operands[0], i2)
3010 102499 : || GET_MODE (x1) != i2
3011 102499 : || !register_operand (operands[1], i1)
3012 179015 : || !vector_operand (operands[2], i1))
3013 54634 : return -1;
3014 : return 0;
3015 : }
3016 :
3017 : int
3018 36 : pattern746 (rtx x1, int *pnum_clobbers)
3019 : {
3020 36 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3021 36 : rtx x2, x3, x4, x5, x6;
3022 36 : int res ATTRIBUTE_UNUSED;
3023 36 : if (pnum_clobbers == NULL)
3024 : return -1;
3025 36 : x2 = XEXP (x1, 1);
3026 36 : operands[3] = x2;
3027 36 : x3 = XEXP (x2, 0);
3028 36 : x4 = XEXP (x3, 0);
3029 36 : operands[1] = x4;
3030 36 : if (!int248_register_operand (operands[1], E_VOIDmode))
3031 : return -1;
3032 36 : x5 = XEXP (x3, 1);
3033 36 : operands[2] = x5;
3034 36 : if (!int248_register_operand (operands[2], E_VOIDmode))
3035 : return -1;
3036 36 : x6 = XEXP (x1, 0);
3037 36 : switch (GET_MODE (x6))
3038 : {
3039 6 : case E_HImode:
3040 6 : if (!extract_high_operator (operands[3], E_HImode))
3041 : return -1;
3042 : return 0;
3043 :
3044 18 : case E_SImode:
3045 18 : if (!extract_high_operator (operands[3], E_SImode))
3046 : return -1;
3047 : return 1;
3048 :
3049 12 : case E_DImode:
3050 12 : if (!extract_high_operator (operands[3], E_DImode))
3051 : return -1;
3052 : return 2;
3053 :
3054 : default:
3055 : return -1;
3056 : }
3057 : }
3058 :
3059 : int
3060 475 : pattern759 (rtx x1)
3061 : {
3062 475 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3063 475 : rtx x2, x3, x4, x5;
3064 475 : int res ATTRIBUTE_UNUSED;
3065 475 : x2 = XEXP (x1, 0);
3066 475 : x3 = XEXP (x2, 1);
3067 475 : x4 = XEXP (x3, 1);
3068 475 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3069 : return -1;
3070 472 : x5 = XEXP (x3, 0);
3071 472 : operands[3] = x5;
3072 472 : if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
3073 : return -1;
3074 469 : switch (GET_MODE (operands[0]))
3075 : {
3076 156 : case E_SImode:
3077 156 : return pattern758 (x1,
3078 156 : E_SImode); /* [-1, 0] */
3079 :
3080 313 : case E_DImode:
3081 313 : if (pattern758 (x1,
3082 : E_DImode) != 0)
3083 : return -1;
3084 : return 1;
3085 :
3086 : default:
3087 : return -1;
3088 : }
3089 : }
3090 :
3091 : int
3092 5295 : pattern769 (rtx x1, rtx_code i1)
3093 : {
3094 5295 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3095 5295 : rtx x2, x3, x4, x5, x6, x7, x8;
3096 5295 : int res ATTRIBUTE_UNUSED;
3097 5295 : x2 = XEXP (x1, 0);
3098 5295 : x3 = XEXP (x2, 0);
3099 5295 : x4 = XEXP (x3, 1);
3100 5295 : if (GET_CODE (x4) != i1)
3101 : return -1;
3102 4899 : x5 = XEXP (x3, 0);
3103 4899 : x6 = XEXP (x5, 0);
3104 4899 : operands[1] = x6;
3105 4899 : x7 = XEXP (x4, 0);
3106 4899 : operands[2] = x7;
3107 4899 : x8 = XEXP (x2, 1);
3108 4899 : switch (XWINT (x8, 0))
3109 : {
3110 0 : case 64L:
3111 0 : return pattern768 (x1,
3112 : E_DImode,
3113 0 : E_TImode); /* [-1, 0] */
3114 :
3115 0 : case 32L:
3116 0 : if (pattern768 (x1,
3117 : E_SImode,
3118 : E_DImode) != 0)
3119 : return -1;
3120 : return 1;
3121 :
3122 : default:
3123 : return -1;
3124 : }
3125 : }
3126 :
3127 : int
3128 84102 : pattern780 (rtx x1, machine_mode i1, machine_mode i2)
3129 : {
3130 84102 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3131 84102 : rtx x2, x3;
3132 84102 : int res ATTRIBUTE_UNUSED;
3133 84102 : if (!register_operand (operands[0], i2)
3134 84102 : || GET_MODE (x1) != i2)
3135 : return -1;
3136 84082 : x2 = XEXP (x1, 0);
3137 84082 : if (GET_MODE (x2) != i2)
3138 : return -1;
3139 84082 : x3 = XEXP (x2, 0);
3140 84082 : if (GET_MODE (x3) != i1)
3141 0 : return -1;
3142 : return 0;
3143 : }
3144 :
3145 : int
3146 3958 : pattern784 (rtx x1)
3147 : {
3148 3958 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3149 3958 : rtx x2, x3;
3150 3958 : int res ATTRIBUTE_UNUSED;
3151 3958 : x2 = XVECEXP (x1, 0, 0);
3152 3958 : x3 = XEXP (x2, 1);
3153 3958 : if (!rtx_equal_p (x3, operands[1]))
3154 : return -1;
3155 3922 : switch (GET_MODE (operands[0]))
3156 : {
3157 1054 : case E_V8HFmode:
3158 1054 : return pattern783 (x1,
3159 1054 : E_V8HFmode); /* [-1, 0] */
3160 :
3161 1434 : case E_V4SFmode:
3162 1434 : if (pattern783 (x1,
3163 : E_V4SFmode) != 0)
3164 : return -1;
3165 : return 1;
3166 :
3167 1434 : case E_V2DFmode:
3168 1434 : if (pattern783 (x1,
3169 : E_V2DFmode) != 0)
3170 : return -1;
3171 : return 2;
3172 :
3173 : default:
3174 : return -1;
3175 : }
3176 : }
3177 :
3178 : int
3179 628 : pattern792 (rtx x1, machine_mode i1, machine_mode i2)
3180 : {
3181 628 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3182 628 : int res ATTRIBUTE_UNUSED;
3183 628 : if (!register_operand (operands[0], i1)
3184 626 : || GET_MODE (x1) != i1
3185 626 : || !register_operand (operands[2], i2)
3186 1156 : || !memory_operand (operands[1], i1))
3187 112 : return -1;
3188 : return 0;
3189 : }
3190 :
3191 : int
3192 1305777 : pattern801 (rtx x1, machine_mode i1, machine_mode i2)
3193 : {
3194 1305777 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3195 1305777 : rtx x2;
3196 1305777 : int res ATTRIBUTE_UNUSED;
3197 1305777 : if (!register_operand (operands[0], i2)
3198 1073735 : || GET_MODE (x1) != i2
3199 2379512 : || !register_operand (operands[1], i1))
3200 253104 : return -1;
3201 1052673 : x2 = XEXP (x1, 1);
3202 1052673 : operands[2] = x2;
3203 1052673 : if (!nonimmediate_operand (operands[2], i1))
3204 : return -1;
3205 : return 0;
3206 : }
3207 :
3208 : int
3209 197554 : pattern807 (machine_mode i1)
3210 : {
3211 197554 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3212 197554 : int res ATTRIBUTE_UNUSED;
3213 197554 : if (!register_operand (operands[0], i1)
3214 193119 : || !ix86_comparison_int_operator (operands[1], i1)
3215 193034 : || !register_operand (operands[2], i1)
3216 299737 : || !nonimmediate_operand (operands[3], i1))
3217 193040 : return -1;
3218 : return 0;
3219 : }
3220 :
3221 : int
3222 1272098 : pattern816 (rtx x1)
3223 : {
3224 1272098 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3225 1272098 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3226 1272098 : int res ATTRIBUTE_UNUSED;
3227 1272098 : if (!pmovzx_parallel (operands[4], E_VOIDmode))
3228 : return -1;
3229 414539 : x2 = XEXP (x1, 0);
3230 414539 : x3 = XEXP (x2, 0);
3231 414539 : if (GET_CODE (x3) != SUBREG
3232 414539 : || maybe_ne (SUBREG_BYTE (x3), 0))
3233 : return -1;
3234 166276 : x4 = XEXP (x3, 0);
3235 166276 : if (GET_CODE (x4) != VEC_CONCAT)
3236 : return -1;
3237 4485 : x5 = XEXP (x4, 0);
3238 4485 : operands[1] = x5;
3239 4485 : x6 = XEXP (x4, 1);
3240 4485 : operands[2] = x6;
3241 4485 : x7 = XEXP (x2, 1);
3242 4485 : operands[3] = x7;
3243 4485 : x8 = XEXP (x1, 1);
3244 4485 : x9 = XVECEXP (x8, 0, 0);
3245 4485 : operands[5] = x9;
3246 4485 : if (!const_int_operand (operands[5], E_VOIDmode))
3247 : return -1;
3248 4485 : switch (GET_MODE (operands[0]))
3249 : {
3250 4 : case E_V32QImode:
3251 4 : if (!register_operand (operands[0], E_V32QImode)
3252 4 : || GET_MODE (x1) != E_V32QImode
3253 4 : || GET_MODE (x2) != E_V64QImode
3254 4 : || GET_MODE (x3) != E_V32QImode
3255 8 : || !const0_operand (operands[3], E_V32QImode))
3256 0 : return -1;
3257 4 : switch (GET_MODE (x4))
3258 : {
3259 0 : case E_V16HImode:
3260 0 : if (!nonimmediate_operand (operands[1], E_V8HImode)
3261 0 : || !const0_operand (operands[2], E_V8HImode))
3262 0 : return -1;
3263 : return 0;
3264 :
3265 4 : case E_V8SImode:
3266 4 : if (!nonimmediate_operand (operands[1], E_V4SImode)
3267 4 : || !const0_operand (operands[2], E_V4SImode))
3268 0 : return -1;
3269 : return 1;
3270 :
3271 0 : case E_V4DImode:
3272 0 : if (!nonimmediate_operand (operands[1], E_V2DImode)
3273 0 : || !const0_operand (operands[2], E_V2DImode))
3274 0 : return -1;
3275 : return 2;
3276 :
3277 : default:
3278 : return -1;
3279 : }
3280 :
3281 4 : case E_V64QImode:
3282 4 : if (!register_operand (operands[0], E_V64QImode)
3283 4 : || GET_MODE (x1) != E_V64QImode
3284 4 : || GET_MODE (x2) != E_V128QImode
3285 4 : || GET_MODE (x3) != E_V64QImode
3286 8 : || !const0_operand (operands[3], E_V64QImode))
3287 0 : return -1;
3288 4 : switch (GET_MODE (x4))
3289 : {
3290 0 : case E_V32HImode:
3291 0 : if (!nonimmediate_operand (operands[1], E_V16HImode)
3292 0 : || !const0_operand (operands[2], E_V16HImode))
3293 0 : return -1;
3294 : return 3;
3295 :
3296 4 : case E_V16SImode:
3297 4 : if (!nonimmediate_operand (operands[1], E_V8SImode)
3298 4 : || !const0_operand (operands[2], E_V8SImode))
3299 0 : return -1;
3300 : return 4;
3301 :
3302 0 : case E_V8DImode:
3303 0 : if (!nonimmediate_operand (operands[1], E_V4DImode)
3304 0 : || !const0_operand (operands[2], E_V4DImode))
3305 0 : return -1;
3306 : return 5;
3307 :
3308 : default:
3309 : return -1;
3310 : }
3311 :
3312 112 : case E_V16QImode:
3313 112 : if (!register_operand (operands[0], E_V16QImode)
3314 100 : || GET_MODE (x1) != E_V16QImode
3315 100 : || GET_MODE (x2) != E_V32QImode
3316 100 : || GET_MODE (x3) != E_V16QImode
3317 212 : || !const0_operand (operands[3], E_V16QImode))
3318 108 : return -1;
3319 4 : switch (GET_MODE (x4))
3320 : {
3321 0 : case E_V8HImode:
3322 0 : if (!vector_operand (operands[1], E_V4HImode)
3323 0 : || !const0_operand (operands[2], E_V4HImode))
3324 0 : return -1;
3325 : return 6;
3326 :
3327 4 : case E_V4SImode:
3328 4 : if (!vector_operand (operands[1], E_V2SImode)
3329 4 : || !const0_operand (operands[2], E_V2SImode))
3330 0 : return -1;
3331 : return 7;
3332 :
3333 0 : case E_V2DImode:
3334 0 : if (!vector_operand (operands[1], E_DImode)
3335 0 : || !const0_operand (operands[2], E_DImode))
3336 0 : return -1;
3337 : return 8;
3338 :
3339 : default:
3340 : return -1;
3341 : }
3342 :
3343 8 : case E_V32HImode:
3344 8 : if (!register_operand (operands[0], E_V32HImode)
3345 8 : || GET_MODE (x1) != E_V32HImode
3346 8 : || GET_MODE (x2) != E_V64HImode
3347 8 : || GET_MODE (x3) != E_V32HImode
3348 16 : || !const0_operand (operands[3], E_V32HImode))
3349 0 : return -1;
3350 8 : switch (GET_MODE (x4))
3351 : {
3352 0 : case E_V64QImode:
3353 0 : if (!nonimmediate_operand (operands[1], E_V32QImode)
3354 0 : || !const0_operand (operands[2], E_V32QImode))
3355 0 : return -1;
3356 : return 9;
3357 :
3358 8 : case E_V16SImode:
3359 8 : if (!nonimmediate_operand (operands[1], E_V8SImode)
3360 8 : || !const0_operand (operands[2], E_V8SImode))
3361 0 : return -1;
3362 : return 10;
3363 :
3364 0 : case E_V8DImode:
3365 0 : if (!nonimmediate_operand (operands[1], E_V4DImode)
3366 0 : || !const0_operand (operands[2], E_V4DImode))
3367 0 : return -1;
3368 : return 11;
3369 :
3370 : default:
3371 : return -1;
3372 : }
3373 :
3374 8 : case E_V16HImode:
3375 8 : if (!register_operand (operands[0], E_V16HImode)
3376 8 : || GET_MODE (x1) != E_V16HImode
3377 8 : || GET_MODE (x2) != E_V32HImode
3378 8 : || GET_MODE (x3) != E_V16HImode
3379 16 : || !const0_operand (operands[3], E_V16HImode))
3380 0 : return -1;
3381 8 : switch (GET_MODE (x4))
3382 : {
3383 0 : case E_V32QImode:
3384 0 : if (!nonimmediate_operand (operands[1], E_V16QImode)
3385 0 : || !const0_operand (operands[2], E_V16QImode))
3386 0 : return -1;
3387 : return 12;
3388 :
3389 8 : case E_V8SImode:
3390 8 : if (!nonimmediate_operand (operands[1], E_V4SImode)
3391 8 : || !const0_operand (operands[2], E_V4SImode))
3392 0 : return -1;
3393 : return 13;
3394 :
3395 0 : case E_V4DImode:
3396 0 : if (!nonimmediate_operand (operands[1], E_V2DImode)
3397 0 : || !const0_operand (operands[2], E_V2DImode))
3398 0 : return -1;
3399 : return 14;
3400 :
3401 : default:
3402 : return -1;
3403 : }
3404 :
3405 105 : case E_V8HImode:
3406 105 : if (!register_operand (operands[0], E_V8HImode)
3407 105 : || GET_MODE (x1) != E_V8HImode
3408 105 : || GET_MODE (x2) != E_V16HImode
3409 105 : || GET_MODE (x3) != E_V8HImode
3410 210 : || !const0_operand (operands[3], E_V8HImode))
3411 97 : return -1;
3412 8 : switch (GET_MODE (x4))
3413 : {
3414 0 : case E_V16QImode:
3415 0 : if (!vector_operand (operands[1], E_V8QImode)
3416 0 : || !const0_operand (operands[2], E_V8QImode))
3417 0 : return -1;
3418 : return 15;
3419 :
3420 8 : case E_V4SImode:
3421 8 : if (!vector_operand (operands[1], E_V2SImode)
3422 8 : || !const0_operand (operands[2], E_V2SImode))
3423 0 : return -1;
3424 : return 16;
3425 :
3426 0 : case E_V2DImode:
3427 0 : if (!vector_operand (operands[1], E_DImode)
3428 0 : || !const0_operand (operands[2], E_DImode))
3429 0 : return -1;
3430 : return 17;
3431 :
3432 : default:
3433 : return -1;
3434 : }
3435 :
3436 : default:
3437 : return -1;
3438 : }
3439 : }
3440 :
3441 : int
3442 1431 : pattern892 (rtx x1)
3443 : {
3444 1431 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3445 1431 : rtx x2, x3, x4, x5, x6;
3446 1431 : int res ATTRIBUTE_UNUSED;
3447 1431 : x2 = XVECEXP (x1, 0, 0);
3448 1431 : x3 = XVECEXP (x2, 0, 0);
3449 1431 : if (GET_CODE (x3) != VEC_SELECT)
3450 : return -1;
3451 1014 : x4 = XEXP (x3, 1);
3452 1014 : if (GET_CODE (x4) != PARALLEL
3453 1014 : || XVECLEN (x4, 0) != 1)
3454 : return -1;
3455 1014 : x5 = XVECEXP (x4, 0, 0);
3456 1014 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3457 : return -1;
3458 1014 : x6 = XEXP (x3, 0);
3459 1014 : operands[1] = x6;
3460 1014 : if (!const48_operand (operands[2], E_SImode))
3461 : return -1;
3462 1014 : switch (GET_MODE (operands[0]))
3463 : {
3464 506 : case E_SImode:
3465 506 : return pattern891 (x1,
3466 506 : E_SImode); /* [-1, 1] */
3467 :
3468 508 : case E_DImode:
3469 508 : res = pattern891 (x1,
3470 : E_DImode);
3471 508 : if (res >= 0)
3472 482 : return res + 2; /* [2, 3] */
3473 : return -1;
3474 :
3475 : default:
3476 : return -1;
3477 : }
3478 : }
3479 :
3480 : int
3481 654 : pattern905 (rtx x1)
3482 : {
3483 654 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3484 654 : rtx x2;
3485 654 : int res ATTRIBUTE_UNUSED;
3486 654 : if (!register_operand (operands[0], E_V16HFmode)
3487 654 : || GET_MODE (x1) != E_V16HFmode)
3488 : return -1;
3489 612 : x2 = XEXP (x1, 0);
3490 612 : if (GET_MODE (x2) != E_V16HFmode
3491 612 : || !nonimm_or_0_operand (operands[2], E_V16HFmode)
3492 1224 : || !register_operand (operands[3], E_HImode))
3493 54 : return -1;
3494 558 : switch (GET_MODE (operands[1]))
3495 : {
3496 408 : case E_V16HImode:
3497 408 : if (!vector_operand (operands[1], E_V16HImode))
3498 : return -1;
3499 : return 0;
3500 :
3501 150 : case E_V16SImode:
3502 150 : if (!vector_operand (operands[1], E_V16SImode))
3503 : return -1;
3504 : return 1;
3505 :
3506 : default:
3507 : return -1;
3508 : }
3509 : }
3510 :
3511 : int
3512 305 : pattern915 (rtx x1, machine_mode i1)
3513 : {
3514 305 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3515 305 : rtx x2, x3;
3516 305 : int res ATTRIBUTE_UNUSED;
3517 305 : if (!register_operand (operands[0], i1)
3518 305 : || GET_MODE (x1) != i1)
3519 : return -1;
3520 257 : x2 = XVECEXP (x1, 0, 0);
3521 257 : if (GET_MODE (x2) != i1)
3522 : return -1;
3523 257 : x3 = XEXP (x2, 0);
3524 257 : if (GET_MODE (x3) != i1
3525 257 : || !register_operand (operands[1], i1)
3526 474 : || !nonimmediate_operand (operands[2], i1))
3527 40 : return -1;
3528 : return 0;
3529 : }
3530 :
3531 : int
3532 464 : pattern923 (rtx x1)
3533 : {
3534 464 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3535 464 : rtx x2, x3, x4, x5, x6;
3536 464 : int res ATTRIBUTE_UNUSED;
3537 464 : x2 = XEXP (x1, 0);
3538 464 : x3 = XEXP (x2, 0);
3539 464 : if (GET_MODE (x3) != E_V2SImode)
3540 : return -1;
3541 464 : x4 = XEXP (x1, 1);
3542 464 : if (GET_CODE (x4) != CONST_VECTOR
3543 464 : || XVECLEN (x4, 0) != 2
3544 464 : || GET_MODE (x4) != E_V2SImode)
3545 : return -1;
3546 464 : x5 = XVECEXP (x4, 0, 0);
3547 464 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3548 : return -1;
3549 464 : x6 = XVECEXP (x4, 0, 1);
3550 464 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
3551 464 : || !register_operand (operands[0], E_V4SImode)
3552 464 : || GET_MODE (x1) != E_V4SImode
3553 464 : || GET_MODE (x2) != E_V2SImode
3554 928 : || !nonimmediate_operand (operands[1], E_V2DFmode))
3555 32 : return -1;
3556 432 : return pattern506 (x2); /* [-1, 1] */
3557 : }
3558 :
3559 : int
3560 27227 : pattern931 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
3561 : {
3562 27227 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3563 27227 : rtx x2;
3564 27227 : int res ATTRIBUTE_UNUSED;
3565 27227 : if (!register_operand (operands[0], i3)
3566 27227 : || GET_MODE (x1) != i3)
3567 : return -1;
3568 22905 : x2 = XEXP (x1, 0);
3569 22905 : if (GET_MODE (x2) != i2
3570 22905 : || !nonimmediate_operand (operands[1], i1))
3571 5794 : return -1;
3572 : return 0;
3573 : }
3574 :
3575 : int
3576 469163 : pattern933 (rtx x1)
3577 : {
3578 469163 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3579 469163 : rtx x2, x3, x4, x5, x6, x7;
3580 469163 : int res ATTRIBUTE_UNUSED;
3581 469163 : x2 = XVECEXP (x1, 0, 2);
3582 469163 : if (GET_CODE (x2) != CONST_INT)
3583 : return -1;
3584 469163 : x3 = XVECEXP (x1, 0, 3);
3585 469163 : if (GET_CODE (x3) != CONST_INT)
3586 : return -1;
3587 469163 : x4 = XVECEXP (x1, 0, 4);
3588 469163 : if (GET_CODE (x4) != CONST_INT)
3589 : return -1;
3590 469163 : x5 = XVECEXP (x1, 0, 5);
3591 469163 : if (GET_CODE (x5) != CONST_INT)
3592 : return -1;
3593 469163 : x6 = XVECEXP (x1, 0, 6);
3594 469163 : if (GET_CODE (x6) != CONST_INT)
3595 : return -1;
3596 469163 : x7 = XVECEXP (x1, 0, 7);
3597 469163 : if (GET_CODE (x7) != CONST_INT)
3598 0 : return -1;
3599 : return 0;
3600 : }
3601 :
3602 : int
3603 201031 : pattern944 (rtx x1, machine_mode i1, machine_mode i2)
3604 : {
3605 201031 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3606 201031 : rtx x2;
3607 201031 : int res ATTRIBUTE_UNUSED;
3608 201031 : if (!nonimmediate_operand (operands[0], i1)
3609 201031 : || GET_MODE (x1) != i1)
3610 : return -1;
3611 200946 : x2 = XEXP (x1, 0);
3612 200946 : if (GET_MODE (x2) != i1
3613 200946 : || !nonimmediate_operand (operands[2], i2)
3614 374744 : || !nonimmediate_operand (operands[1], i1))
3615 50960 : return -1;
3616 : return 0;
3617 : }
3618 :
3619 : int
3620 400076 : pattern949 (rtx x1)
3621 : {
3622 400076 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3623 400076 : rtx x2, x3, x4, x5, x6, x7;
3624 400076 : int res ATTRIBUTE_UNUSED;
3625 400076 : x2 = XEXP (x1, 0);
3626 400076 : operands[0] = x2;
3627 400076 : x3 = XEXP (x1, 1);
3628 400076 : x4 = XEXP (x3, 0);
3629 400076 : x5 = XEXP (x4, 0);
3630 400076 : operands[1] = x5;
3631 400076 : x6 = XEXP (x3, 1);
3632 400076 : operands[2] = x6;
3633 400076 : x7 = XEXP (x4, 1);
3634 400076 : switch (GET_CODE (x7))
3635 : {
3636 179 : case NE:
3637 179 : return pattern948 (x3); /* [-1, 3] */
3638 :
3639 104 : case EQ:
3640 104 : res = pattern948 (x3);
3641 104 : if (res >= 0)
3642 100 : return res + 4; /* [4, 7] */
3643 : return -1;
3644 :
3645 : default:
3646 : return -1;
3647 : }
3648 : }
3649 :
3650 : int
3651 35493 : pattern958 (rtx x1)
3652 : {
3653 35493 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3654 35493 : rtx x2, x3;
3655 35493 : int res ATTRIBUTE_UNUSED;
3656 35493 : if (!const_int_operand (operands[2], E_QImode))
3657 : return -1;
3658 35472 : x2 = XEXP (x1, 1);
3659 35472 : x3 = XEXP (x2, 0);
3660 35472 : operands[3] = x3;
3661 35472 : switch (GET_MODE (operands[0]))
3662 : {
3663 18267 : case E_DImode:
3664 18267 : return pattern957 (x1,
3665 : E_SImode,
3666 18267 : E_DImode); /* [-1, 0] */
3667 :
3668 2915 : case E_TImode:
3669 2915 : if (pattern957 (x1,
3670 : E_DImode,
3671 : E_TImode) != 0)
3672 : return -1;
3673 : return 1;
3674 :
3675 : default:
3676 : return -1;
3677 : }
3678 : }
3679 :
3680 : int
3681 5917514 : pattern968 (rtx x1, machine_mode i1)
3682 : {
3683 5917514 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3684 5917514 : rtx x2, x3, x4, x5;
3685 5917514 : int res ATTRIBUTE_UNUSED;
3686 5917514 : x2 = XEXP (x1, 0);
3687 5917514 : operands[2] = x2;
3688 5917514 : x3 = XEXP (x1, 1);
3689 5917514 : operands[3] = x3;
3690 5917514 : if (!general_gr_operand (operands[3], i1))
3691 : return -1;
3692 4570035 : x4 = PATTERN (peep2_next_insn (1));
3693 4570035 : x5 = XEXP (x4, 1);
3694 4570035 : return pattern967 (x5,
3695 4570035 : i1); /* [-1, 0] */
3696 : }
3697 :
3698 : int
3699 18523 : pattern971 (rtx x1)
3700 : {
3701 18523 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3702 18523 : int res ATTRIBUTE_UNUSED;
3703 18523 : switch (GET_MODE (operands[0]))
3704 : {
3705 15119 : case E_HImode:
3706 15119 : if (!register_operand (operands[0], E_HImode)
3707 15119 : || GET_MODE (x1) != E_HImode)
3708 : return -1;
3709 15100 : switch (GET_MODE (operands[1]))
3710 : {
3711 203 : case E_V16QImode:
3712 203 : if (!nonimm_or_0_operand (operands[1], E_V16QImode)
3713 203 : || !nonimm_or_0_operand (operands[2], E_V16QImode))
3714 24 : return -1;
3715 : return 0;
3716 :
3717 294 : case E_V16HImode:
3718 294 : if (!nonimm_or_0_operand (operands[1], E_V16HImode)
3719 294 : || !nonimm_or_0_operand (operands[2], E_V16HImode))
3720 26 : return -1;
3721 : return 1;
3722 :
3723 14539 : case E_V16SImode:
3724 14539 : if (!nonimm_or_0_operand (operands[1], E_V16SImode)
3725 14539 : || !nonimm_or_0_operand (operands[2], E_V16SImode))
3726 30 : return -1;
3727 : return 2;
3728 :
3729 : default:
3730 : return -1;
3731 : }
3732 :
3733 1431 : case E_QImode:
3734 1431 : if (!register_operand (operands[0], E_QImode)
3735 1431 : || GET_MODE (x1) != E_QImode)
3736 : return -1;
3737 1391 : switch (GET_MODE (operands[1]))
3738 : {
3739 177 : case E_V8HImode:
3740 177 : if (!nonimm_or_0_operand (operands[1], E_V8HImode)
3741 177 : || !nonimm_or_0_operand (operands[2], E_V8HImode))
3742 8 : return -1;
3743 : return 3;
3744 :
3745 220 : case E_V8SImode:
3746 220 : if (!nonimm_or_0_operand (operands[1], E_V8SImode)
3747 220 : || !nonimm_or_0_operand (operands[2], E_V8SImode))
3748 26 : return -1;
3749 : return 4;
3750 :
3751 236 : case E_V4SImode:
3752 236 : if (!nonimm_or_0_operand (operands[1], E_V4SImode)
3753 236 : || !nonimm_or_0_operand (operands[2], E_V4SImode))
3754 28 : return -1;
3755 : return 5;
3756 :
3757 191 : case E_V8DImode:
3758 191 : if (!nonimm_or_0_operand (operands[1], E_V8DImode)
3759 191 : || !nonimm_or_0_operand (operands[2], E_V8DImode))
3760 34 : return -1;
3761 : return 6;
3762 :
3763 198 : case E_V4DImode:
3764 198 : if (!nonimm_or_0_operand (operands[1], E_V4DImode)
3765 198 : || !nonimm_or_0_operand (operands[2], E_V4DImode))
3766 32 : return -1;
3767 : return 7;
3768 :
3769 187 : case E_V2DImode:
3770 187 : if (!nonimm_or_0_operand (operands[1], E_V2DImode)
3771 187 : || !nonimm_or_0_operand (operands[2], E_V2DImode))
3772 37 : return -1;
3773 : return 8;
3774 :
3775 : default:
3776 : return -1;
3777 : }
3778 :
3779 : default:
3780 : return -1;
3781 : }
3782 : }
3783 :
3784 : int
3785 0 : pattern988 (rtx x1)
3786 : {
3787 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3788 0 : rtx x2, x3, x4, x5, x6, x7;
3789 0 : int res ATTRIBUTE_UNUSED;
3790 0 : x2 = XEXP (x1, 2);
3791 0 : if (GET_CODE (x2) != UNSPEC
3792 0 : || XVECLEN (x2, 0) != 3
3793 0 : || XINT (x2, 1) != 60)
3794 : return -1;
3795 0 : x3 = XVECEXP (x2, 0, 2);
3796 0 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3797 : return -1;
3798 0 : x4 = XEXP (x1, 0);
3799 0 : operands[3] = x4;
3800 0 : x5 = XEXP (x1, 1);
3801 0 : operands[4] = x5;
3802 0 : x6 = XVECEXP (x2, 0, 0);
3803 0 : operands[1] = x6;
3804 0 : x7 = XVECEXP (x2, 0, 1);
3805 0 : operands[2] = x7;
3806 0 : switch (GET_MODE (x1))
3807 : {
3808 0 : case E_V32QImode:
3809 0 : return pattern987 (x2,
3810 : E_V32QImode,
3811 0 : E_SImode); /* [-1, 0] */
3812 :
3813 0 : case E_V16QImode:
3814 0 : if (pattern987 (x2,
3815 : E_V16QImode,
3816 : E_HImode) != 0)
3817 : return -1;
3818 : return 1;
3819 :
3820 : default:
3821 : return -1;
3822 : }
3823 : }
3824 :
3825 : int
3826 24 : pattern995 (rtx x1)
3827 : {
3828 24 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3829 24 : rtx x2;
3830 24 : int res ATTRIBUTE_UNUSED;
3831 24 : if (!register_operand (operands[0], E_SImode)
3832 24 : || GET_MODE (x1) != E_SImode)
3833 : return -1;
3834 24 : x2 = XEXP (x1, 0);
3835 24 : if (GET_MODE (x2) != E_SImode)
3836 : return -1;
3837 24 : switch (GET_MODE (operands[1]))
3838 : {
3839 0 : case E_V32HFmode:
3840 0 : if (!register_operand (operands[1], E_V32HFmode)
3841 0 : || !nonimmediate_operand (operands[2], E_V32HFmode)
3842 0 : || !const_0_to_31_operand (operands[3], E_SImode))
3843 0 : return -1;
3844 : return 0;
3845 :
3846 3 : case E_V32QImode:
3847 3 : if (!register_operand (operands[1], E_V32QImode)
3848 3 : || !nonimmediate_operand (operands[2], E_V32QImode)
3849 6 : || !const_0_to_7_operand (operands[3], E_SImode))
3850 0 : return -1;
3851 : return 1;
3852 :
3853 21 : case E_V32HImode:
3854 21 : if (!register_operand (operands[1], E_V32HImode)
3855 21 : || !nonimmediate_operand (operands[2], E_V32HImode)
3856 42 : || !const_0_to_7_operand (operands[3], E_SImode))
3857 0 : return -1;
3858 : return 2;
3859 :
3860 : default:
3861 : return -1;
3862 : }
3863 : }
3864 :
3865 : int
3866 1431 : pattern1003 (rtx x1)
3867 : {
3868 1431 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3869 1431 : rtx x2;
3870 1431 : int res ATTRIBUTE_UNUSED;
3871 1431 : if (!register_operand (operands[0], E_V2DImode)
3872 1431 : || GET_MODE (x1) != E_V2DImode)
3873 : return -1;
3874 1376 : x2 = XEXP (x1, 0);
3875 1376 : if (GET_MODE (x2) != E_V2DImode
3876 1376 : || !nonimm_or_0_operand (operands[2], E_V2DImode)
3877 2730 : || !register_operand (operands[3], E_QImode))
3878 68 : return -1;
3879 1308 : switch (GET_MODE (operands[1]))
3880 : {
3881 414 : case E_V8HFmode:
3882 414 : if (!nonimmediate_operand (operands[1], E_V8HFmode))
3883 : return -1;
3884 : return 0;
3885 :
3886 444 : case E_V2DFmode:
3887 444 : if (!vector_operand (operands[1], E_V2DFmode))
3888 : return -1;
3889 : return 1;
3890 :
3891 450 : case E_V4SFmode:
3892 450 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
3893 : return -1;
3894 : return 2;
3895 :
3896 : default:
3897 : return -1;
3898 : }
3899 : }
3900 :
3901 : int
3902 2245 : pattern1018 (rtx x1, machine_mode i1, machine_mode i2)
3903 : {
3904 2245 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3905 2245 : rtx x2;
3906 2245 : int res ATTRIBUTE_UNUSED;
3907 2245 : if (!register_operand (operands[0], i1)
3908 2245 : || GET_MODE (x1) != i1)
3909 : return -1;
3910 2177 : x2 = XEXP (x1, 0);
3911 2177 : if (GET_MODE (x2) != i1
3912 2177 : || !register_operand (operands[1], i1)
3913 1981 : || !bcst_vector_operand (operands[2], i1)
3914 1878 : || !nonimm_or_0_operand (operands[3], i1)
3915 4033 : || !register_operand (operands[4], i2))
3916 321 : return -1;
3917 : return 0;
3918 : }
3919 :
3920 : int
3921 1567 : pattern1025 (rtx x1)
3922 : {
3923 1567 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3924 1567 : rtx x2, x3, x4;
3925 1567 : int res ATTRIBUTE_UNUSED;
3926 1567 : if (!const_0_to_3_operand (operands[2], E_VOIDmode))
3927 : return -1;
3928 1476 : x2 = XVECEXP (x1, 0, 1);
3929 1476 : operands[3] = x2;
3930 1476 : if (!const_0_to_3_operand (operands[3], E_VOIDmode))
3931 : return -1;
3932 1470 : x3 = XVECEXP (x1, 0, 2);
3933 1470 : operands[4] = x3;
3934 1470 : if (!const_0_to_3_operand (operands[4], E_VOIDmode))
3935 : return -1;
3936 1468 : x4 = XVECEXP (x1, 0, 3);
3937 1468 : operands[5] = x4;
3938 1468 : if (!const_0_to_3_operand (operands[5], E_VOIDmode))
3939 : return -1;
3940 : return 0;
3941 : }
3942 :
3943 : int
3944 122 : pattern1036 (rtx x1)
3945 : {
3946 122 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3947 122 : rtx x2;
3948 122 : int res ATTRIBUTE_UNUSED;
3949 122 : if (!register_operand (operands[0], E_V16HFmode)
3950 122 : || GET_MODE (x1) != E_V16HFmode)
3951 : return -1;
3952 118 : x2 = XVECEXP (x1, 0, 0);
3953 118 : if (GET_MODE (x2) != E_V16HFmode)
3954 : return -1;
3955 118 : switch (GET_MODE (operands[1]))
3956 : {
3957 0 : case E_V16HImode:
3958 0 : if (!register_operand (operands[1], E_V16HImode))
3959 : return -1;
3960 : return 0;
3961 :
3962 118 : case E_V16SImode:
3963 118 : if (!register_operand (operands[1], E_V16SImode))
3964 : return -1;
3965 : return 1;
3966 :
3967 : default:
3968 : return -1;
3969 : }
3970 : }
3971 :
3972 : int
3973 310 : pattern1043 (rtx x1, machine_mode i1, rtx_code i2)
3974 : {
3975 310 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3976 310 : rtx x2, x3;
3977 310 : int res ATTRIBUTE_UNUSED;
3978 310 : x2 = XEXP (x1, 0);
3979 310 : if (GET_CODE (x2) != i2
3980 310 : || GET_MODE (x2) != i1)
3981 : return -1;
3982 310 : x3 = XEXP (x1, 1);
3983 310 : if (GET_CODE (x3) != i2
3984 310 : || GET_MODE (x3) != i1)
3985 0 : return -1;
3986 : return 0;
3987 : }
3988 :
3989 : int
3990 39449 : pattern1050 (rtx x1)
3991 : {
3992 39449 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3993 39449 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3994 39449 : rtx x10;
3995 39449 : int res ATTRIBUTE_UNUSED;
3996 39449 : x2 = XEXP (x1, 1);
3997 39449 : x3 = XEXP (x2, 0);
3998 39449 : switch (GET_CODE (x3))
3999 : {
4000 589 : case PLUS:
4001 589 : return pattern1047 (x1); /* [-1, 0] */
4002 :
4003 136 : case MINUS:
4004 136 : if (pattern1047 (x1) != 0)
4005 : return -1;
4006 : return 1;
4007 :
4008 7347 : case AND:
4009 7347 : if (pattern1047 (x1) != 0)
4010 : return -1;
4011 : return 2;
4012 :
4013 12631 : case IOR:
4014 12631 : if (pattern1047 (x1) != 0)
4015 : return -1;
4016 : return 3;
4017 :
4018 738 : case XOR:
4019 738 : if (pattern1047 (x1) != 0)
4020 : return -1;
4021 : return 4;
4022 :
4023 33 : case NEG:
4024 33 : if (GET_MODE (x3) != E_QImode)
4025 : return -1;
4026 33 : x4 = XEXP (x3, 0);
4027 33 : if (GET_CODE (x4) != SUBREG
4028 33 : || maybe_ne (SUBREG_BYTE (x4), 0)
4029 66 : || GET_MODE (x4) != E_QImode)
4030 : return -1;
4031 33 : x5 = XEXP (x4, 0);
4032 33 : switch (GET_CODE (x5))
4033 : {
4034 33 : case ASHIFTRT:
4035 33 : case LSHIFTRT:
4036 33 : case SIGN_EXTRACT:
4037 33 : case ZERO_EXTRACT:
4038 33 : operands[2] = x5;
4039 33 : x6 = XEXP (x1, 0);
4040 33 : if (GET_CODE (x6) != ZERO_EXTRACT)
4041 : return -1;
4042 33 : x7 = XEXP (x6, 1);
4043 33 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
4044 : return -1;
4045 33 : x8 = XEXP (x6, 2);
4046 33 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
4047 : return -1;
4048 33 : x9 = XEXP (x6, 0);
4049 33 : operands[0] = x9;
4050 33 : if (!int248_register_operand (operands[0], E_VOIDmode))
4051 : return -1;
4052 33 : x10 = XEXP (x5, 0);
4053 33 : operands[1] = x10;
4054 33 : if (!int248_register_operand (operands[1], E_VOIDmode))
4055 : return -1;
4056 33 : switch (GET_MODE (x6))
4057 : {
4058 27 : case E_HImode:
4059 27 : if (GET_MODE (x2) != E_HImode
4060 27 : || !extract_high_operator (operands[2], E_HImode))
4061 0 : return -1;
4062 : return 5;
4063 :
4064 6 : case E_SImode:
4065 6 : if (GET_MODE (x2) != E_SImode
4066 6 : || !extract_high_operator (operands[2], E_SImode))
4067 0 : return -1;
4068 : return 6;
4069 :
4070 0 : case E_DImode:
4071 0 : if (GET_MODE (x2) != E_DImode
4072 0 : || !extract_high_operator (operands[2], E_DImode))
4073 0 : return -1;
4074 : return 7;
4075 :
4076 : default:
4077 : return -1;
4078 : }
4079 :
4080 : default:
4081 : return -1;
4082 : }
4083 :
4084 18 : case ASHIFT:
4085 18 : if (GET_MODE (x3) != E_QImode)
4086 : return -1;
4087 18 : res = pattern1049 (x1);
4088 18 : if (res >= 0)
4089 18 : return res + 8; /* [8, 10] */
4090 : return -1;
4091 :
4092 : case LSHIFTRT:
4093 : return 11;
4094 :
4095 1724 : case ASHIFTRT:
4096 1724 : return 12;
4097 :
4098 : default:
4099 : return -1;
4100 : }
4101 : }
4102 :
4103 : int
4104 224 : pattern1074 (rtx x1)
4105 : {
4106 224 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4107 224 : rtx x2, x3, x4, x5;
4108 224 : int res ATTRIBUTE_UNUSED;
4109 224 : x2 = XVECEXP (x1, 0, 1);
4110 224 : x3 = XEXP (x2, 0);
4111 224 : if (GET_CODE (x3) != REG
4112 224 : || REGNO (x3) != 17
4113 140 : || GET_MODE (x3) != E_CCmode
4114 364 : || !register_operand (operands[1], E_XFmode))
4115 126 : return -1;
4116 98 : x4 = XVECEXP (x1, 0, 0);
4117 98 : x5 = XEXP (x4, 1);
4118 98 : return pattern554 (x5); /* [-1, 2] */
4119 : }
4120 :
4121 : int
4122 3741169 : pattern1078 (rtx x1, machine_mode i1)
4123 : {
4124 3741169 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4125 3741169 : rtx x2, x3, x4, x5, x6;
4126 3741169 : int res ATTRIBUTE_UNUSED;
4127 3741169 : if (peep2_current_count < 3
4128 3231049 : || GET_CODE (x1) != SET)
4129 : return -1;
4130 2263738 : x2 = XEXP (x1, 1);
4131 2263738 : operands[2] = x2;
4132 2263738 : if (!general_reg_operand (operands[2], i1))
4133 : return -1;
4134 812317 : x3 = XEXP (x1, 0);
4135 812317 : if (!rtx_equal_p (x3, operands[1]))
4136 : return -1;
4137 84422 : x4 = PATTERN (peep2_next_insn (2));
4138 84422 : if (GET_CODE (x4) != SET)
4139 : return -1;
4140 69055 : x5 = XEXP (x4, 1);
4141 69055 : if (!rtx_equal_p (x5, operands[0]))
4142 : return -1;
4143 8176 : x6 = XEXP (x4, 0);
4144 8176 : if (!rtx_equal_p (x6, operands[2]))
4145 : return -1;
4146 : return 0;
4147 : }
4148 :
4149 : int
4150 5528 : pattern1086 (rtx x1)
4151 : {
4152 5528 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4153 5528 : rtx x2, x3, x4;
4154 5528 : int res ATTRIBUTE_UNUSED;
4155 5528 : x2 = XEXP (x1, 1);
4156 5528 : x3 = XEXP (x2, 1);
4157 5528 : if (maybe_ne (SUBREG_BYTE (x3), 0)
4158 5528 : || GET_MODE (x3) != E_QImode)
4159 : return -1;
4160 5528 : x4 = XEXP (x3, 0);
4161 5528 : switch (GET_CODE (x4))
4162 : {
4163 847 : case ASHIFTRT:
4164 847 : case LSHIFTRT:
4165 847 : case SIGN_EXTRACT:
4166 847 : case ZERO_EXTRACT:
4167 847 : operands[4] = x4;
4168 847 : return pattern1085 (x1); /* [-1, 5] */
4169 :
4170 : default:
4171 : return -1;
4172 : }
4173 : }
4174 :
4175 : int
4176 2 : pattern1092 (rtx x1)
4177 : {
4178 2 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4179 2 : rtx x2;
4180 2 : int res ATTRIBUTE_UNUSED;
4181 2 : if (!register_operand (operands[0], E_QImode)
4182 2 : || GET_MODE (x1) != E_QImode)
4183 : return -1;
4184 2 : x2 = XEXP (x1, 0);
4185 2 : if (GET_MODE (x2) != E_QImode)
4186 : return -1;
4187 2 : return pattern749 (); /* [-1, 5] */
4188 : }
4189 :
4190 : int
4191 0 : pattern1100 (rtx x1, machine_mode i1)
4192 : {
4193 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4194 0 : int res ATTRIBUTE_UNUSED;
4195 0 : if (GET_MODE (x1) != i1
4196 0 : || !vector_all_ones_operand (operands[3], i1)
4197 0 : || !const0_operand (operands[4], i1)
4198 0 : || !register_operand (operands[1], i1)
4199 0 : || !const0_operand (operands[2], i1))
4200 0 : return -1;
4201 : return 0;
4202 : }
4203 :
4204 : int
4205 0 : pattern1108 (rtx x1)
4206 : {
4207 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4208 0 : rtx x2, x3, x4, x5, x6, x7, x8;
4209 0 : int res ATTRIBUTE_UNUSED;
4210 0 : x2 = XEXP (x1, 0);
4211 0 : x3 = XEXP (x2, 2);
4212 0 : if (GET_CODE (x3) != UNSPEC
4213 0 : || XVECLEN (x3, 0) != 3
4214 0 : || XINT (x3, 1) != 60
4215 0 : || GET_MODE (x3) != E_QImode)
4216 : return -1;
4217 0 : x4 = XVECEXP (x3, 0, 2);
4218 0 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
4219 : return -1;
4220 0 : x5 = XEXP (x2, 0);
4221 0 : operands[3] = x5;
4222 0 : x6 = XEXP (x2, 1);
4223 0 : operands[4] = x6;
4224 0 : x7 = XVECEXP (x3, 0, 0);
4225 0 : operands[1] = x7;
4226 0 : x8 = XVECEXP (x3, 0, 1);
4227 0 : operands[2] = x8;
4228 0 : switch (GET_MODE (x1))
4229 : {
4230 0 : case E_V8SFmode:
4231 0 : return pattern1107 (x2,
4232 0 : E_V8SImode); /* [-1, 0] */
4233 :
4234 0 : case E_V4SFmode:
4235 0 : if (pattern1107 (x2,
4236 : E_V4SImode) != 0)
4237 : return -1;
4238 : return 1;
4239 :
4240 0 : case E_V4DFmode:
4241 0 : if (pattern1107 (x2,
4242 : E_V4DImode) != 0)
4243 : return -1;
4244 : return 2;
4245 :
4246 0 : case E_V2DFmode:
4247 0 : if (pattern1107 (x2,
4248 : E_V2DImode) != 0)
4249 : return -1;
4250 : return 3;
4251 :
4252 : default:
4253 : return -1;
4254 : }
4255 : }
4256 :
4257 : int
4258 1427 : pattern1117 (rtx x1, machine_mode i1)
4259 : {
4260 1427 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4261 1427 : rtx x2;
4262 1427 : int res ATTRIBUTE_UNUSED;
4263 1427 : if (!register_operand (operands[0], i1)
4264 1427 : || GET_MODE (x1) != i1)
4265 : return -1;
4266 1364 : x2 = XEXP (x1, 0);
4267 1364 : if (GET_MODE (x2) != i1
4268 1364 : || !nonimm_or_0_operand (operands[2], i1)
4269 2701 : || !register_operand (operands[3], E_QImode))
4270 92 : return -1;
4271 1272 : switch (GET_MODE (operands[1]))
4272 : {
4273 : case E_V8HFmode:
4274 : return 0;
4275 :
4276 415 : case E_V4SFmode:
4277 415 : return 1;
4278 :
4279 418 : case E_V4DFmode:
4280 418 : return 2;
4281 :
4282 : default:
4283 : return -1;
4284 : }
4285 : }
4286 :
4287 : int
4288 1743 : pattern1123 (rtx x1)
4289 : {
4290 1743 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4291 1743 : rtx x2;
4292 1743 : int res ATTRIBUTE_UNUSED;
4293 1743 : x2 = XEXP (x1, 1);
4294 1743 : if (!rtx_equal_p (x2, operands[1]))
4295 : return -1;
4296 1743 : switch (GET_MODE (operands[0]))
4297 : {
4298 901 : case E_V4SFmode:
4299 901 : return pattern461 (x1,
4300 901 : E_V4SFmode); /* [-1, 0] */
4301 :
4302 842 : case E_V2DFmode:
4303 842 : if (pattern461 (x1,
4304 : E_V2DFmode) != 0)
4305 : return -1;
4306 : return 1;
4307 :
4308 : default:
4309 : return -1;
4310 : }
4311 : }
4312 :
4313 : int
4314 16477 : pattern1128 (rtx x1, machine_mode i1)
4315 : {
4316 16477 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4317 16477 : rtx x2, x3;
4318 16477 : int res ATTRIBUTE_UNUSED;
4319 16477 : if (!register_operand (operands[0], i1)
4320 16477 : || GET_MODE (x1) != i1)
4321 : return -1;
4322 15659 : x2 = XEXP (x1, 0);
4323 15659 : if (GET_MODE (x2) != i1
4324 15659 : || !register_operand (operands[1], i1)
4325 31310 : || !vector_operand (operands[2], i1))
4326 20 : return -1;
4327 15639 : x3 = XEXP (x1, 1);
4328 15639 : if (GET_MODE (x3) != i1)
4329 : return -1;
4330 : return 0;
4331 : }
4332 :
4333 : int
4334 1410 : pattern1136 (rtx x1, rtx_code i1)
4335 : {
4336 1410 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4337 1410 : rtx x2, x3, x4, x5, x6, x7, x8;
4338 1410 : int res ATTRIBUTE_UNUSED;
4339 1410 : x2 = XEXP (x1, 0);
4340 1410 : x3 = XEXP (x2, 0);
4341 1410 : x4 = XEXP (x3, 0);
4342 1410 : x5 = XEXP (x4, 1);
4343 1410 : if (GET_CODE (x5) != i1)
4344 : return -1;
4345 1278 : x6 = XEXP (x4, 0);
4346 1278 : x7 = XEXP (x6, 0);
4347 1278 : operands[1] = x7;
4348 1278 : x8 = XEXP (x5, 0);
4349 1278 : operands[2] = x8;
4350 1278 : switch (GET_MODE (operands[0]))
4351 : {
4352 474 : case E_V32HImode:
4353 474 : return pattern1135 (x1,
4354 : E_SImode,
4355 : E_V32HImode,
4356 474 : E_V32SImode); /* [-1, 0] */
4357 :
4358 434 : case E_V16HImode:
4359 434 : if (pattern1135 (x1,
4360 : E_HImode,
4361 : E_V16HImode,
4362 : E_V16SImode) != 0)
4363 : return -1;
4364 : return 1;
4365 :
4366 370 : case E_V8HImode:
4367 370 : if (pattern1135 (x1,
4368 : E_QImode,
4369 : E_V8HImode,
4370 : E_V8SImode) != 0)
4371 : return -1;
4372 : return 2;
4373 :
4374 : default:
4375 : return -1;
4376 : }
4377 : }
4378 :
4379 : int
4380 436 : pattern1150 (rtx x1, machine_mode i1, machine_mode i2)
4381 : {
4382 436 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4383 436 : int res ATTRIBUTE_UNUSED;
4384 436 : if (!register_operand (operands[0], i2)
4385 401 : || GET_MODE (x1) != i2
4386 401 : || !register_operand (operands[1], i2)
4387 339 : || !register_operand (operands[2], i2)
4388 761 : || !nonimmediate_operand (operands[3], i1))
4389 111 : return -1;
4390 : return 0;
4391 : }
4392 :
4393 : int
4394 2314 : pattern1156 (rtx x1)
4395 : {
4396 2314 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4397 2314 : rtx x2, x3, x4, x5;
4398 2314 : int res ATTRIBUTE_UNUSED;
4399 2314 : x2 = XVECEXP (x1, 0, 0);
4400 2314 : switch (XWINT (x2, 0))
4401 : {
4402 1502 : case 0L:
4403 1502 : x3 = XVECEXP (x1, 0, 1);
4404 1502 : switch (XWINT (x3, 0))
4405 : {
4406 : case 1L:
4407 : return 0;
4408 :
4409 232 : case 2L:
4410 232 : return 1;
4411 :
4412 : default:
4413 : return -1;
4414 : }
4415 :
4416 224 : case 1L:
4417 224 : x3 = XVECEXP (x1, 0, 1);
4418 224 : if (XWINT (x3, 0) != 3L)
4419 : return -1;
4420 224 : x4 = XVECEXP (x1, 0, 2);
4421 224 : if (XWINT (x4, 0) != 5L)
4422 : return -1;
4423 224 : x5 = XVECEXP (x1, 0, 3);
4424 224 : if (XWINT (x5, 0) != 7L)
4425 : return -1;
4426 : return 2;
4427 :
4428 : default:
4429 : return -1;
4430 : }
4431 : }
4432 :
4433 : int
4434 0 : pattern1167 (rtx x1)
4435 : {
4436 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4437 0 : rtx x2;
4438 0 : int res ATTRIBUTE_UNUSED;
4439 0 : if (XVECLEN (x1, 0) != 1
4440 0 : || XINT (x1, 1) != 20
4441 0 : || GET_MODE (x1) != E_SImode)
4442 : return -1;
4443 0 : x2 = XVECEXP (x1, 0, 0);
4444 0 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4445 0 : return -1;
4446 : return 0;
4447 : }
4448 :
4449 : int
4450 485 : pattern1172 (rtx x1)
4451 : {
4452 485 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4453 485 : rtx x2, x3, x4, x5, x6, x7;
4454 485 : int res ATTRIBUTE_UNUSED;
4455 485 : x2 = XEXP (x1, 0);
4456 485 : x3 = XEXP (x2, 0);
4457 485 : x4 = XEXP (x3, 1);
4458 485 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4459 : return -1;
4460 481 : x5 = XEXP (x3, 0);
4461 481 : operands[3] = x5;
4462 481 : if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
4463 : return -1;
4464 246 : x6 = XEXP (x2, 1);
4465 246 : operands[1] = x6;
4466 246 : x7 = XEXP (x1, 1);
4467 246 : operands[2] = x7;
4468 246 : switch (GET_MODE (operands[0]))
4469 : {
4470 6 : case E_QImode:
4471 6 : return pattern1170 (x1,
4472 6 : E_QImode); /* [-1, 0] */
4473 :
4474 0 : case E_HImode:
4475 0 : if (pattern1170 (x1,
4476 : E_HImode) != 0)
4477 : return -1;
4478 : return 1;
4479 :
4480 223 : case E_SImode:
4481 223 : if (pattern1171 (x1,
4482 : E_SImode) != 0)
4483 : return -1;
4484 : return 2;
4485 :
4486 17 : case E_DImode:
4487 17 : if (pattern1171 (x1,
4488 : E_DImode) != 0)
4489 : return -1;
4490 : return 3;
4491 :
4492 : default:
4493 : return -1;
4494 : }
4495 : }
4496 :
4497 : int
4498 107 : pattern1186 (rtx x1)
4499 : {
4500 107 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4501 107 : rtx x2, x3, x4;
4502 107 : int res ATTRIBUTE_UNUSED;
4503 107 : x2 = XEXP (x1, 0);
4504 107 : if (GET_MODE (x2) != E_SImode
4505 77 : || !register_operand (operands[0], E_DImode)
4506 184 : || GET_MODE (x1) != E_DImode)
4507 30 : return -1;
4508 77 : x3 = XEXP (x2, 0);
4509 77 : operands[1] = x3;
4510 77 : if (!nonimmediate_operand (operands[1], E_SImode))
4511 : return -1;
4512 72 : x4 = XEXP (x2, 1);
4513 72 : operands[2] = x4;
4514 72 : if (!const_int_operand (operands[2], E_QImode))
4515 : return -1;
4516 : return 0;
4517 : }
4518 :
4519 : int
4520 206 : pattern1195 (rtx x1)
4521 : {
4522 206 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4523 206 : rtx x2, x3, x4, x5, x6, x7, x8;
4524 206 : int res ATTRIBUTE_UNUSED;
4525 206 : x2 = XEXP (x1, 1);
4526 206 : x3 = XEXP (x2, 1);
4527 206 : switch (GET_CODE (x3))
4528 : {
4529 156 : case LABEL_REF:
4530 156 : x4 = XEXP (x2, 2);
4531 156 : if (GET_CODE (x4) != PC)
4532 : return -1;
4533 156 : x5 = XEXP (x1, 0);
4534 156 : if (GET_CODE (x5) != PC)
4535 : return -1;
4536 156 : x6 = XEXP (x2, 0);
4537 156 : operands[0] = x6;
4538 156 : x7 = XEXP (x6, 0);
4539 156 : operands[1] = x7;
4540 156 : x8 = XEXP (x3, 0);
4541 156 : operands[2] = x8;
4542 156 : switch (GET_MODE (operands[1]))
4543 : {
4544 8 : case E_QImode:
4545 8 : if (!register_operand (operands[1], E_QImode))
4546 : return -1;
4547 : return 0;
4548 :
4549 64 : case E_HImode:
4550 64 : if (!register_operand (operands[1], E_HImode))
4551 : return -1;
4552 : return 1;
4553 :
4554 62 : case E_SImode:
4555 62 : if (!register_operand (operands[1], E_SImode))
4556 : return -1;
4557 : return 2;
4558 :
4559 22 : case E_DImode:
4560 22 : if (!register_operand (operands[1], E_DImode))
4561 : return -1;
4562 : return 3;
4563 :
4564 : default:
4565 : return -1;
4566 : }
4567 :
4568 49 : case REG:
4569 49 : case SUBREG:
4570 49 : case MEM:
4571 49 : operands[2] = x3;
4572 49 : x5 = XEXP (x1, 0);
4573 49 : operands[0] = x5;
4574 49 : x6 = XEXP (x2, 0);
4575 49 : operands[1] = x6;
4576 49 : x7 = XEXP (x6, 0);
4577 49 : operands[4] = x7;
4578 49 : x4 = XEXP (x2, 2);
4579 49 : operands[3] = x4;
4580 49 : switch (GET_MODE (operands[0]))
4581 : {
4582 7 : case E_QImode:
4583 7 : if (!register_operand (operands[0], E_QImode)
4584 7 : || GET_MODE (x2) != E_QImode
4585 7 : || !register_operand (operands[2], E_QImode)
4586 14 : || !register_operand (operands[3], E_QImode))
4587 0 : return -1;
4588 7 : res = pattern1193 ();
4589 7 : if (res >= 0)
4590 7 : return res + 4; /* [4, 7] */
4591 : return -1;
4592 :
4593 7 : case E_HImode:
4594 7 : res = pattern1194 (x2,
4595 : E_HImode);
4596 7 : if (res >= 0)
4597 7 : return res + 8; /* [8, 11] */
4598 : return -1;
4599 :
4600 28 : case E_SImode:
4601 28 : res = pattern1194 (x2,
4602 : E_SImode);
4603 28 : if (res >= 0)
4604 28 : return res + 12; /* [12, 15] */
4605 : return -1;
4606 :
4607 7 : case E_DImode:
4608 7 : res = pattern1194 (x2,
4609 : E_DImode);
4610 7 : if (res >= 0)
4611 7 : return res + 16; /* [16, 19] */
4612 : return -1;
4613 :
4614 : default:
4615 : return -1;
4616 : }
4617 :
4618 : default:
4619 : return -1;
4620 : }
4621 : }
4622 :
4623 : int
4624 52 : pattern1227 (rtx x1, machine_mode i1, machine_mode i2)
4625 : {
4626 52 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4627 52 : rtx x2, x3;
4628 52 : int res ATTRIBUTE_UNUSED;
4629 52 : if (!register_operand (operands[0], i1)
4630 52 : || GET_MODE (x1) != i1)
4631 : return -1;
4632 52 : x2 = XEXP (x1, 0);
4633 52 : if (GET_MODE (x2) != i1)
4634 : return -1;
4635 52 : x3 = XEXP (x2, 0);
4636 52 : if (GET_MODE (x3) != i2
4637 52 : || !register_operand (operands[1], i1))
4638 10 : return -1;
4639 : return 0;
4640 : }
4641 :
4642 : int
4643 238 : pattern1233 (rtx x1, machine_mode i1)
4644 : {
4645 238 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4646 238 : rtx x2;
4647 238 : int res ATTRIBUTE_UNUSED;
4648 238 : if (!register_operand (operands[0], i1)
4649 238 : || GET_MODE (x1) != i1)
4650 : return -1;
4651 228 : x2 = XVECEXP (x1, 0, 0);
4652 228 : if (GET_MODE (x2) != i1)
4653 : return -1;
4654 228 : switch (GET_MODE (operands[1]))
4655 : {
4656 59 : case E_V8HFmode:
4657 59 : if (!register_operand (operands[1], E_V8HFmode))
4658 : return -1;
4659 : return 0;
4660 :
4661 52 : case E_V8SFmode:
4662 52 : if (!nonimmediate_operand (operands[1], E_V8SFmode))
4663 : return -1;
4664 : return 1;
4665 :
4666 117 : case E_V8DFmode:
4667 117 : if (!nonimmediate_operand (operands[1], E_V8DFmode))
4668 : return -1;
4669 : return 2;
4670 :
4671 : default:
4672 : return -1;
4673 : }
4674 : }
4675 :
4676 : int
4677 10098 : pattern1242 (rtx x1)
4678 : {
4679 10098 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4680 10098 : rtx x2, x3, x4;
4681 10098 : int res ATTRIBUTE_UNUSED;
4682 10098 : x2 = XEXP (x1, 0);
4683 10098 : x3 = XEXP (x2, 0);
4684 10098 : operands[1] = x3;
4685 10098 : x4 = XEXP (x2, 1);
4686 10098 : operands[2] = x4;
4687 10098 : if (!const_int_operand (operands[2], E_QImode))
4688 : return -1;
4689 10085 : switch (GET_MODE (operands[0]))
4690 : {
4691 8156 : case E_SImode:
4692 8156 : return pattern1241 (x1,
4693 : E_DImode,
4694 8156 : E_SImode); /* [-1, 0] */
4695 :
4696 266 : case E_DImode:
4697 266 : if (pattern1241 (x1,
4698 : E_TImode,
4699 : E_DImode) != 0)
4700 : return -1;
4701 : return 1;
4702 :
4703 : default:
4704 : return -1;
4705 : }
4706 : }
4707 :
4708 : int
4709 21452 : pattern1248 (rtx x1, rtx_code i1)
4710 : {
4711 21452 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4712 21452 : rtx x2, x3, x4, x5;
4713 21452 : int res ATTRIBUTE_UNUSED;
4714 21452 : x2 = XVECEXP (x1, 0, 1);
4715 21452 : x3 = XEXP (x2, 1);
4716 21452 : if (GET_CODE (x3) != i1)
4717 : return -1;
4718 18072 : x4 = XVECEXP (x1, 0, 0);
4719 18072 : x5 = XEXP (x4, 0);
4720 18072 : if (GET_MODE (x5) != E_CCGOCmode)
4721 : return -1;
4722 18072 : return pattern368 (x1,
4723 18072 : E_CCGOCmode); /* [-1, 3] */
4724 : }
4725 :
4726 : int
4727 12524 : pattern1251 (rtx x1)
4728 : {
4729 12524 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4730 12524 : rtx x2, x3, x4, x5, x6, x7;
4731 12524 : int res ATTRIBUTE_UNUSED;
4732 12524 : x2 = XVECEXP (x1, 0, 1);
4733 12524 : x3 = XEXP (x2, 1);
4734 12524 : x4 = XEXP (x3, 0);
4735 12524 : if (!rtx_equal_p (x4, operands[1]))
4736 : return -1;
4737 12524 : x5 = XVECEXP (x1, 0, 0);
4738 12524 : x6 = XEXP (x5, 1);
4739 12524 : x7 = XEXP (x6, 0);
4740 12524 : switch (GET_MODE (x7))
4741 : {
4742 202 : case E_QImode:
4743 202 : if (!nonimmediate_operand (operands[1], E_QImode)
4744 146 : || !nonimmediate_operand (operands[0], E_QImode)
4745 348 : || GET_MODE (x3) != E_QImode)
4746 56 : return -1;
4747 : return 0;
4748 :
4749 754 : case E_HImode:
4750 754 : if (!nonimmediate_operand (operands[1], E_HImode)
4751 754 : || !nonimmediate_operand (operands[0], E_HImode)
4752 1508 : || GET_MODE (x3) != E_HImode)
4753 0 : return -1;
4754 : return 1;
4755 :
4756 4756 : case E_SImode:
4757 4756 : if (!nonimmediate_operand (operands[1], E_SImode)
4758 4733 : || !nonimmediate_operand (operands[0], E_SImode)
4759 9489 : || GET_MODE (x3) != E_SImode)
4760 23 : return -1;
4761 : return 2;
4762 :
4763 6746 : case E_DImode:
4764 6746 : if (!nonimmediate_operand (operands[1], E_DImode)
4765 6746 : || !nonimmediate_operand (operands[0], E_DImode)
4766 13492 : || GET_MODE (x3) != E_DImode)
4767 0 : return -1;
4768 : return 3;
4769 :
4770 : default:
4771 : return -1;
4772 : }
4773 : }
4774 :
4775 : int
4776 98074 : pattern1267 (rtx x1, int i1)
4777 : {
4778 98074 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4779 98074 : rtx x2, x3, x4, x5, x6, x7, x8;
4780 98074 : int res ATTRIBUTE_UNUSED;
4781 98074 : if (GET_CODE (x1) != SET)
4782 : return -1;
4783 69597 : x2 = XEXP (x1, 1);
4784 69597 : if (GET_CODE (x2) != COMPARE
4785 26585 : || GET_MODE (x2) != E_CCZmode)
4786 : return -1;
4787 18070 : x3 = XEXP (x2, 1);
4788 18070 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
4789 : return -1;
4790 6937 : x4 = XEXP (x1, 0);
4791 6937 : if (GET_CODE (x4) != REG
4792 6937 : || REGNO (x4) != 17
4793 13874 : || GET_MODE (x4) != E_CCZmode)
4794 : return -1;
4795 6937 : x5 = XEXP (x2, 0);
4796 6937 : if (!rtx_equal_p (x5, operands[0]))
4797 : return -1;
4798 825 : x6 = PATTERN (peep2_next_insn (2));
4799 825 : if (GET_CODE (x6) != SET)
4800 : return -1;
4801 825 : x7 = XEXP (x6, 1);
4802 825 : if (GET_CODE (x7) != IF_THEN_ELSE)
4803 : return -1;
4804 822 : x8 = XEXP (x7, 0);
4805 822 : if (!bt_comparison_operator (x8, E_VOIDmode))
4806 : return -1;
4807 : return 0;
4808 : }
4809 :
4810 : int
4811 0 : pattern1278 (rtx x1, machine_mode i1)
4812 : {
4813 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4814 0 : rtx x2, x3;
4815 0 : int res ATTRIBUTE_UNUSED;
4816 0 : if (!nonimmediate_operand (operands[0], i1)
4817 0 : || GET_MODE (x1) != i1)
4818 : return -1;
4819 0 : x2 = XEXP (x1, 0);
4820 0 : if (GET_MODE (x2) != i1
4821 0 : || !nonimmediate_operand (operands[1], i1))
4822 0 : return -1;
4823 0 : x3 = XEXP (x2, 1);
4824 0 : if (GET_MODE (x3) != i1
4825 0 : || !general_operand (operands[2], i1))
4826 0 : return -1;
4827 : return 0;
4828 : }
4829 :
4830 : int
4831 666 : pattern1286 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
4832 : {
4833 666 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4834 666 : rtx x2;
4835 666 : int res ATTRIBUTE_UNUSED;
4836 666 : if (!register_operand (operands[0], i2)
4837 666 : || GET_MODE (x1) != i2)
4838 : return -1;
4839 640 : x2 = XEXP (x1, 0);
4840 640 : if (GET_MODE (x2) != i2
4841 640 : || !register_operand (operands[1], i3)
4842 640 : || !nonimmediate_operand (operands[2], i3)
4843 640 : || !nonimm_or_0_operand (operands[4], i2)
4844 1259 : || !register_operand (operands[5], i1))
4845 54 : return -1;
4846 : return 0;
4847 : }
4848 :
4849 : int
4850 3387 : pattern1296 (rtx x1)
4851 : {
4852 3387 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4853 3387 : rtx x2, x3;
4854 3387 : int res ATTRIBUTE_UNUSED;
4855 3387 : x2 = XEXP (x1, 2);
4856 3387 : if (GET_MODE (x2) != E_QImode)
4857 : return -1;
4858 2021 : x3 = XVECEXP (x2, 0, 2);
4859 2021 : operands[5] = x3;
4860 2021 : if (!const_0_to_31_operand (operands[5], E_SImode))
4861 : return -1;
4862 2021 : switch (GET_MODE (operands[0]))
4863 : {
4864 752 : case E_V8SImode:
4865 752 : return pattern1295 (x1,
4866 : E_V8SFmode,
4867 752 : E_V8SImode); /* [-1, 0] */
4868 :
4869 814 : case E_V4SImode:
4870 814 : if (pattern1295 (x1,
4871 : E_V4SFmode,
4872 : E_V4SImode) != 0)
4873 : return -1;
4874 : return 1;
4875 :
4876 97 : case E_V4DImode:
4877 97 : if (pattern1295 (x1,
4878 : E_V4DFmode,
4879 : E_V4DImode) != 0)
4880 : return -1;
4881 : return 2;
4882 :
4883 92 : case E_V2DImode:
4884 92 : if (pattern1295 (x1,
4885 : E_V2DFmode,
4886 : E_V2DImode) != 0)
4887 : return -1;
4888 : return 3;
4889 :
4890 : default:
4891 : return -1;
4892 : }
4893 : }
4894 :
4895 : int
4896 3662 : pattern1307 (rtx x1)
4897 : {
4898 3662 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4899 3662 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4900 3662 : int res ATTRIBUTE_UNUSED;
4901 3662 : x2 = XVECEXP (x1, 0, 4);
4902 3662 : if (GET_CODE (x2) != CONST_INT)
4903 : return -1;
4904 3662 : x3 = XVECEXP (x1, 0, 5);
4905 3662 : if (GET_CODE (x3) != CONST_INT)
4906 : return -1;
4907 3662 : x4 = XVECEXP (x1, 0, 6);
4908 3662 : if (GET_CODE (x4) != CONST_INT)
4909 : return -1;
4910 3662 : x5 = XVECEXP (x1, 0, 7);
4911 3662 : if (GET_CODE (x5) != CONST_INT)
4912 : return -1;
4913 3662 : x6 = XVECEXP (x1, 0, 8);
4914 3662 : if (GET_CODE (x6) != CONST_INT)
4915 : return -1;
4916 3662 : x7 = XVECEXP (x1, 0, 9);
4917 3662 : if (GET_CODE (x7) != CONST_INT)
4918 : return -1;
4919 3662 : x8 = XVECEXP (x1, 0, 10);
4920 3662 : if (GET_CODE (x8) != CONST_INT)
4921 : return -1;
4922 3662 : x9 = XVECEXP (x1, 0, 11);
4923 3662 : if (GET_CODE (x9) != CONST_INT)
4924 0 : return -1;
4925 : return 0;
4926 : }
4927 :
4928 : int
4929 1551 : pattern1319 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
4930 : {
4931 1551 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4932 1551 : rtx x2, x3;
4933 1551 : int res ATTRIBUTE_UNUSED;
4934 1551 : if (!register_operand (operands[0], i1)
4935 1551 : || GET_MODE (x1) != i1)
4936 : return -1;
4937 1524 : x2 = XVECEXP (x1, 0, 0);
4938 1524 : if (GET_MODE (x2) != i1)
4939 : return -1;
4940 1524 : x3 = XEXP (x2, 0);
4941 1524 : if (GET_MODE (x3) != i1
4942 1524 : || !nonimmediate_operand (operands[1], i2)
4943 1524 : || !nonimm_or_0_operand (operands[2], i1)
4944 3045 : || !register_operand (operands[3], i3))
4945 12 : return -1;
4946 : return 0;
4947 : }
4948 :
4949 : int
4950 1311 : pattern1324 (rtx x1)
4951 : {
4952 1311 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4953 1311 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4954 1311 : rtx x10, x11, x12;
4955 1311 : int res ATTRIBUTE_UNUSED;
4956 1311 : x2 = XEXP (x1, 0);
4957 1311 : x3 = XEXP (x2, 0);
4958 1311 : x4 = XEXP (x3, 0);
4959 1311 : x5 = XEXP (x4, 1);
4960 1311 : x6 = XVECEXP (x5, 0, 0);
4961 1311 : if (GET_CODE (x6) != CONST_INT)
4962 : return -1;
4963 1311 : x7 = XVECEXP (x5, 0, 1);
4964 1311 : if (GET_CODE (x7) != CONST_INT)
4965 : return -1;
4966 1311 : x8 = XEXP (x2, 1);
4967 1311 : x9 = XEXP (x8, 0);
4968 1311 : x10 = XEXP (x9, 1);
4969 1311 : if (XVECLEN (x10, 0) != 2)
4970 : return -1;
4971 1311 : x11 = XVECEXP (x10, 0, 0);
4972 1311 : if (GET_CODE (x11) != CONST_INT)
4973 : return -1;
4974 1311 : x12 = XVECEXP (x10, 0, 1);
4975 1311 : if (GET_CODE (x12) != CONST_INT
4976 1311 : || !register_operand (operands[0], E_V2DImode)
4977 1253 : || GET_MODE (x1) != E_V2DImode
4978 1253 : || GET_MODE (x2) != E_V2DImode
4979 1253 : || GET_MODE (x3) != E_V2DImode
4980 1253 : || GET_MODE (x4) != E_V2SImode
4981 2564 : || !nonimmediate_operand (operands[1], E_V4SImode))
4982 245 : return -1;
4983 : return 0;
4984 : }
4985 :
4986 : int
4987 599 : pattern1339 (rtx x1)
4988 : {
4989 599 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4990 599 : rtx x2, x3, x4, x5, x6, x7;
4991 599 : int res ATTRIBUTE_UNUSED;
4992 599 : x2 = XEXP (x1, 0);
4993 599 : x3 = XEXP (x2, 1);
4994 599 : if (maybe_ne (SUBREG_BYTE (x3), 0)
4995 599 : || GET_MODE (x3) != E_QImode)
4996 : return -1;
4997 599 : x4 = XEXP (x3, 0);
4998 599 : if (GET_CODE (x4) != AND)
4999 : return -1;
5000 162 : x5 = XEXP (x4, 0);
5001 162 : operands[1] = x5;
5002 162 : if (!int248_register_operand (operands[1], E_VOIDmode))
5003 : return -1;
5004 157 : x6 = XEXP (x4, 1);
5005 157 : operands[2] = x6;
5006 157 : if (!const_int_operand (operands[2], E_VOIDmode))
5007 : return -1;
5008 157 : x7 = XEXP (x1, 1);
5009 157 : operands[3] = x7;
5010 157 : switch (GET_MODE (operands[0]))
5011 : {
5012 64 : case E_SImode:
5013 64 : return pattern374 (x1,
5014 64 : E_SImode); /* [-1, 0] */
5015 :
5016 65 : case E_DImode:
5017 65 : if (pattern374 (x1,
5018 : E_DImode) != 0)
5019 : return -1;
5020 : return 1;
5021 :
5022 : default:
5023 : return -1;
5024 : }
5025 : }
5026 :
5027 : int
5028 36217 : pattern1353 (rtx x1)
5029 : {
5030 36217 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5031 36217 : rtx x2, x3, x4, x5, x6, x7;
5032 36217 : int res ATTRIBUTE_UNUSED;
5033 36217 : x2 = XVECEXP (x1, 0, 1);
5034 36217 : if (GET_CODE (x2) != CLOBBER)
5035 : return -1;
5036 36217 : x3 = XEXP (x2, 0);
5037 36217 : if (GET_CODE (x3) != REG
5038 36217 : || REGNO (x3) != 17
5039 72434 : || GET_MODE (x3) != E_CCmode)
5040 : return -1;
5041 36217 : x4 = XVECEXP (x1, 0, 0);
5042 36217 : x5 = XEXP (x4, 1);
5043 36217 : x6 = XEXP (x5, 0);
5044 36217 : if (!rtx_equal_p (x6, operands[0]))
5045 : return -1;
5046 34915 : x7 = XEXP (x4, 0);
5047 34915 : if (!rtx_equal_p (x7, operands[0]))
5048 : return -1;
5049 : return 0;
5050 : }
5051 :
5052 : int
5053 284979 : pattern1361 (rtx x1, machine_mode i1)
5054 : {
5055 284979 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5056 284979 : rtx x2, x3, x4, x5, x6;
5057 284979 : int res ATTRIBUTE_UNUSED;
5058 284979 : if (!plusminuslogic_operator (operands[3], i1))
5059 : return -1;
5060 277665 : x2 = XVECEXP (x1, 0, 1);
5061 277665 : if (GET_CODE (x2) != CLOBBER)
5062 : return -1;
5063 277665 : x3 = XEXP (x2, 0);
5064 277665 : if (GET_CODE (x3) != REG
5065 277665 : || REGNO (x3) != 17
5066 555330 : || GET_MODE (x3) != E_CCmode)
5067 : return -1;
5068 277665 : x4 = XVECEXP (x1, 0, 0);
5069 277665 : x5 = XEXP (x4, 1);
5070 277665 : x6 = XEXP (x5, 1);
5071 277665 : operands[2] = x6;
5072 277665 : if (!x86_64_nonmemory_operand (operands[2], i1))
5073 : return -1;
5074 : return 0;
5075 : }
5076 :
5077 : int
5078 21 : pattern1370 (rtx x1, machine_mode i1)
5079 : {
5080 21 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5081 21 : rtx x2;
5082 21 : int res ATTRIBUTE_UNUSED;
5083 21 : if (!nonimmediate_operand (operands[0], i1)
5084 21 : || GET_MODE (x1) != i1)
5085 : return -1;
5086 21 : x2 = XEXP (x1, 0);
5087 21 : if (GET_MODE (x2) != i1
5088 21 : || !nonimmediate_operand (operands[1], i1)
5089 21 : || !ix86_carry_flag_operator (operands[4], i1)
5090 42 : || !general_operand (operands[2], i1))
5091 0 : return -1;
5092 : return 0;
5093 : }
5094 :
5095 : int
5096 454 : pattern1377 (rtx x1, machine_mode i1, machine_mode i2)
5097 : {
5098 454 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5099 454 : rtx x2, x3;
5100 454 : int res ATTRIBUTE_UNUSED;
5101 454 : if (!register_operand (operands[0], i1)
5102 454 : || GET_MODE (x1) != i1)
5103 : return -1;
5104 404 : x2 = XEXP (x1, 0);
5105 404 : if (GET_MODE (x2) != i1
5106 404 : || !vector_operand (operands[1], i1)
5107 808 : || !vector_operand (operands[2], i1))
5108 0 : return -1;
5109 404 : x3 = XVECEXP (x2, 0, 2);
5110 404 : if (GET_MODE (x3) != i1
5111 404 : || !vector_operand (operands[3], i1)
5112 404 : || !const0_operand (operands[4], i1)
5113 808 : || !register_operand (operands[5], i2))
5114 33 : return -1;
5115 : return 0;
5116 : }
5117 :
5118 : int
5119 546 : pattern1384 (machine_mode i1, machine_mode i2)
5120 : {
5121 546 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5122 546 : int res ATTRIBUTE_UNUSED;
5123 546 : if (!nonimmediate_operand (operands[2], i2)
5124 546 : || !nonimmediate_operand (operands[3], i2)
5125 546 : || !const0_operand (operands[4], i2)
5126 1092 : || !register_operand (operands[5], i1))
5127 0 : return -1;
5128 : return 0;
5129 : }
5130 :
5131 : int
5132 279 : pattern1391 (rtx x1, machine_mode i1, machine_mode i2)
5133 : {
5134 279 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5135 279 : rtx x2, x3;
5136 279 : int res ATTRIBUTE_UNUSED;
5137 279 : if (!register_operand (operands[0], i2)
5138 279 : || GET_MODE (x1) != i2)
5139 : return -1;
5140 273 : x2 = XEXP (x1, 0);
5141 273 : if (GET_MODE (x2) != i2
5142 273 : || !nonimmediate_operand (operands[1], i2))
5143 0 : return -1;
5144 273 : x3 = XEXP (x2, 2);
5145 273 : return pattern1390 (x3,
5146 : i1,
5147 273 : i2); /* [-1, 0] */
5148 : }
5149 :
5150 : int
5151 279 : pattern1401 (rtx x1, machine_mode i1, machine_mode i2)
5152 : {
5153 279 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5154 279 : rtx x2, x3, x4;
5155 279 : int res ATTRIBUTE_UNUSED;
5156 279 : if (!register_operand (operands[0], i2)
5157 279 : || GET_MODE (x1) != i2)
5158 : return -1;
5159 273 : x2 = XEXP (x1, 0);
5160 273 : if (GET_MODE (x2) != i2)
5161 : return -1;
5162 273 : x3 = XEXP (x2, 0);
5163 273 : if (GET_MODE (x3) != i2
5164 273 : || !nonimmediate_operand (operands[1], i2))
5165 0 : return -1;
5166 273 : x4 = XEXP (x2, 2);
5167 273 : return pattern1390 (x4,
5168 : i1,
5169 273 : i2); /* [-1, 0] */
5170 : }
5171 :
5172 : int
5173 1571 : pattern1410 (rtx x1)
5174 : {
5175 1571 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5176 1571 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5177 1571 : rtx x10, x11;
5178 1571 : int res ATTRIBUTE_UNUSED;
5179 1571 : x2 = XVECEXP (x1, 0, 0);
5180 1571 : x3 = XEXP (x2, 0);
5181 1571 : x4 = XEXP (x3, 1);
5182 1571 : switch (GET_CODE (x4))
5183 : {
5184 1136 : case REG:
5185 1136 : case SUBREG:
5186 1136 : case MEM:
5187 1136 : x5 = XEXP (x3, 2);
5188 1136 : operands[4] = x5;
5189 1136 : x6 = XVECEXP (x1, 0, 1);
5190 1136 : operands[5] = x6;
5191 1136 : switch (GET_MODE (operands[0]))
5192 : {
5193 572 : case E_V8HFmode:
5194 572 : return pattern1409 (x1,
5195 572 : E_V8HFmode); /* [-1, 0] */
5196 :
5197 277 : case E_V4SFmode:
5198 277 : if (pattern1409 (x1,
5199 : E_V4SFmode) != 0)
5200 : return -1;
5201 : return 1;
5202 :
5203 287 : case E_V2DFmode:
5204 287 : if (pattern1409 (x1,
5205 : E_V2DFmode) != 0)
5206 : return -1;
5207 : return 2;
5208 :
5209 : default:
5210 : return -1;
5211 : }
5212 :
5213 435 : case CONST_INT:
5214 435 : case CONST_DOUBLE:
5215 435 : case CONST_VECTOR:
5216 435 : operands[4] = x4;
5217 435 : x7 = XEXP (x3, 0);
5218 435 : x8 = XEXP (x7, 0);
5219 435 : x9 = XEXP (x8, 0);
5220 435 : operands[2] = x9;
5221 435 : x10 = XEXP (x7, 1);
5222 435 : operands[1] = x10;
5223 435 : x5 = XEXP (x3, 2);
5224 435 : operands[5] = x5;
5225 435 : x6 = XVECEXP (x1, 0, 1);
5226 435 : operands[6] = x6;
5227 435 : x11 = XEXP (x2, 1);
5228 435 : if (!rtx_equal_p (x11, operands[1]))
5229 : return -1;
5230 435 : switch (GET_MODE (operands[0]))
5231 : {
5232 : case E_V8HFmode:
5233 : return 3;
5234 :
5235 : case E_V4SFmode:
5236 : return 4;
5237 :
5238 : case E_V2DFmode:
5239 : return 5;
5240 :
5241 : default:
5242 : return -1;
5243 : }
5244 :
5245 : default:
5246 : return -1;
5247 : }
5248 : }
5249 :
5250 : int
5251 8778613 : pattern1433 (rtx x1, machine_mode i1)
5252 : {
5253 8778613 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5254 8778613 : int res ATTRIBUTE_UNUSED;
5255 8778613 : if (!register_operand (operands[0], i1)
5256 8329092 : || GET_MODE (x1) != i1
5257 8329092 : || !register_operand (operands[1], i1)
5258 17093271 : || !x86_64_nonmemory_operand (operands[2], i1))
5259 556068 : return -1;
5260 : return 0;
5261 : }
5262 :
5263 : int
5264 55961 : pattern1437 (rtx x1, machine_mode i1)
5265 : {
5266 55961 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5267 55961 : int res ATTRIBUTE_UNUSED;
5268 55961 : if (!nonimmediate_operand (operands[1], i1)
5269 52491 : || !general_operand (operands[2], i1)
5270 52480 : || !nonimmediate_operand (operands[0], i1)
5271 108441 : || GET_MODE (x1) != i1)
5272 3481 : return -1;
5273 : return 0;
5274 : }
5275 :
5276 : int
5277 27638 : pattern1445 (rtx x1)
5278 : {
5279 27638 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5280 27638 : rtx x2, x3, x4, x5;
5281 27638 : int res ATTRIBUTE_UNUSED;
5282 27638 : x2 = XEXP (x1, 1);
5283 27638 : x3 = XEXP (x2, 0);
5284 27638 : x4 = XEXP (x3, 0);
5285 27638 : operands[2] = x4;
5286 27638 : if (!int248_register_operand (operands[2], E_VOIDmode))
5287 : return -1;
5288 25469 : x5 = XEXP (x3, 1);
5289 25469 : operands[3] = x5;
5290 25469 : if (!const_int_operand (operands[3], E_VOIDmode))
5291 : return -1;
5292 25455 : return pattern342 (x1); /* [-1, 1] */
5293 : }
5294 :
5295 : int
5296 0 : pattern1454 (rtx x1, machine_mode i1)
5297 : {
5298 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5299 0 : rtx x2;
5300 0 : int res ATTRIBUTE_UNUSED;
5301 0 : if (!register_operand (operands[0], i1)
5302 0 : || GET_MODE (x1) != i1
5303 0 : || !vector_operand (operands[1], i1)
5304 0 : || !register_operand (operands[2], i1))
5305 0 : return -1;
5306 0 : x2 = XVECEXP (x1, 0, 2);
5307 0 : if (GET_MODE (x2) != i1)
5308 : return -1;
5309 : return 0;
5310 : }
5311 :
5312 : int
5313 3118 : pattern1459 ()
5314 : {
5315 3118 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5316 3118 : int res ATTRIBUTE_UNUSED;
5317 3118 : switch (GET_MODE (operands[4]))
5318 : {
5319 143 : case E_QImode:
5320 143 : if (!register_operand (operands[4], E_QImode))
5321 : return -1;
5322 : return 0;
5323 :
5324 42 : case E_HImode:
5325 42 : if (!register_operand (operands[4], E_HImode))
5326 : return -1;
5327 : return 1;
5328 :
5329 768 : case E_SImode:
5330 768 : if (!register_operand (operands[4], E_SImode))
5331 : return -1;
5332 : return 2;
5333 :
5334 2165 : case E_DImode:
5335 2165 : if (!register_operand (operands[4], E_DImode))
5336 : return -1;
5337 : return 3;
5338 :
5339 : default:
5340 : return -1;
5341 : }
5342 : }
5343 :
5344 : int
5345 543 : pattern1470 (rtx x1, machine_mode i1)
5346 : {
5347 543 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5348 543 : rtx x2, x3;
5349 543 : int res ATTRIBUTE_UNUSED;
5350 543 : if (!register_operand (operands[0], i1)
5351 543 : || GET_MODE (x1) != i1)
5352 : return -1;
5353 516 : x2 = XEXP (x1, 0);
5354 516 : if (GET_MODE (x2) != i1)
5355 : return -1;
5356 516 : x3 = XEXP (x2, 0);
5357 516 : if (GET_MODE (x3) != i1
5358 516 : || !nonimmediate_operand (operands[1], i1)
5359 516 : || !nonimmediate_operand (operands[2], i1)
5360 1028 : || !nonimmediate_operand (operands[3], i1))
5361 4 : return -1;
5362 : return 0;
5363 : }
5364 :
5365 : int
5366 1068 : pattern1478 (rtx x1)
5367 : {
5368 1068 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5369 1068 : rtx x2, x3, x4, x5;
5370 1068 : int res ATTRIBUTE_UNUSED;
5371 1068 : x2 = XEXP (x1, 2);
5372 1068 : x3 = XVECEXP (x2, 0, 0);
5373 1068 : if (maybe_ne (SUBREG_BYTE (x3), 0))
5374 : return -1;
5375 1068 : x4 = XEXP (x3, 0);
5376 1068 : if (GET_CODE (x4) != NOT)
5377 : return -1;
5378 75 : x5 = XEXP (x4, 0);
5379 75 : operands[3] = x5;
5380 75 : if (!const_0_to_7_operand (operands[5], E_SImode))
5381 : return -1;
5382 75 : switch (GET_MODE (operands[0]))
5383 : {
5384 48 : case E_V4SImode:
5385 48 : return pattern1476 (x1,
5386 : E_V4SImode,
5387 48 : E_V16QImode); /* [-1, 0] */
5388 :
5389 0 : case E_V2DImode:
5390 0 : if (pattern1476 (x1,
5391 : E_V2DImode,
5392 : E_V16QImode) != 0)
5393 : return -1;
5394 : return 1;
5395 :
5396 0 : case E_V8SImode:
5397 0 : if (pattern1476 (x1,
5398 : E_V8SImode,
5399 : E_V32QImode) != 0)
5400 : return -1;
5401 : return 2;
5402 :
5403 0 : case E_V4DImode:
5404 0 : if (pattern1476 (x1,
5405 : E_V4DImode,
5406 : E_V32QImode) != 0)
5407 : return -1;
5408 : return 3;
5409 :
5410 22 : case E_V32QImode:
5411 22 : if (pattern1477 (x1,
5412 : E_V32QImode,
5413 : E_SImode) != 0)
5414 : return -1;
5415 : return 4;
5416 :
5417 5 : case E_V16QImode:
5418 5 : if (pattern1477 (x1,
5419 : E_V16QImode,
5420 : E_HImode) != 0)
5421 : return -1;
5422 : return 5;
5423 :
5424 : default:
5425 : return -1;
5426 : }
5427 : }
5428 :
5429 : int
5430 370422 : pattern1494 (machine_mode i1)
5431 : {
5432 370422 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5433 370422 : int res ATTRIBUTE_UNUSED;
5434 370422 : if (!register_operand (operands[1], i1)
5435 331 : || !const_0_to_15_operand (operands[2], E_VOIDmode)
5436 331 : || !const_0_to_15_operand (operands[3], E_VOIDmode)
5437 331 : || !const_0_to_15_operand (operands[4], E_VOIDmode)
5438 370753 : || !const_0_to_15_operand (operands[5], E_VOIDmode))
5439 370091 : return -1;
5440 : return 0;
5441 : }
5442 :
5443 : int
5444 36288 : pattern1503 (rtx x1)
5445 : {
5446 36288 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5447 36288 : rtx x2, x3, x4, x5;
5448 36288 : int res ATTRIBUTE_UNUSED;
5449 36288 : if (!register_operand (operands[0], E_SImode))
5450 : return -1;
5451 30666 : x2 = XVECEXP (x1, 0, 0);
5452 30666 : x3 = XEXP (x2, 1);
5453 30666 : if (GET_MODE (x3) != E_SImode
5454 30666 : || !nonimmediate_operand (operands[3], E_SImode)
5455 60904 : || !register_operand (operands[1], E_SImode))
5456 460 : return -1;
5457 30206 : x4 = XVECEXP (x1, 0, 1);
5458 30206 : x5 = XEXP (x4, 1);
5459 30206 : if (GET_MODE (x5) != E_SImode)
5460 : return -1;
5461 : return 0;
5462 : }
5463 :
5464 : int
5465 9 : pattern1511 (rtx x1)
5466 : {
5467 9 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5468 9 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5469 9 : int res ATTRIBUTE_UNUSED;
5470 9 : x2 = XVECEXP (x1, 0, 0);
5471 9 : x3 = XEXP (x2, 1);
5472 9 : x4 = XEXP (x3, 0);
5473 9 : x5 = XEXP (x4, 0);
5474 9 : x6 = XEXP (x5, 0);
5475 9 : operands[1] = x6;
5476 9 : x7 = XVECEXP (x1, 0, 1);
5477 9 : x8 = XEXP (x7, 0);
5478 9 : operands[0] = x8;
5479 9 : x9 = XEXP (x4, 1);
5480 9 : if (!rtx_equal_p (x9, operands[1]))
5481 : return -1;
5482 9 : return pattern1502 (x1); /* [-1, 1] */
5483 : }
5484 :
5485 : int
5486 4423 : pattern1518 (rtx x1)
5487 : {
5488 4423 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5489 4423 : rtx x2, x3, x4, x5, x6;
5490 4423 : int res ATTRIBUTE_UNUSED;
5491 4423 : x2 = XVECEXP (x1, 0, 2);
5492 4423 : if (GET_CODE (x2) != CLOBBER)
5493 : return -1;
5494 4423 : x3 = XEXP (x2, 0);
5495 4423 : if (GET_CODE (x3) != REG
5496 4423 : || REGNO (x3) != 17
5497 8846 : || GET_MODE (x3) != E_CCmode)
5498 : return -1;
5499 4423 : x4 = XVECEXP (x1, 0, 0);
5500 4423 : x5 = XEXP (x4, 1);
5501 4423 : x6 = XVECEXP (x5, 0, 0);
5502 4423 : operands[1] = x6;
5503 4423 : return 0;
5504 : }
5505 :
5506 : int
5507 155 : pattern1525 (rtx x1, machine_mode i1, machine_mode i2)
5508 : {
5509 155 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5510 155 : rtx x2;
5511 155 : int res ATTRIBUTE_UNUSED;
5512 155 : if (!register_operand (operands[0], i2)
5513 155 : || GET_MODE (x1) != i2)
5514 : return -1;
5515 139 : x2 = XEXP (x1, 0);
5516 139 : if (GET_MODE (x2) != i2
5517 139 : || !register_operand (operands[1], i2)
5518 127 : || !register_operand (operands[2], i2)
5519 266 : || !nonimmediate_operand (operands[3], i1))
5520 24 : return -1;
5521 : return 0;
5522 : }
5523 :
5524 : int
5525 325444 : pattern1532 (rtx x1, machine_mode i1)
5526 : {
5527 325444 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5528 325444 : int res ATTRIBUTE_UNUSED;
5529 325444 : if (!nonimmediate_operand (operands[0], i1)
5530 325186 : || GET_MODE (x1) != i1
5531 325186 : || !nonimmediate_operand (operands[1], i1)
5532 648182 : || !nonmemory_operand (operands[2], E_QImode))
5533 7832 : return -1;
5534 : return 0;
5535 : }
5536 :
5537 : int
5538 159 : pattern1539 (rtx x1, machine_mode i1)
5539 : {
5540 159 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5541 159 : rtx x2, x3;
5542 159 : int res ATTRIBUTE_UNUSED;
5543 159 : if (!register_operand (operands[0], i1)
5544 159 : || GET_MODE (x1) != i1
5545 159 : || !nonimmediate_operand (operands[3], i1)
5546 223 : || !nonimmediate_operand (operands[4], i1))
5547 95 : return -1;
5548 64 : x2 = XEXP (x1, 0);
5549 64 : x3 = XEXP (x2, 0);
5550 64 : switch (GET_MODE (x3))
5551 : {
5552 52 : case E_SImode:
5553 52 : if (!nonimmediate_operand (operands[1], E_SImode))
5554 : return -1;
5555 : return 0;
5556 :
5557 12 : case E_DImode:
5558 12 : if (!nonimmediate_operand (operands[1], E_DImode))
5559 : return -1;
5560 : return 1;
5561 :
5562 : default:
5563 : return -1;
5564 : }
5565 : }
5566 :
5567 : int
5568 242 : pattern1549 (rtx x1, machine_mode i1, machine_mode i2)
5569 : {
5570 242 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5571 242 : rtx x2, x3, x4, x5, x6, x7;
5572 242 : int res ATTRIBUTE_UNUSED;
5573 242 : if (!register_operand (operands[0], i2)
5574 242 : || GET_MODE (x1) != i2)
5575 : return -1;
5576 199 : x2 = XEXP (x1, 0);
5577 199 : if (GET_MODE (x2) != i1)
5578 : return -1;
5579 199 : x3 = XEXP (x2, 0);
5580 199 : if (GET_MODE (x3) != i1)
5581 : return -1;
5582 199 : x4 = XEXP (x3, 0);
5583 199 : if (GET_MODE (x4) != i1)
5584 : return -1;
5585 199 : x5 = XEXP (x4, 0);
5586 199 : if (GET_MODE (x5) != i1
5587 199 : || !register_operand (operands[1], i2))
5588 50 : return -1;
5589 149 : x6 = XEXP (x4, 1);
5590 149 : if (GET_MODE (x6) != i1
5591 149 : || !register_operand (operands[2], i2))
5592 29 : return -1;
5593 120 : x7 = XEXP (x3, 1);
5594 120 : if (GET_MODE (x7) != i1)
5595 : return -1;
5596 : return 0;
5597 : }
5598 :
5599 : int
5600 4404 : pattern1559 (rtx x1, machine_mode i1, machine_mode i2)
5601 : {
5602 4404 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5603 4404 : rtx x2;
5604 4404 : int res ATTRIBUTE_UNUSED;
5605 4404 : if (GET_MODE (x1) != i1)
5606 : return -1;
5607 4404 : x2 = XEXP (x1, 0);
5608 4404 : if (GET_MODE (x2) != i1
5609 4404 : || !register_operand (operands[1], i2)
5610 8779 : || !nonimm_or_0_operand (operands[2], i1))
5611 64 : return -1;
5612 : return 0;
5613 : }
5614 :
5615 : int
5616 190 : pattern1567 (rtx x1, machine_mode i1)
5617 : {
5618 190 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5619 190 : rtx x2, x3, x4, x5, x6, x7;
5620 190 : int res ATTRIBUTE_UNUSED;
5621 190 : x2 = XEXP (x1, 0);
5622 190 : if (GET_CODE (x2) != VEC_SELECT
5623 190 : || GET_MODE (x2) != i1)
5624 : return -1;
5625 190 : x3 = XEXP (x2, 1);
5626 190 : if (GET_CODE (x3) != PARALLEL
5627 190 : || XVECLEN (x3, 0) != 1)
5628 : return -1;
5629 190 : x4 = XVECEXP (x3, 0, 0);
5630 190 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
5631 : return -1;
5632 190 : x5 = XEXP (x1, 1);
5633 190 : if (GET_CODE (x5) != VEC_SELECT
5634 190 : || GET_MODE (x5) != i1)
5635 : return -1;
5636 190 : x6 = XEXP (x5, 1);
5637 190 : if (GET_CODE (x6) != PARALLEL
5638 190 : || XVECLEN (x6, 0) != 1)
5639 : return -1;
5640 190 : x7 = XVECEXP (x6, 0, 0);
5641 190 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
5642 0 : return -1;
5643 : return 0;
5644 : }
5645 :
5646 : int
5647 185 : pattern1578 (rtx x1, machine_mode i1)
5648 : {
5649 185 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5650 185 : int res ATTRIBUTE_UNUSED;
5651 185 : if (!nonimmediate_operand (operands[0], i1)
5652 185 : || GET_MODE (x1) != i1
5653 185 : || !nonimmediate_operand (operands[1], i1)
5654 370 : || !ix86_carry_flag_unset_operator (operands[2], i1))
5655 22 : return -1;
5656 : return 0;
5657 : }
5658 :
5659 : int
5660 170 : pattern1585 (rtx x1, int *pnum_clobbers)
5661 : {
5662 170 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5663 170 : rtx x2, x3, x4, x5, x6;
5664 170 : int res ATTRIBUTE_UNUSED;
5665 170 : x2 = XVECEXP (x1, 0, 1);
5666 170 : x3 = XEXP (x2, 1);
5667 170 : x4 = XEXP (x3, 0);
5668 170 : if (!rtx_equal_p (x4, operands[2]))
5669 : return -1;
5670 170 : x5 = XEXP (x3, 1);
5671 170 : if (!rtx_equal_p (x5, operands[3]))
5672 : return -1;
5673 170 : switch (GET_CODE (operands[3]))
5674 : {
5675 138 : case REG:
5676 138 : case SUBREG:
5677 138 : case MEM:
5678 138 : if (!nonimmediate_operand (operands[3], E_SImode))
5679 : return -1;
5680 124 : x6 = XVECEXP (x1, 0, 2);
5681 124 : return pattern1584 (x6, pnum_clobbers); /* [-1, 2] */
5682 :
5683 4 : case CONST_INT:
5684 4 : if (!const_int_operand (operands[3], E_SImode))
5685 : return -1;
5686 4 : x6 = XVECEXP (x1, 0, 2);
5687 4 : if (pattern956 (x6,
5688 : E_CCmode,
5689 : 17) != 0)
5690 : return -1;
5691 : return 3;
5692 :
5693 : default:
5694 : return -1;
5695 : }
5696 : }
5697 :
5698 : int
5699 370 : pattern1597 (rtx x1)
5700 : {
5701 370 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5702 370 : rtx x2, x3, x4, x5, x6;
5703 370 : int res ATTRIBUTE_UNUSED;
5704 370 : if (!register_operand (operands[0], E_V4SFmode)
5705 370 : || GET_MODE (x1) != E_V4SFmode)
5706 : return -1;
5707 358 : x2 = XEXP (x1, 0);
5708 358 : if (GET_MODE (x2) != E_V4SFmode)
5709 : return -1;
5710 358 : x3 = XEXP (x2, 0);
5711 358 : if (GET_MODE (x3) != E_V8SFmode
5712 358 : || !vector_operand (operands[1], E_V4SFmode))
5713 0 : return -1;
5714 358 : x4 = XEXP (x1, 1);
5715 358 : operands[2] = x4;
5716 358 : if (!nonimm_or_0_operand (operands[2], E_V4SFmode))
5717 : return -1;
5718 358 : x5 = XEXP (x1, 2);
5719 358 : operands[3] = x5;
5720 358 : x6 = XEXP (x3, 1);
5721 358 : if (!rtx_equal_p (x6, operands[1]))
5722 : return -1;
5723 : return 0;
5724 : }
5725 :
5726 : int
5727 0 : pattern1608 (rtx x1, machine_mode i1, machine_mode i2)
5728 : {
5729 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5730 0 : rtx x2, x3, x4;
5731 0 : int res ATTRIBUTE_UNUSED;
5732 0 : if (!register_operand (operands[0], i1)
5733 0 : || GET_MODE (x1) != i1)
5734 : return -1;
5735 0 : x2 = XVECEXP (x1, 0, 0);
5736 0 : if (GET_MODE (x2) != i1)
5737 : return -1;
5738 0 : x3 = XEXP (x2, 0);
5739 0 : if (GET_MODE (x3) != i1
5740 0 : || !register_operand (operands[1], i1)
5741 0 : || !register_operand (operands[2], i1)
5742 0 : || !nonimmediate_operand (operands[3], i1)
5743 0 : || !register_operand (operands[4], i2))
5744 0 : return -1;
5745 0 : x4 = XEXP (x2, 1);
5746 0 : if (!rtx_equal_p (x4, operands[3]))
5747 : return -1;
5748 : return 0;
5749 : }
5750 :
5751 : int
5752 287 : pattern1619 (machine_mode i1)
5753 : {
5754 287 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5755 287 : int res ATTRIBUTE_UNUSED;
5756 287 : if (!vsib_address_operand (operands[0], i1))
5757 : return -1;
5758 233 : switch (GET_MODE (operands[2]))
5759 : {
5760 159 : case E_V8SImode:
5761 159 : if (!register_operand (operands[2], E_V8SImode))
5762 : return -1;
5763 : return 0;
5764 :
5765 74 : case E_V8DImode:
5766 74 : if (!register_operand (operands[2], E_V8DImode))
5767 : return -1;
5768 : return 1;
5769 :
5770 : default:
5771 : return -1;
5772 : }
5773 : }
5774 :
5775 : int
5776 218 : pattern1628 (machine_mode i1)
5777 : {
5778 218 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5779 218 : int res ATTRIBUTE_UNUSED;
5780 218 : if (!vsib_address_operand (operands[3], i1))
5781 : return -1;
5782 208 : switch (GET_MODE (operands[2]))
5783 : {
5784 128 : case E_V8SImode:
5785 128 : if (!register_operand (operands[2], E_V8SImode))
5786 : return -1;
5787 : return 0;
5788 :
5789 80 : case E_V8DImode:
5790 80 : if (!register_operand (operands[2], E_V8DImode))
5791 : return -1;
5792 : return 1;
5793 :
5794 : default:
5795 : return -1;
5796 : }
5797 : }
5798 :
5799 : int
5800 3725 : pattern1636 (rtx x1, machine_mode i1, machine_mode i2)
5801 : {
5802 3725 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5803 3725 : rtx x2, x3;
5804 3725 : int res ATTRIBUTE_UNUSED;
5805 3725 : if (!register_operand (operands[0], i1)
5806 3725 : || GET_MODE (x1) != i1)
5807 : return -1;
5808 3695 : x2 = XEXP (x1, 0);
5809 3695 : if (GET_MODE (x2) != i2
5810 3695 : || !register_operand (operands[1], i1))
5811 893 : return -1;
5812 2802 : x3 = XEXP (x2, 1);
5813 2802 : operands[2] = x3;
5814 2802 : if (!nonimmediate_operand (operands[2], i1))
5815 : return -1;
5816 : return 0;
5817 : }
5818 :
5819 : int
5820 57969 : pattern1644 (rtx x1, machine_mode i1)
5821 : {
5822 57969 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5823 57969 : rtx x2;
5824 57969 : int res ATTRIBUTE_UNUSED;
5825 57969 : if (!nonimmediate_operand (operands[1], i1)
5826 57957 : || !register_operand (operands[0], i1)
5827 115926 : || GET_MODE (x1) != i1)
5828 12 : return -1;
5829 57957 : x2 = XEXP (x1, 1);
5830 57957 : if (GET_MODE (x2) != i1)
5831 : return -1;
5832 : return 0;
5833 : }
5834 :
5835 : int
5836 18046 : pattern1651 (rtx x1)
5837 : {
5838 18046 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5839 18046 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5840 18046 : rtx x10, x11;
5841 18046 : int res ATTRIBUTE_UNUSED;
5842 18046 : if (!plusminuslogic_operator (operands[3], E_SImode))
5843 : return -1;
5844 12097 : x2 = XVECEXP (x1, 0, 1);
5845 12097 : if (GET_CODE (x2) != CLOBBER)
5846 : return -1;
5847 12097 : x3 = XEXP (x2, 0);
5848 12097 : if (GET_CODE (x3) != REG
5849 12097 : || REGNO (x3) != 17
5850 24194 : || GET_MODE (x3) != E_CCmode)
5851 : return -1;
5852 12097 : x4 = XVECEXP (x1, 0, 0);
5853 12097 : x5 = XEXP (x4, 0);
5854 12097 : operands[4] = x5;
5855 12097 : if (!register_operand (operands[4], E_SImode))
5856 : return -1;
5857 12092 : x6 = XEXP (x4, 1);
5858 12092 : x7 = XEXP (x6, 1);
5859 12092 : operands[2] = x7;
5860 12092 : if (!nonmemory_operand (operands[2], E_SImode))
5861 : return -1;
5862 12046 : x8 = XEXP (x6, 0);
5863 12046 : if (!rtx_equal_p (x8, operands[4]))
5864 : return -1;
5865 12000 : x9 = PATTERN (peep2_next_insn (2));
5866 12000 : x10 = XEXP (x9, 1);
5867 12000 : if (!rtx_equal_p (x10, operands[0]))
5868 : return -1;
5869 1551 : x11 = PATTERN (peep2_next_insn (3));
5870 1551 : if (GET_CODE (x11) != SET)
5871 : return -1;
5872 : return 0;
5873 : }
5874 :
5875 : int
5876 1084 : pattern1666 (rtx x1, machine_mode i1)
5877 : {
5878 1084 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5879 1084 : rtx x2, x3, x4;
5880 1084 : int res ATTRIBUTE_UNUSED;
5881 1084 : if (!register_operand (operands[0], i1)
5882 1084 : || GET_MODE (x1) != i1)
5883 : return -1;
5884 1041 : x2 = XVECEXP (x1, 0, 0);
5885 1041 : if (GET_MODE (x2) != i1)
5886 : return -1;
5887 1041 : x3 = XEXP (x2, 0);
5888 1041 : if (GET_MODE (x3) != i1)
5889 : return -1;
5890 1041 : x4 = XEXP (x3, 0);
5891 1041 : if (GET_MODE (x4) != i1
5892 1041 : || !register_operand (operands[1], i1)
5893 1041 : || !register_operand (operands[2], i1)
5894 2082 : || !nonimm_or_0_operand (operands[3], i1))
5895 0 : return -1;
5896 : return 0;
5897 : }
5898 :
5899 : int
5900 54 : pattern1674 (rtx x1, machine_mode i1)
5901 : {
5902 54 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5903 54 : rtx x2, x3, x4, x5;
5904 54 : int res ATTRIBUTE_UNUSED;
5905 54 : if (!register_operand (operands[0], i1)
5906 54 : || GET_MODE (x1) != i1)
5907 : return -1;
5908 39 : x2 = XVECEXP (x1, 0, 0);
5909 39 : if (GET_MODE (x2) != i1)
5910 : return -1;
5911 39 : x3 = XEXP (x2, 0);
5912 39 : if (GET_MODE (x3) != i1)
5913 : return -1;
5914 39 : x4 = XEXP (x3, 0);
5915 39 : if (GET_MODE (x4) != i1
5916 39 : || !nonimmediate_operand (operands[1], i1)
5917 78 : || !register_operand (operands[2], i1))
5918 6 : return -1;
5919 33 : x5 = XEXP (x3, 2);
5920 33 : if (GET_MODE (x5) != i1
5921 33 : || !register_operand (operands[3], i1))
5922 0 : return -1;
5923 : return 0;
5924 : }
5925 :
5926 : int
5927 49029 : pattern1687 (rtx x1, machine_mode i1)
5928 : {
5929 49029 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5930 49029 : int res ATTRIBUTE_UNUSED;
5931 49029 : if (!nonimmediate_operand (operands[1], i1)
5932 49029 : || !x86_64_hilo_general_operand (operands[2], i1)
5933 48952 : || !nonimmediate_operand (operands[0], i1)
5934 97981 : || GET_MODE (x1) != i1)
5935 77 : return -1;
5936 : return 0;
5937 : }
5938 :
5939 : int
5940 1279 : pattern1694 (machine_mode i1)
5941 : {
5942 1279 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5943 1279 : int res ATTRIBUTE_UNUSED;
5944 1279 : if (!register_operand (operands[1], i1)
5945 477 : || !const_0_to_15_operand (operands[2], E_VOIDmode)
5946 477 : || !const_0_to_15_operand (operands[3], E_VOIDmode)
5947 477 : || !const_0_to_15_operand (operands[4], E_VOIDmode)
5948 1756 : || !const_0_to_15_operand (operands[5], E_VOIDmode))
5949 802 : return -1;
5950 : return 0;
5951 : }
5952 :
5953 : int
5954 2 : pattern1703 (rtx x1, machine_mode i1)
5955 : {
5956 2 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5957 2 : rtx x2, x3, x4;
5958 2 : int res ATTRIBUTE_UNUSED;
5959 2 : if (!register_operand (operands[0], i1)
5960 2 : || GET_MODE (x1) != i1)
5961 : return -1;
5962 2 : x2 = XEXP (x1, 0);
5963 2 : if (GET_MODE (x2) != i1
5964 2 : || !nonimmediate_operand (operands[1], i1))
5965 0 : return -1;
5966 2 : x3 = XEXP (x1, 1);
5967 2 : if (GET_MODE (x3) != i1)
5968 : return -1;
5969 2 : x4 = XEXP (x3, 0);
5970 2 : if (GET_MODE (x4) != i1)
5971 : return -1;
5972 : return 0;
5973 : }
5974 :
5975 : int
5976 18 : pattern1712 (rtx x1, machine_mode i1)
5977 : {
5978 18 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5979 18 : rtx x2;
5980 18 : int res ATTRIBUTE_UNUSED;
5981 18 : if (!bt_comparison_operator (operands[3], i1))
5982 : return -1;
5983 18 : x2 = XVECEXP (x1, 0, 0);
5984 18 : switch (GET_MODE (x2))
5985 : {
5986 0 : case E_V16QImode:
5987 0 : return pattern1711 (x1,
5988 0 : E_V16QImode); /* [-1, 0] */
5989 :
5990 0 : case E_V8HImode:
5991 0 : if (pattern1711 (x1,
5992 : E_V8HImode) != 0)
5993 : return -1;
5994 : return 1;
5995 :
5996 0 : case E_V4SImode:
5997 0 : if (pattern1711 (x1,
5998 : E_V4SImode) != 0)
5999 : return -1;
6000 : return 2;
6001 :
6002 8 : case E_V2DImode:
6003 8 : if (pattern1711 (x1,
6004 : E_V2DImode) != 0)
6005 : return -1;
6006 : return 3;
6007 :
6008 0 : case E_V1TImode:
6009 0 : if (pattern1711 (x1,
6010 : E_V1TImode) != 0)
6011 : return -1;
6012 : return 4;
6013 :
6014 0 : case E_V4SFmode:
6015 0 : if (pattern1711 (x1,
6016 : E_V4SFmode) != 0)
6017 : return -1;
6018 : return 5;
6019 :
6020 0 : case E_V2DFmode:
6021 0 : if (pattern1711 (x1,
6022 : E_V2DFmode) != 0)
6023 : return -1;
6024 : return 6;
6025 :
6026 0 : case E_V32QImode:
6027 0 : if (pattern1711 (x1,
6028 : E_V32QImode) != 0)
6029 : return -1;
6030 : return 7;
6031 :
6032 0 : case E_V16HImode:
6033 0 : if (pattern1711 (x1,
6034 : E_V16HImode) != 0)
6035 : return -1;
6036 : return 8;
6037 :
6038 0 : case E_V8SImode:
6039 0 : if (pattern1711 (x1,
6040 : E_V8SImode) != 0)
6041 : return -1;
6042 : return 9;
6043 :
6044 10 : case E_V4DImode:
6045 10 : if (pattern1711 (x1,
6046 : E_V4DImode) != 0)
6047 : return -1;
6048 : return 10;
6049 :
6050 0 : case E_V2TImode:
6051 0 : if (pattern1711 (x1,
6052 : E_V2TImode) != 0)
6053 : return -1;
6054 : return 11;
6055 :
6056 0 : case E_V8SFmode:
6057 0 : if (pattern1711 (x1,
6058 : E_V8SFmode) != 0)
6059 : return -1;
6060 : return 12;
6061 :
6062 0 : case E_V4DFmode:
6063 0 : if (pattern1711 (x1,
6064 : E_V4DFmode) != 0)
6065 : return -1;
6066 : return 13;
6067 :
6068 : default:
6069 : return -1;
6070 : }
6071 : }
6072 :
6073 : int
6074 1786 : pattern1737 (rtx x1, machine_mode i1)
6075 : {
6076 1786 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6077 1786 : rtx x2, x3, x4;
6078 1786 : int res ATTRIBUTE_UNUSED;
6079 1786 : if (!vsib_mem_operator (operands[5], i1)
6080 1786 : || !register_operand (operands[6], E_QImode))
6081 166 : return -1;
6082 1620 : x2 = XEXP (x1, 1);
6083 1620 : if (GET_MODE (x2) != i1
6084 1620 : || !register_operand (operands[3], i1)
6085 3190 : || !scratch_operand (operands[1], E_QImode))
6086 50 : return -1;
6087 1570 : x3 = XEXP (x1, 0);
6088 1570 : x4 = XEXP (x3, 0);
6089 1570 : switch (GET_MODE (x4))
6090 : {
6091 0 : case E_SImode:
6092 0 : return pattern1736 (
6093 0 : E_SImode); /* [-1, 1] */
6094 :
6095 1570 : case E_DImode:
6096 1570 : res = pattern1736 (
6097 : E_DImode);
6098 1570 : if (res >= 0)
6099 1460 : return res + 2; /* [2, 3] */
6100 : return -1;
6101 :
6102 : default:
6103 : return -1;
6104 : }
6105 : }
6106 :
6107 : int
6108 2 : pattern1749 (rtx x1, machine_mode i1)
6109 : {
6110 2 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6111 2 : int res ATTRIBUTE_UNUSED;
6112 2 : if (!ix86_carry_flag_unset_operator (operands[2], i1)
6113 2 : || !nonimmediate_operand (operands[1], i1)
6114 2 : || !nonimmediate_operand (operands[0], i1)
6115 4 : || GET_MODE (x1) != i1)
6116 0 : return -1;
6117 : return 0;
6118 : }
6119 :
6120 : int
6121 514 : pattern1756 (rtx x1, machine_mode i1)
6122 : {
6123 514 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6124 514 : rtx x2, x3, x4;
6125 514 : int res ATTRIBUTE_UNUSED;
6126 514 : if (!register_operand (operands[0], i1)
6127 514 : || GET_MODE (x1) != i1)
6128 : return -1;
6129 492 : x2 = XVECEXP (x1, 0, 0);
6130 492 : if (GET_MODE (x2) != i1)
6131 : return -1;
6132 492 : x3 = XEXP (x2, 0);
6133 492 : if (GET_MODE (x3) != i1)
6134 : return -1;
6135 492 : x4 = XEXP (x3, 0);
6136 492 : if (GET_MODE (x4) != i1
6137 492 : || !register_operand (operands[2], i1)
6138 492 : || !nonimm_or_0_operand (operands[4], i1)
6139 984 : || !register_operand (operands[1], i1))
6140 0 : return -1;
6141 : return 0;
6142 : }
6143 :
6144 : int
6145 276 : pattern1763 (machine_mode i1)
6146 : {
6147 276 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6148 276 : int res ATTRIBUTE_UNUSED;
6149 276 : if (!vsib_address_operand (operands[3], i1))
6150 : return -1;
6151 236 : switch (GET_MODE (operands[4]))
6152 : {
6153 85 : case E_V4SImode:
6154 85 : if (!register_operand (operands[4], E_V4SImode))
6155 : return -1;
6156 : return 0;
6157 :
6158 151 : case E_V2DImode:
6159 151 : if (!register_operand (operands[4], E_V2DImode))
6160 : return -1;
6161 : return 1;
6162 :
6163 : default:
6164 : return -1;
6165 : }
6166 : }
6167 :
6168 : int
6169 580 : pattern1769 (rtx x1, machine_mode i1, machine_mode i2)
6170 : {
6171 580 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6172 580 : int res ATTRIBUTE_UNUSED;
6173 580 : if (!register_operand (operands[0], i2)
6174 580 : || GET_MODE (x1) != i2
6175 580 : || !register_operand (operands[7], E_QImode)
6176 580 : || !vsib_mem_operator (operands[6], i1)
6177 1160 : || !scratch_operand (operands[2], E_QImode))
6178 0 : return -1;
6179 : return 0;
6180 : }
6181 :
6182 : int
6183 80 : pattern1776 (rtx x1, machine_mode i1)
6184 : {
6185 80 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6186 80 : int res ATTRIBUTE_UNUSED;
6187 80 : if (!nonimmediate_operand (operands[1], i1)
6188 80 : || !ix86_carry_flag_operator (operands[2], i1)
6189 80 : || !nonimmediate_operand (operands[0], i1)
6190 160 : || GET_MODE (x1) != i1)
6191 0 : return -1;
6192 : return 0;
6193 : }
6194 :
6195 : int
6196 792 : pattern1784 (rtx x1, machine_mode i1, machine_mode i2)
6197 : {
6198 792 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6199 792 : rtx x2;
6200 792 : int res ATTRIBUTE_UNUSED;
6201 792 : if (!register_operand (operands[1], i1)
6202 792 : || GET_MODE (x1) != i2)
6203 : return -1;
6204 792 : x2 = XEXP (x1, 0);
6205 792 : if (GET_MODE (x2) != i2
6206 792 : || !x86_64_dwzext_immediate_operand (operands[2], i2)
6207 864 : || !scratch_operand (operands[0], i1))
6208 720 : return -1;
6209 : return 0;
6210 : }
6211 :
6212 : int
6213 878 : pattern1790 (rtx x1, machine_mode i1, machine_mode i2)
6214 : {
6215 878 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6216 878 : rtx x2, x3, x4, x5;
6217 878 : int res ATTRIBUTE_UNUSED;
6218 878 : if (!register_operand (operands[0], i1)
6219 878 : || GET_MODE (x1) != i1)
6220 : return -1;
6221 864 : x2 = XVECEXP (x1, 0, 0);
6222 864 : if (GET_MODE (x2) != i1)
6223 : return -1;
6224 864 : x3 = XEXP (x2, 0);
6225 864 : if (GET_MODE (x3) != i1)
6226 : return -1;
6227 864 : x4 = XEXP (x3, 0);
6228 864 : if (GET_MODE (x4) != i1)
6229 : return -1;
6230 864 : x5 = XEXP (x4, 0);
6231 864 : if (GET_MODE (x5) != i2
6232 864 : || !nonimm_or_0_operand (operands[3], i1)
6233 1728 : || !register_operand (operands[2], i1))
6234 10 : return -1;
6235 : return 0;
6236 : }
6237 :
6238 : int
6239 1396 : pattern1799 (rtx x1, machine_mode i1, machine_mode i2)
6240 : {
6241 1396 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6242 1396 : rtx x2, x3;
6243 1396 : int res ATTRIBUTE_UNUSED;
6244 1396 : if (!register_operand (operands[0], i1)
6245 1381 : || GET_MODE (x1) != i1
6246 1381 : || !vsib_mem_operator (operands[6], i2)
6247 1381 : || !register_operand (operands[4], i1)
6248 2412 : || !scratch_operand (operands[1], i1))
6249 380 : return -1;
6250 1016 : x2 = XVECEXP (x1, 0, 1);
6251 1016 : x3 = XEXP (x2, 0);
6252 1016 : switch (GET_MODE (x3))
6253 : {
6254 52 : case E_SImode:
6255 52 : return pattern1798 (
6256 52 : E_SImode); /* [-1, 1] */
6257 :
6258 964 : case E_DImode:
6259 964 : res = pattern1798 (
6260 : E_DImode);
6261 964 : if (res >= 0)
6262 868 : return res + 2; /* [2, 3] */
6263 : return -1;
6264 :
6265 : default:
6266 : return -1;
6267 : }
6268 : }
6269 :
6270 : int
6271 718 : pattern1810 (rtx x1, int i1, int i2, int i3, int i4)
6272 : {
6273 718 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6274 718 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6275 718 : int res ATTRIBUTE_UNUSED;
6276 718 : x2 = XVECEXP (x1, 0, 12);
6277 718 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
6278 : return -1;
6279 718 : x3 = XVECEXP (x1, 0, 13);
6280 718 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
6281 : return -1;
6282 718 : x4 = XVECEXP (x1, 0, 14);
6283 718 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
6284 : return -1;
6285 718 : x5 = XVECEXP (x1, 0, 15);
6286 718 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
6287 : return -1;
6288 718 : x6 = XVECEXP (x1, 0, 16);
6289 718 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
6290 : return -1;
6291 718 : x7 = XVECEXP (x1, 0, 17);
6292 718 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
6293 : return -1;
6294 718 : x8 = XVECEXP (x1, 0, 18);
6295 718 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
6296 : return -1;
6297 718 : x9 = XVECEXP (x1, 0, 19);
6298 718 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
6299 0 : return -1;
6300 : return 0;
6301 : }
6302 :
6303 : int
6304 3574 : pattern1824 (rtx x1, machine_mode i1)
6305 : {
6306 3574 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6307 3574 : rtx x2, x3, x4, x5, x6, x7;
6308 3574 : int res ATTRIBUTE_UNUSED;
6309 3574 : x2 = XVECEXP (x1, 0, 0);
6310 3574 : x3 = XEXP (x2, 1);
6311 3574 : x4 = XEXP (x3, 0);
6312 3574 : x5 = XEXP (x4, 0);
6313 3574 : if (GET_MODE (x5) != i1
6314 3574 : || !ix86_carry_flag_operator (operands[4], i1)
6315 7148 : || !nonimmediate_operand (operands[1], i1))
6316 30 : return -1;
6317 3544 : x6 = XVECEXP (x1, 0, 1);
6318 3544 : x7 = XEXP (x6, 1);
6319 3544 : return pattern1823 (x7,
6320 3544 : i1); /* [-1, 0] */
6321 : }
6322 :
6323 : int
6324 208 : pattern1832 (rtx x1, int i1, int i2, int i3, int i4, int i5)
6325 : {
6326 208 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6327 208 : rtx x2, x3, x4, x5, x6;
6328 208 : int res ATTRIBUTE_UNUSED;
6329 208 : x2 = XVECEXP (x1, 0, 17);
6330 208 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i5])
6331 : return -1;
6332 208 : x3 = XVECEXP (x1, 0, 18);
6333 208 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
6334 : return -1;
6335 208 : x4 = XVECEXP (x1, 0, 19);
6336 208 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
6337 : return -1;
6338 208 : x5 = XVECEXP (x1, 0, 20);
6339 208 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
6340 : return -1;
6341 208 : x6 = XVECEXP (x1, 0, 21);
6342 208 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
6343 0 : return -1;
6344 : return 0;
6345 : }
6346 :
6347 : int
6348 255 : pattern1844 (rtx x1, machine_mode i1, machine_mode i2)
6349 : {
6350 255 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6351 255 : int res ATTRIBUTE_UNUSED;
6352 255 : if (!register_operand (operands[2], i1)
6353 255 : || !register_operand (operands[4], i2))
6354 54 : return -1;
6355 201 : return pattern1843 (x1,
6356 201 : i1); /* [-1, 1] */
6357 : }
6358 :
6359 : int
6360 358 : pattern1849 (machine_mode i1)
6361 : {
6362 358 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6363 358 : int res ATTRIBUTE_UNUSED;
6364 358 : if (!vsib_address_operand (operands[0], i1))
6365 : return -1;
6366 345 : switch (GET_MODE (operands[2]))
6367 : {
6368 151 : case E_V8SImode:
6369 151 : if (!register_operand (operands[2], E_V8SImode)
6370 151 : || !register_operand (operands[3], E_V8SFmode))
6371 2 : return -1;
6372 : return 0;
6373 :
6374 194 : case E_V4DImode:
6375 194 : if (!register_operand (operands[2], E_V4DImode)
6376 194 : || !register_operand (operands[3], E_V4SFmode))
6377 21 : return -1;
6378 : return 1;
6379 :
6380 : default:
6381 : return -1;
6382 : }
6383 : }
6384 :
6385 : int
6386 552 : pattern1858 (rtx x1, machine_mode i1)
6387 : {
6388 552 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6389 552 : rtx x2;
6390 552 : int res ATTRIBUTE_UNUSED;
6391 552 : if (!register_operand (operands[0], i1)
6392 552 : || GET_MODE (x1) != i1)
6393 : return -1;
6394 502 : x2 = XEXP (x1, 0);
6395 502 : if (GET_MODE (x2) != i1
6396 502 : || !nonimmediate_operand (operands[1], i1)
6397 1004 : || !nonimm_or_0_operand (operands[10], i1))
6398 24 : return -1;
6399 : return 0;
6400 : }
6401 :
6402 : int
6403 736 : pattern1862 ()
6404 : {
6405 736 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6406 736 : int res ATTRIBUTE_UNUSED;
6407 736 : if (!const_0_to_15_operand (operands[2], E_VOIDmode)
6408 736 : || !const_0_to_15_operand (operands[3], E_VOIDmode)
6409 736 : || !const_0_to_15_operand (operands[4], E_VOIDmode)
6410 736 : || !const_0_to_15_operand (operands[5], E_VOIDmode)
6411 736 : || !const_0_to_15_operand (operands[6], E_VOIDmode)
6412 736 : || !const_0_to_15_operand (operands[7], E_VOIDmode)
6413 736 : || !const_0_to_15_operand (operands[8], E_VOIDmode)
6414 736 : || !const_0_to_15_operand (operands[9], E_VOIDmode)
6415 736 : || !const_0_to_15_operand (operands[10], E_VOIDmode)
6416 736 : || !const_0_to_15_operand (operands[11], E_VOIDmode)
6417 736 : || !const_0_to_15_operand (operands[12], E_VOIDmode)
6418 736 : || !const_0_to_15_operand (operands[13], E_VOIDmode)
6419 736 : || !const_0_to_15_operand (operands[14], E_VOIDmode)
6420 736 : || !const_0_to_15_operand (operands[15], E_VOIDmode)
6421 736 : || !const_0_to_15_operand (operands[16], E_VOIDmode)
6422 1472 : || !const_0_to_15_operand (operands[17], E_VOIDmode))
6423 0 : return -1;
6424 : return 0;
6425 : }
6426 :
6427 : int
6428 419 : pattern1876 ()
6429 : {
6430 419 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6431 419 : int res ATTRIBUTE_UNUSED;
6432 419 : if (!const_0_to_7_operand (operands[4], E_VOIDmode)
6433 419 : || !const_0_to_7_operand (operands[5], E_VOIDmode)
6434 419 : || !const_0_to_7_operand (operands[6], E_VOIDmode)
6435 419 : || !const_8_to_15_operand (operands[7], E_VOIDmode)
6436 419 : || !const_8_to_15_operand (operands[8], E_VOIDmode)
6437 419 : || !const_8_to_15_operand (operands[9], E_VOIDmode)
6438 838 : || !const_8_to_15_operand (operands[10], E_VOIDmode))
6439 0 : return -1;
6440 : return 0;
6441 : }
6442 :
6443 : int
6444 38956 : pattern1881 (rtx x1)
6445 : {
6446 38956 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6447 38956 : rtx x2, x3, x4, x5;
6448 38956 : int res ATTRIBUTE_UNUSED;
6449 38956 : x2 = XVECEXP (x1, 0, 8);
6450 38956 : if (XWINT (x2, 0) != 12L)
6451 : return -1;
6452 38956 : x3 = XVECEXP (x1, 0, 9);
6453 38956 : if (XWINT (x3, 0) != 28L)
6454 : return -1;
6455 38956 : x4 = XVECEXP (x1, 0, 10);
6456 38956 : if (XWINT (x4, 0) != 13L)
6457 : return -1;
6458 38956 : x5 = XVECEXP (x1, 0, 11);
6459 38956 : if (XWINT (x5, 0) != 29L)
6460 0 : return -1;
6461 : return 0;
6462 : }
6463 :
6464 : int
6465 2523 : pattern1887 (rtx x1)
6466 : {
6467 2523 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6468 2523 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6469 2523 : rtx x10, x11, x12;
6470 2523 : int res ATTRIBUTE_UNUSED;
6471 2523 : x2 = XVECEXP (x1, 0, 0);
6472 2523 : x3 = XEXP (x2, 1);
6473 2523 : x4 = XEXP (x3, 0);
6474 2523 : x5 = XEXP (x4, 1);
6475 2523 : switch (GET_CODE (x5))
6476 : {
6477 2024 : case SIGN_EXTEND:
6478 2024 : x6 = XEXP (x5, 0);
6479 2024 : operands[2] = x6;
6480 2024 : x7 = XEXP (x3, 1);
6481 2024 : x8 = XEXP (x7, 0);
6482 2024 : x9 = XEXP (x8, 1);
6483 2024 : if (!rtx_equal_p (x9, operands[2]))
6484 : return -1;
6485 2024 : x10 = XVECEXP (x1, 0, 1);
6486 2024 : x11 = XEXP (x10, 1);
6487 2024 : x12 = XEXP (x11, 1);
6488 2024 : if (!rtx_equal_p (x12, operands[2]))
6489 : return -1;
6490 2024 : switch (GET_MODE (x4))
6491 : {
6492 : case E_HImode:
6493 : return 0;
6494 :
6495 : case E_SImode:
6496 : return 1;
6497 :
6498 : case E_DImode:
6499 : return 2;
6500 :
6501 : case E_TImode:
6502 : return 3;
6503 :
6504 : default:
6505 : return -1;
6506 : }
6507 :
6508 499 : case CONST_INT:
6509 499 : operands[6] = x5;
6510 499 : x7 = XEXP (x3, 1);
6511 499 : x8 = XEXP (x7, 0);
6512 499 : x9 = XEXP (x8, 1);
6513 499 : operands[2] = x9;
6514 499 : x10 = XVECEXP (x1, 0, 1);
6515 499 : x11 = XEXP (x10, 1);
6516 499 : x12 = XEXP (x11, 1);
6517 499 : if (!rtx_equal_p (x12, operands[2]))
6518 : return -1;
6519 499 : switch (GET_MODE (x4))
6520 : {
6521 : case E_HImode:
6522 : return 4;
6523 :
6524 : case E_SImode:
6525 : return 5;
6526 :
6527 : case E_DImode:
6528 : return 6;
6529 :
6530 : case E_TImode:
6531 : return 7;
6532 :
6533 : default:
6534 : return -1;
6535 : }
6536 :
6537 : default:
6538 : return -1;
6539 : }
6540 : }
6541 :
6542 : int
6543 2 : pattern1899 (rtx x1)
6544 : {
6545 2 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6546 2 : rtx x2, x3, x4, x5, x6, x7, x8;
6547 2 : int res ATTRIBUTE_UNUSED;
6548 2 : x2 = XEXP (x1, 1);
6549 2 : x3 = XEXP (x2, 0);
6550 2 : x4 = XEXP (x3, 0);
6551 2 : if (GET_CODE (x4) != REG
6552 2 : || REGNO (x4) != 17
6553 4 : || GET_MODE (x4) != E_CCZmode)
6554 : return -1;
6555 2 : x5 = XEXP (x3, 1);
6556 2 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6557 : return -1;
6558 2 : x6 = XEXP (x2, 1);
6559 2 : if (GET_CODE (x6) != LABEL_REF)
6560 : return -1;
6561 2 : x7 = XEXP (x2, 2);
6562 2 : if (GET_CODE (x7) != PC)
6563 : return -1;
6564 2 : x8 = XEXP (x1, 0);
6565 2 : if (GET_CODE (x8) != PC)
6566 0 : return -1;
6567 : return 0;
6568 : }
6569 :
6570 : int
6571 968 : pattern1907 (rtx x1, machine_mode i1, machine_mode i2)
6572 : {
6573 968 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6574 968 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6575 968 : int res ATTRIBUTE_UNUSED;
6576 968 : x2 = XVECEXP (x1, 0, 0);
6577 968 : x3 = XEXP (x2, 1);
6578 968 : x4 = XEXP (x3, 1);
6579 968 : if (GET_MODE (x4) != i2)
6580 : return -1;
6581 968 : x5 = XEXP (x4, 0);
6582 968 : if (GET_MODE (x5) != i1)
6583 : return -1;
6584 968 : x6 = XEXP (x5, 0);
6585 968 : if (GET_MODE (x6) != i1
6586 968 : || !ix86_carry_flag_operator (operands[5], i1)
6587 1936 : || !nonimmediate_operand (operands[0], i1))
6588 0 : return -1;
6589 968 : x7 = XVECEXP (x1, 0, 1);
6590 968 : x8 = XEXP (x7, 1);
6591 968 : if (GET_MODE (x8) != i1)
6592 : return -1;
6593 968 : x9 = XEXP (x8, 0);
6594 968 : if (GET_MODE (x9) != i1)
6595 : return -1;
6596 : return 0;
6597 : }
6598 :
6599 : int
6600 1652 : pattern1915 (rtx x1)
6601 : {
6602 1652 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6603 1652 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6604 1652 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
6605 1652 : int res ATTRIBUTE_UNUSED;
6606 1652 : x2 = XEXP (x1, 0);
6607 1652 : x3 = XEXP (x2, 0);
6608 1652 : x4 = XEXP (x3, 0);
6609 1652 : x5 = XEXP (x4, 0);
6610 1652 : x6 = XEXP (x5, 0);
6611 1652 : operands[1] = x6;
6612 1652 : if (!nonimmediate_operand (operands[1], E_V8HImode))
6613 : return -1;
6614 1429 : x7 = XEXP (x3, 1);
6615 1429 : x8 = XEXP (x7, 0);
6616 1429 : x9 = XEXP (x8, 0);
6617 1429 : operands[2] = x9;
6618 1429 : if (!nonimmediate_operand (operands[2], E_V8HImode))
6619 : return -1;
6620 1247 : x10 = XEXP (x1, 1);
6621 1247 : operands[3] = x10;
6622 1247 : if (!register_operand (operands[3], E_V4SImode))
6623 : return -1;
6624 1235 : x11 = XEXP (x2, 1);
6625 1235 : x12 = XEXP (x11, 0);
6626 1235 : x13 = XEXP (x12, 0);
6627 1235 : x14 = XEXP (x13, 0);
6628 1235 : if (!rtx_equal_p (x14, operands[1]))
6629 : return -1;
6630 1235 : x15 = XEXP (x11, 1);
6631 1235 : x16 = XEXP (x15, 0);
6632 1235 : x17 = XEXP (x16, 0);
6633 1235 : if (!rtx_equal_p (x17, operands[2]))
6634 : return -1;
6635 : return 0;
6636 : }
6637 :
6638 : int
6639 55359592 : recog_5 (rtx x1 ATTRIBUTE_UNUSED,
6640 : rtx_insn *insn ATTRIBUTE_UNUSED,
6641 : int *pnum_clobbers ATTRIBUTE_UNUSED)
6642 : {
6643 55359592 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6644 55359592 : rtx x2, x3, x4, x5, x6, x7, x8;
6645 55359592 : int res ATTRIBUTE_UNUSED;
6646 55359592 : x2 = XEXP (x1, 1);
6647 55359592 : x3 = XEXP (x2, 0);
6648 55359592 : operands[0] = x3;
6649 55359592 : res = recog_4 (x1, insn, pnum_clobbers);
6650 55359592 : if (res >= 0)
6651 : return res;
6652 1582494 : if (GET_CODE (x3) != SUBREG
6653 110931 : || maybe_ne (SUBREG_BYTE (x3), 0)
6654 1682817 : || GET_MODE (x3) != E_QImode)
6655 : return -1;
6656 38578 : x4 = XEXP (x3, 0);
6657 38578 : switch (GET_CODE (x4))
6658 : {
6659 25084 : case ASHIFTRT:
6660 25084 : case LSHIFTRT:
6661 25084 : case SIGN_EXTRACT:
6662 25084 : case ZERO_EXTRACT:
6663 25084 : operands[2] = x4;
6664 25084 : x5 = XEXP (x4, 0);
6665 25084 : operands[0] = x5;
6666 25084 : if (!int248_register_operand (operands[0], E_VOIDmode))
6667 : return -1;
6668 24847 : x6 = XEXP (x2, 1);
6669 24847 : operands[1] = x6;
6670 24847 : switch (pattern1214 ())
6671 : {
6672 268 : case 0:
6673 268 : if (const0_operand (operands[1], E_QImode)
6674 296 : &&
6675 : #line 1672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6676 : (ix86_match_ccmode (insn, CCNOmode)))
6677 : return 28; /* *cmpqi_exthi_2 */
6678 : if (general_operand (operands[1], E_QImode)
6679 : &&
6680 : #line 1695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6681 : (ix86_match_ccmode (insn, CCmode)))
6682 : return 31; /* *cmpqi_exthi_3 */
6683 : break;
6684 :
6685 : case 1:
6686 : if (const0_operand (operands[1], E_QImode)
6687 : &&
6688 : #line 1672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6689 : (ix86_match_ccmode (insn, CCNOmode)))
6690 : return 29; /* *cmpqi_extsi_2 */
6691 : if (general_operand (operands[1], E_QImode)
6692 : &&
6693 : #line 1695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6694 : (ix86_match_ccmode (insn, CCmode)))
6695 : return 32; /* *cmpqi_extsi_3 */
6696 : break;
6697 :
6698 : case 2:
6699 : if (const0_operand (operands[1], E_QImode)
6700 : && (
6701 : #line 1672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6702 : (ix86_match_ccmode (insn, CCNOmode)) &&
6703 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6704 : (TARGET_64BIT)))
6705 : return 30; /* *cmpqi_extdi_2 */
6706 : if (general_operand (operands[1], E_QImode)
6707 : && (
6708 : #line 1695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6709 : (ix86_match_ccmode (insn, CCmode)) &&
6710 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6711 : (TARGET_64BIT)))
6712 : return 33; /* *cmpqi_extdi_3 */
6713 : break;
6714 :
6715 : default:
6716 : break;
6717 : }
6718 : if (GET_CODE (x6) != SUBREG
6719 : || maybe_ne (SUBREG_BYTE (x6), 0)
6720 : || GET_MODE (x6) != E_QImode)
6721 : return -1;
6722 : x7 = XEXP (x6, 0);
6723 : switch (GET_CODE (x7))
6724 : {
6725 : case ASHIFTRT:
6726 : case LSHIFTRT:
6727 : case SIGN_EXTRACT:
6728 : case ZERO_EXTRACT:
6729 : operands[3] = x7;
6730 : x8 = XEXP (x7, 0);
6731 : operands[1] = x8;
6732 : if (!int248_register_operand (operands[1], E_VOIDmode))
6733 : return -1;
6734 : switch (GET_MODE (operands[2]))
6735 : {
6736 : case E_HImode:
6737 : if (!extract_high_operator (operands[2], E_HImode)
6738 : || !extract_high_operator (operands[3], E_HImode)
6739 : || !
6740 : #line 1710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6741 : (ix86_match_ccmode (insn, CCmode)))
6742 : return -1;
6743 : return 34; /* *cmpqi_exthi_4 */
6744 :
6745 : case E_SImode:
6746 : if (!extract_high_operator (operands[2], E_SImode)
6747 : || !extract_high_operator (operands[3], E_SImode)
6748 : || !
6749 : #line 1710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6750 : (ix86_match_ccmode (insn, CCmode)))
6751 : return -1;
6752 : return 35; /* *cmpqi_extsi_4 */
6753 :
6754 : case E_DImode:
6755 : if (!extract_high_operator (operands[2], E_DImode)
6756 : || !extract_high_operator (operands[3], E_DImode)
6757 : || !(
6758 : #line 1710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6759 : (ix86_match_ccmode (insn, CCmode)) &&
6760 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6761 : (TARGET_64BIT)))
6762 : return -1;
6763 : return 36; /* *cmpqi_extdi_4 */
6764 :
6765 : default:
6766 : return -1;
6767 : }
6768 :
6769 : default:
6770 : return -1;
6771 : }
6772 :
6773 : default:
6774 : return -1;
6775 : }
6776 : }
6777 :
6778 : int
6779 : recog_12 (rtx x1 ATTRIBUTE_UNUSED,
6780 : rtx_insn *insn ATTRIBUTE_UNUSED,
6781 : int *pnum_clobbers ATTRIBUTE_UNUSED)
6782 : {
6783 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6784 : rtx x2, x3, x4;
6785 : int res ATTRIBUTE_UNUSED;
6786 : switch (pattern74 (x1))
6787 : {
6788 : case 0:
6789 : x2 = XEXP (x1, 1);
6790 : x3 = XVECEXP (x2, 0, 2);
6791 : operands[3] = x3;
6792 : x4 = XVECEXP (x2, 0, 1);
6793 : operands[2] = x4;
6794 : switch (pattern970 (x2))
6795 : {
6796 : case 0:
6797 : switch (GET_MODE (operands[1]))
6798 : {
6799 : case E_HFmode:
6800 : if (register_operand (operands[1], E_HFmode)
6801 : && nonimmediate_operand (operands[2], E_HFmode)
6802 : && const_0_to_31_operand (operands[3], E_SImode)
6803 : &&
6804 : #line 20705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6805 : (TARGET_AVX512FP16))
6806 : return 1487; /* setcc_hf_mask */
6807 : break;
6808 :
6809 : case E_V8HFmode:
6810 : if (register_operand (operands[1], E_V8HFmode)
6811 : && nonimmediate_operand (operands[2], E_V8HFmode)
6812 : && const_0_to_31_operand (operands[3], E_SImode)
6813 : && (
6814 : #line 4681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6815 : (TARGET_AVX512F && 1) &&
6816 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6817 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
6818 : return 3338; /* avx512fp16_cmpv8hf3 */
6819 : break;
6820 :
6821 : case E_V8SFmode:
6822 : if (register_operand (operands[1], E_V8SFmode)
6823 : && nonimmediate_operand (operands[2], E_V8SFmode)
6824 : && const_0_to_31_operand (operands[3], E_SImode)
6825 : && (
6826 : #line 4681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6827 : (TARGET_AVX512F && 1) &&
6828 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6829 : (TARGET_AVX512VL)))
6830 : return 3344; /* avx512vl_cmpv8sf3 */
6831 : break;
6832 :
6833 : case E_V4SFmode:
6834 : if (register_operand (operands[1], E_V4SFmode)
6835 : && nonimmediate_operand (operands[2], E_V4SFmode)
6836 : && const_0_to_31_operand (operands[3], E_SImode)
6837 : && (
6838 : #line 4681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6839 : (TARGET_AVX512F && 1) &&
6840 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6841 : (TARGET_AVX512VL)))
6842 : return 3346; /* avx512vl_cmpv4sf3 */
6843 : break;
6844 :
6845 : case E_V8DFmode:
6846 : if (register_operand (operands[1], E_V8DFmode)
6847 : && nonimmediate_operand (operands[2], E_V8DFmode)
6848 : && const_0_to_31_operand (operands[3], E_SImode)
6849 : &&
6850 : #line 4681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6851 : (TARGET_AVX512F && 1))
6852 : return 3348; /* avx512f_cmpv8df3 */
6853 : break;
6854 :
6855 : case E_V4DFmode:
6856 : if (register_operand (operands[1], E_V4DFmode)
6857 : && nonimmediate_operand (operands[2], E_V4DFmode)
6858 : && const_0_to_31_operand (operands[3], E_SImode)
6859 : && (
6860 : #line 4681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6861 : (TARGET_AVX512F && 1) &&
6862 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6863 : (TARGET_AVX512VL)))
6864 : return 3352; /* avx512vl_cmpv4df3 */
6865 : break;
6866 :
6867 : case E_V2DFmode:
6868 : if (register_operand (operands[1], E_V2DFmode)
6869 : && nonimmediate_operand (operands[2], E_V2DFmode)
6870 : && const_0_to_31_operand (operands[3], E_SImode)
6871 : && (
6872 : #line 4681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6873 : (TARGET_AVX512F && 1) &&
6874 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6875 : (TARGET_AVX512VL)))
6876 : return 3354; /* avx512vl_cmpv2df3 */
6877 : break;
6878 :
6879 : case E_V8HImode:
6880 : if (const_0_to_7_operand (operands[3], E_SImode))
6881 : {
6882 : if (register_operand (operands[1], E_V8HImode)
6883 : && nonimmediate_operand (operands[2], E_V8HImode)
6884 : && (
6885 : #line 4876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6886 : (TARGET_AVX512F) &&
6887 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6888 : (TARGET_AVX512VL && TARGET_AVX512BW)))
6889 : return 3486; /* avx512vl_cmpv8hi3 */
6890 : if (general_operand (operands[1], E_V8HImode)
6891 : && general_operand (operands[2], E_V8HImode)
6892 : && (
6893 : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6894 : (TARGET_AVX512F && ix86_pre_reload_split ()
6895 : && rtx_equal_p (operands[1], operands[2])
6896 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
6897 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6898 : (TARGET_AVX512VL && TARGET_AVX512BW)))
6899 : return 3558; /* *avx512vl_cmpv8hi3_dup_op */
6900 : }
6901 : break;
6902 :
6903 : case E_V8SImode:
6904 : if (const_0_to_7_operand (operands[3], E_SImode))
6905 : {
6906 : if (register_operand (operands[1], E_V8SImode)
6907 : && nonimmediate_operand (operands[2], E_V8SImode)
6908 : && (
6909 : #line 4876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6910 : (TARGET_AVX512F) &&
6911 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6912 : (TARGET_AVX512VL)))
6913 : return 3490; /* avx512vl_cmpv8si3 */
6914 : if (general_operand (operands[1], E_V8SImode)
6915 : && general_operand (operands[2], E_V8SImode)
6916 : && (
6917 : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6918 : (TARGET_AVX512F && ix86_pre_reload_split ()
6919 : && rtx_equal_p (operands[1], operands[2])
6920 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
6921 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6922 : (TARGET_AVX512VL)))
6923 : return 3562; /* *avx512vl_cmpv8si3_dup_op */
6924 : }
6925 : break;
6926 :
6927 : case E_V4SImode:
6928 : if (const_0_to_7_operand (operands[3], E_SImode))
6929 : {
6930 : if (register_operand (operands[1], E_V4SImode)
6931 : && nonimmediate_operand (operands[2], E_V4SImode)
6932 : && (
6933 : #line 4876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6934 : (TARGET_AVX512F) &&
6935 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6936 : (TARGET_AVX512VL)))
6937 : return 3492; /* avx512vl_cmpv4si3 */
6938 : if (general_operand (operands[1], E_V4SImode)
6939 : && general_operand (operands[2], E_V4SImode)
6940 : && (
6941 : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6942 : (TARGET_AVX512F && ix86_pre_reload_split ()
6943 : && rtx_equal_p (operands[1], operands[2])
6944 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
6945 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6946 : (TARGET_AVX512VL)))
6947 : return 3564; /* *avx512vl_cmpv4si3_dup_op */
6948 : }
6949 : break;
6950 :
6951 : case E_V8DImode:
6952 : if (const_0_to_7_operand (operands[3], E_SImode))
6953 : {
6954 : if (register_operand (operands[1], E_V8DImode)
6955 : && nonimmediate_operand (operands[2], E_V8DImode)
6956 : &&
6957 : #line 4876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6958 : (TARGET_AVX512F))
6959 : return 3494; /* avx512f_cmpv8di3 */
6960 : if (general_operand (operands[1], E_V8DImode)
6961 : && general_operand (operands[2], E_V8DImode)
6962 : &&
6963 : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6964 : (TARGET_AVX512F && ix86_pre_reload_split ()
6965 : && rtx_equal_p (operands[1], operands[2])
6966 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))))
6967 : return 3566; /* *avx512f_cmpv8di3_dup_op */
6968 : }
6969 : break;
6970 :
6971 : case E_V4DImode:
6972 : if (const_0_to_7_operand (operands[3], E_SImode))
6973 : {
6974 : if (register_operand (operands[1], E_V4DImode)
6975 : && nonimmediate_operand (operands[2], E_V4DImode)
6976 : && (
6977 : #line 4876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6978 : (TARGET_AVX512F) &&
6979 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6980 : (TARGET_AVX512VL)))
6981 : return 3496; /* avx512vl_cmpv4di3 */
6982 : if (general_operand (operands[1], E_V4DImode)
6983 : && general_operand (operands[2], E_V4DImode)
6984 : && (
6985 : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6986 : (TARGET_AVX512F && ix86_pre_reload_split ()
6987 : && rtx_equal_p (operands[1], operands[2])
6988 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
6989 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6990 : (TARGET_AVX512VL)))
6991 : return 3568; /* *avx512vl_cmpv4di3_dup_op */
6992 : }
6993 : break;
6994 :
6995 : case E_V2DImode:
6996 : if (const_0_to_7_operand (operands[3], E_SImode))
6997 : {
6998 : if (register_operand (operands[1], E_V2DImode)
6999 : && nonimmediate_operand (operands[2], E_V2DImode)
7000 : && (
7001 : #line 4876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7002 : (TARGET_AVX512F) &&
7003 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7004 : (TARGET_AVX512VL)))
7005 : return 3498; /* avx512vl_cmpv2di3 */
7006 : if (general_operand (operands[1], E_V2DImode)
7007 : && general_operand (operands[2], E_V2DImode)
7008 : && (
7009 : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7010 : (TARGET_AVX512F && ix86_pre_reload_split ()
7011 : && rtx_equal_p (operands[1], operands[2])
7012 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
7013 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7014 : (TARGET_AVX512VL)))
7015 : return 3570; /* *avx512vl_cmpv2di3_dup_op */
7016 : }
7017 : break;
7018 :
7019 : case E_V8BFmode:
7020 : if (register_operand (operands[1], E_V8BFmode)
7021 : && nonimmediate_operand (operands[2], E_V8BFmode)
7022 : && const_0_to_31_operand (operands[3], E_VOIDmode)
7023 : &&
7024 : #line 33532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7025 : (TARGET_AVX10_2))
7026 : return 10832; /* avx10_2_cmpbf16_v8bf */
7027 : break;
7028 :
7029 : default:
7030 : break;
7031 : }
7032 : break;
7033 :
7034 : case 1:
7035 : switch (GET_MODE (operands[1]))
7036 : {
7037 : case E_V16HFmode:
7038 : if (register_operand (operands[1], E_V16HFmode)
7039 : && nonimmediate_operand (operands[2], E_V16HFmode)
7040 : && const_0_to_31_operand (operands[3], E_SImode)
7041 : && (
7042 : #line 4681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7043 : (TARGET_AVX512F && 1) &&
7044 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7045 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
7046 : return 3336; /* avx512vl_cmpv16hf3 */
7047 : break;
7048 :
7049 : case E_V16SFmode:
7050 : if (register_operand (operands[1], E_V16SFmode)
7051 : && nonimmediate_operand (operands[2], E_V16SFmode)
7052 : && const_0_to_31_operand (operands[3], E_SImode)
7053 : &&
7054 : #line 4681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7055 : (TARGET_AVX512F && 1))
7056 : return 3340; /* avx512f_cmpv16sf3 */
7057 : break;
7058 :
7059 : case E_V16QImode:
7060 : if (const_0_to_7_operand (operands[3], E_SImode))
7061 : {
7062 : if (register_operand (operands[1], E_V16QImode)
7063 : && nonimmediate_operand (operands[2], E_V16QImode)
7064 : && (
7065 : #line 4876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7066 : (TARGET_AVX512F) &&
7067 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7068 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7069 : return 3480; /* avx512vl_cmpv16qi3 */
7070 : if (general_operand (operands[1], E_V16QImode)
7071 : && general_operand (operands[2], E_V16QImode)
7072 : && (
7073 : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7074 : (TARGET_AVX512F && ix86_pre_reload_split ()
7075 : && rtx_equal_p (operands[1], operands[2])
7076 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
7077 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7078 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7079 : return 3552; /* *avx512vl_cmpv16qi3_dup_op */
7080 : }
7081 : break;
7082 :
7083 : case E_V16HImode:
7084 : if (const_0_to_7_operand (operands[3], E_SImode))
7085 : {
7086 : if (register_operand (operands[1], E_V16HImode)
7087 : && nonimmediate_operand (operands[2], E_V16HImode)
7088 : && (
7089 : #line 4876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7090 : (TARGET_AVX512F) &&
7091 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7092 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7093 : return 3484; /* avx512vl_cmpv16hi3 */
7094 : if (general_operand (operands[1], E_V16HImode)
7095 : && general_operand (operands[2], E_V16HImode)
7096 : && (
7097 : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7098 : (TARGET_AVX512F && ix86_pre_reload_split ()
7099 : && rtx_equal_p (operands[1], operands[2])
7100 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
7101 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7102 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7103 : return 3556; /* *avx512vl_cmpv16hi3_dup_op */
7104 : }
7105 : break;
7106 :
7107 : case E_V16SImode:
7108 : if (const_0_to_7_operand (operands[3], E_SImode))
7109 : {
7110 : if (register_operand (operands[1], E_V16SImode)
7111 : && nonimmediate_operand (operands[2], E_V16SImode)
7112 : &&
7113 : #line 4876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7114 : (TARGET_AVX512F))
7115 : return 3488; /* avx512f_cmpv16si3 */
7116 : if (general_operand (operands[1], E_V16SImode)
7117 : && general_operand (operands[2], E_V16SImode)
7118 : &&
7119 : #line 4968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7120 : (TARGET_AVX512F && ix86_pre_reload_split ()
7121 : && rtx_equal_p (operands[1], operands[2])
7122 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))))
7123 : return 3560; /* *avx512f_cmpv16si3_dup_op */
7124 : }
7125 : break;
7126 :
7127 : case E_V16BFmode:
7128 : if (register_operand (operands[1], E_V16BFmode)
7129 : && nonimmediate_operand (operands[2], E_V16BFmode)
7130 : && const_0_to_31_operand (operands[3], E_VOIDmode)
7131 : &&
7132 : #line 33532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7133 : (TARGET_AVX10_2))
7134 : return 10830; /* avx10_2_cmpbf16_v16bf */
7135 : break;
7136 :
7137 : default:
7138 : break;
7139 : }
7140 : break;
7141 :
7142 : default:
7143 : break;
7144 : }
7145 : if (XWINT (x3, 0) != 0L)
7146 : return -1;
7147 : operands[2] = x4;
7148 : switch (pattern971 (x2))
7149 : {
7150 : case 0:
7151 : if (!(
7152 : #line 4996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7153 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7154 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7155 : (TARGET_AVX512VL)))
7156 : return -1;
7157 : return 3576; /* *avx512vl_eqv16qi3_1 */
7158 :
7159 : case 1:
7160 : if (!(
7161 : #line 4996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7162 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7163 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7164 : (TARGET_AVX512VL)))
7165 : return -1;
7166 : return 3588; /* *avx512vl_eqv16hi3_1 */
7167 :
7168 : case 2:
7169 : if (!
7170 : #line 5072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7171 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7172 : return -1;
7173 : return 3632; /* *avx512f_eqv16si3_1 */
7174 :
7175 : case 3:
7176 : if (!(
7177 : #line 4996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7178 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7179 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7180 : (TARGET_AVX512VL)))
7181 : return -1;
7182 : return 3592; /* *avx512vl_eqv8hi3_1 */
7183 :
7184 : case 4:
7185 : if (!(
7186 : #line 5072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7187 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7188 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7189 : (TARGET_AVX512VL)))
7190 : return -1;
7191 : return 3636; /* *avx512vl_eqv8si3_1 */
7192 :
7193 : case 5:
7194 : if (!(
7195 : #line 5072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7196 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7197 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7198 : (TARGET_AVX512VL)))
7199 : return -1;
7200 : return 3640; /* *avx512vl_eqv4si3_1 */
7201 :
7202 : case 6:
7203 : if (!
7204 : #line 5072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7205 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7206 : return -1;
7207 : return 3644; /* *avx512f_eqv8di3_1 */
7208 :
7209 : case 7:
7210 : if (!(
7211 : #line 5072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7212 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7213 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7214 : (TARGET_AVX512VL)))
7215 : return -1;
7216 : return 3648; /* *avx512vl_eqv4di3_1 */
7217 :
7218 : case 8:
7219 : if (!(
7220 : #line 5072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7221 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7222 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7223 : (TARGET_AVX512VL)))
7224 : return -1;
7225 : return 3652; /* *avx512vl_eqv2di3_1 */
7226 :
7227 : default:
7228 : return -1;
7229 : }
7230 :
7231 : case 1:
7232 : if (!(
7233 : #line 5193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7234 : (TARGET_AVX512BW && ix86_pre_reload_split ()
7235 : && ix86_binary_operator_ok (US_MINUS, V16QImode, operands)
7236 : && (INTVAL (operands[4]) & 3) == 0) &&
7237 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7238 : (TARGET_AVX512VL)))
7239 : return -1;
7240 : return 3724; /* *avx512vl_ucmpv16qi3_1 */
7241 :
7242 : case 2:
7243 : if (!(
7244 : #line 5193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7245 : (TARGET_AVX512BW && ix86_pre_reload_split ()
7246 : && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)
7247 : && (INTVAL (operands[4]) & 3) == 0) &&
7248 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7249 : (TARGET_AVX512VL)))
7250 : return -1;
7251 : return 3730; /* *avx512vl_ucmpv16hi3_1 */
7252 :
7253 : case 3:
7254 : if (!(
7255 : #line 5193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7256 : (TARGET_AVX512BW && ix86_pre_reload_split ()
7257 : && ix86_binary_operator_ok (US_MINUS, V8HImode, operands)
7258 : && (INTVAL (operands[4]) & 3) == 0) &&
7259 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7260 : (TARGET_AVX512VL)))
7261 : return -1;
7262 : return 3732; /* *avx512vl_ucmpv8hi3_1 */
7263 :
7264 : default:
7265 : return -1;
7266 : }
7267 : }
7268 :
7269 : int
7270 : recog_28 (rtx x1 ATTRIBUTE_UNUSED,
7271 : rtx_insn *insn ATTRIBUTE_UNUSED,
7272 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7273 : {
7274 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7275 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
7276 : int res ATTRIBUTE_UNUSED;
7277 : x2 = XEXP (x1, 1);
7278 : x3 = XEXP (x2, 0);
7279 : switch (GET_CODE (x3))
7280 : {
7281 : case AND:
7282 : x4 = XEXP (x1, 0);
7283 : operands[0] = x4;
7284 : x5 = XEXP (x3, 1);
7285 : operands[3] = x5;
7286 : x6 = XEXP (x3, 0);
7287 : switch (GET_CODE (x6))
7288 : {
7289 : case REG:
7290 : case SUBREG:
7291 : case MEM:
7292 : operands[1] = x6;
7293 : switch (pattern75 (x2))
7294 : {
7295 : case 0:
7296 : if (!
7297 : #line 3769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7298 : (TARGET_64BIT
7299 : && CONST_WIDE_INT_P (operands[3])
7300 : && CONST_WIDE_INT_NUNITS (operands[3]) == 2
7301 : && CONST_WIDE_INT_ELT (operands[3], 0) == -1
7302 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0))
7303 : return -1;
7304 : return 149; /* *insvti_highpart_1 */
7305 :
7306 : case 1:
7307 : if (!
7308 : #line 3791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7309 : (TARGET_64BIT
7310 : && CONST_WIDE_INT_P (operands[3])
7311 : && CONST_WIDE_INT_NUNITS (operands[3]) == 2
7312 : && CONST_WIDE_INT_ELT (operands[3], 0) == 0
7313 : && CONST_WIDE_INT_ELT (operands[3], 1) == -1))
7314 : return -1;
7315 : return 152; /* *insvti_lowpart_1 */
7316 :
7317 : case 2:
7318 : if (!
7319 : #line 3813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7320 : (!TARGET_64BIT
7321 : && CONST_INT_P (operands[3])
7322 : && UINTVAL (operands[3]) == 0xffffffff00000000ll))
7323 : return -1;
7324 : return 155; /* *insvdi_lowpart_1 */
7325 :
7326 : default:
7327 : return -1;
7328 : }
7329 :
7330 : case XOR:
7331 : if (pnum_clobbers == NULL
7332 : || GET_MODE (x6) != E_HImode
7333 : || !register_operand (operands[0], E_HImode)
7334 : || GET_MODE (x2) != E_HImode
7335 : || GET_MODE (x3) != E_HImode)
7336 : return -1;
7337 : x7 = XEXP (x6, 0);
7338 : operands[1] = x7;
7339 : if (!nonimmediate_operand (operands[1], E_HImode))
7340 : return -1;
7341 : x8 = XEXP (x6, 1);
7342 : operands[2] = x8;
7343 : if (!nonimmediate_operand (operands[2], E_HImode)
7344 : || !nonimmediate_operand (operands[3], E_HImode))
7345 : return -1;
7346 : x9 = XEXP (x2, 1);
7347 : if (!rtx_equal_p (x9, operands[1])
7348 : || !
7349 : #line 14508 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7350 : (TARGET_BMI && ix86_pre_reload_split ()))
7351 : return -1;
7352 : *pnum_clobbers = 1;
7353 : return 868; /* *xor2andn */
7354 :
7355 : default:
7356 : return -1;
7357 : }
7358 :
7359 : case ASHIFT:
7360 : x4 = XEXP (x1, 0);
7361 : operands[0] = x4;
7362 : x5 = XEXP (x3, 1);
7363 : operands[2] = x5;
7364 : x6 = XEXP (x3, 0);
7365 : switch (GET_CODE (x6))
7366 : {
7367 : case REG:
7368 : case SUBREG:
7369 : operands[1] = x6;
7370 : switch (pattern619 (x2))
7371 : {
7372 : case 0:
7373 : if (!
7374 : #line 8239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7375 : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
7376 : && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
7377 : < (HOST_WIDE_INT_1U << INTVAL (operands[2])))))
7378 : return -1;
7379 : return 377; /* *leaqi_general_4 */
7380 :
7381 : case 1:
7382 : if (!
7383 : #line 8239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7384 : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
7385 : && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
7386 : < (HOST_WIDE_INT_1U << INTVAL (operands[2])))))
7387 : return -1;
7388 : return 379; /* *leahi_general_4 */
7389 :
7390 : case 2:
7391 : if (!(
7392 : #line 15021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7393 : (INTVAL (operands[2]) == 16 * BITS_PER_UNIT / 2
7394 : && (TImode == DImode
7395 : ? CONST_INT_P (operands[3])
7396 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
7397 : : CONST_INT_P (operands[3])
7398 : ? INTVAL (operands[3]) >= 0
7399 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
7400 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
7401 : && !(CONST_INT_P (operands[3])
7402 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
7403 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
7404 : 0)),
7405 : VOIDmode))) &&
7406 : #line 1227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7407 : (TARGET_64BIT)))
7408 : return -1;
7409 : return 965; /* *concatditi3_5 */
7410 :
7411 : case 3:
7412 : if (!(
7413 : #line 14944 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7414 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
7415 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7416 : (TARGET_64BIT)))
7417 : return -1;
7418 : return 929; /* *concatditi3_1 */
7419 :
7420 : default:
7421 : return -1;
7422 : }
7423 :
7424 : case SIGN_EXTEND:
7425 : switch (pattern429 (x2))
7426 : {
7427 : case 0:
7428 : if (!(
7429 : #line 14980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7430 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
7431 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7432 : (TARGET_64BIT)))
7433 : return -1;
7434 : return 944; /* *concatditi3_3 */
7435 :
7436 : case 1:
7437 : if (!(
7438 : #line 15053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7439 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
7440 : && (TImode == DImode
7441 : ? CONST_INT_P (operands[3])
7442 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
7443 : : CONST_INT_P (operands[3])
7444 : ? INTVAL (operands[3]) >= 0
7445 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
7446 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
7447 : && !(CONST_INT_P (operands[3])
7448 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
7449 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
7450 : 0)),
7451 : VOIDmode))) &&
7452 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7453 : (TARGET_64BIT)))
7454 : return -1;
7455 : return 974; /* *concatditi3_6 */
7456 :
7457 : default:
7458 : return -1;
7459 : }
7460 :
7461 : case ZERO_EXTEND:
7462 : switch (pattern429 (x2))
7463 : {
7464 : case 0:
7465 : if (!(
7466 : #line 14980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7467 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
7468 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7469 : (TARGET_64BIT)))
7470 : return -1;
7471 : return 947; /* *concatditi3_3 */
7472 :
7473 : case 1:
7474 : if (!(
7475 : #line 15053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7476 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
7477 : && (TImode == DImode
7478 : ? CONST_INT_P (operands[3])
7479 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
7480 : : CONST_INT_P (operands[3])
7481 : ? INTVAL (operands[3]) >= 0
7482 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
7483 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
7484 : && !(CONST_INT_P (operands[3])
7485 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
7486 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
7487 : 0)),
7488 : VOIDmode))) &&
7489 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7490 : (TARGET_64BIT)))
7491 : return -1;
7492 : return 977; /* *concatditi3_6 */
7493 :
7494 : default:
7495 : return -1;
7496 : }
7497 :
7498 : default:
7499 : return -1;
7500 : }
7501 :
7502 : case REG:
7503 : case SUBREG:
7504 : case MEM:
7505 : operands[1] = x3;
7506 : switch (pattern82 (x1, pnum_clobbers))
7507 : {
7508 : case 0:
7509 : if (
7510 : #line 13553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7511 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7512 : {
7513 : *pnum_clobbers = 1;
7514 : return 755; /* *xorqi_1_slp */
7515 : }
7516 : break;
7517 :
7518 : case 1:
7519 : if (
7520 : #line 13553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7521 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7522 : {
7523 : *pnum_clobbers = 1;
7524 : return 758; /* *xorhi_1_slp */
7525 : }
7526 : break;
7527 :
7528 : case 2:
7529 : if ((
7530 : #line 14336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7531 : (ix86_binary_operator_ok (XOR, TImode, operands, TARGET_APX_NDD)) &&
7532 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7533 : (TARGET_64BIT)))
7534 : {
7535 : *pnum_clobbers = 1;
7536 : return 850; /* *xorti3_doubleword */
7537 : }
7538 : break;
7539 :
7540 : case 3:
7541 : if (
7542 : #line 14398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7543 : (ix86_binary_operator_ok (XOR, HImode, operands, TARGET_APX_NDD)
7544 : && TARGET_APX_NF))
7545 : return 853; /* *xorhi_1_nf */
7546 : if (pnum_clobbers != NULL
7547 : &&
7548 : #line 14398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7549 : (ix86_binary_operator_ok (XOR, HImode, operands, TARGET_APX_NDD)
7550 : && true))
7551 : {
7552 : *pnum_clobbers = 1;
7553 : return 854; /* *xorhi_1 */
7554 : }
7555 : break;
7556 :
7557 : case 4:
7558 : if (
7559 : #line 1383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7560 : (TARGET_MMX_WITH_SSE))
7561 : return 2133; /* xorv2sf3 */
7562 : break;
7563 :
7564 : case 5:
7565 : if (
7566 : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7567 : (TARGET_SSE))
7568 : return 2167; /* xorv2bf3 */
7569 : break;
7570 :
7571 : case 6:
7572 : if ((
7573 : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7574 : (TARGET_SSE) &&
7575 : #line 2251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7576 : (TARGET_MMX_WITH_SSE)))
7577 : return 2170; /* xorv4bf3 */
7578 : break;
7579 :
7580 : case 7:
7581 : if (
7582 : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7583 : (TARGET_SSE))
7584 : return 2173; /* xorv2hf3 */
7585 : break;
7586 :
7587 : case 8:
7588 : if ((
7589 : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7590 : (TARGET_SSE) &&
7591 : #line 2252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7592 : (TARGET_MMX_WITH_SSE)))
7593 : return 2176; /* xorv4hf3 */
7594 : break;
7595 :
7596 : case 9:
7597 : if (
7598 : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7599 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
7600 : && ix86_binary_operator_ok (XOR, V8QImode, operands)))
7601 : return 2330; /* *mmx_xorv8qi3 */
7602 : break;
7603 :
7604 : case 10:
7605 : if (
7606 : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7607 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
7608 : && ix86_binary_operator_ok (XOR, V4HImode, operands)))
7609 : return 2333; /* *mmx_xorv4hi3 */
7610 : break;
7611 :
7612 : case 11:
7613 : if (
7614 : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7615 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
7616 : && ix86_binary_operator_ok (XOR, V2SImode, operands)))
7617 : return 2336; /* *mmx_xorv2si3 */
7618 : break;
7619 :
7620 : case 12:
7621 : if (
7622 : #line 4747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7623 : (ix86_binary_operator_ok (XOR, V4QImode, operands)))
7624 : {
7625 : *pnum_clobbers = 1;
7626 : return 2339; /* *xorv4qi3 */
7627 : }
7628 : break;
7629 :
7630 : case 13:
7631 : if (
7632 : #line 4747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7633 : (ix86_binary_operator_ok (XOR, V2QImode, operands)))
7634 : {
7635 : *pnum_clobbers = 1;
7636 : return 2342; /* *xorv2qi3 */
7637 : }
7638 : break;
7639 :
7640 : case 14:
7641 : if (
7642 : #line 4747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7643 : (ix86_binary_operator_ok (XOR, V2HImode, operands)))
7644 : {
7645 : *pnum_clobbers = 1;
7646 : return 2345; /* *xorv2hi3 */
7647 : }
7648 : break;
7649 :
7650 : case 15:
7651 : if (
7652 : #line 6072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7653 : (TARGET_SSE))
7654 : return 3863; /* xorbf3 */
7655 : break;
7656 :
7657 : case 16:
7658 : if (
7659 : #line 6072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7660 : (TARGET_SSE))
7661 : return 3866; /* xorhf3 */
7662 : break;
7663 :
7664 : case 17:
7665 : if (
7666 : #line 6072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7667 : (TARGET_SSE))
7668 : return 3869; /* xorsf3 */
7669 : break;
7670 :
7671 : case 18:
7672 : if ((
7673 : #line 6072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7674 : (TARGET_SSE) &&
7675 : #line 1383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7676 : (TARGET_SSE2)))
7677 : return 3872; /* xordf3 */
7678 : break;
7679 :
7680 : case 19:
7681 : if (
7682 : #line 6147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7683 : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7684 : return 3875; /* *xortf3 */
7685 : break;
7686 :
7687 : default:
7688 : break;
7689 : }
7690 : if (pnum_clobbers != NULL
7691 : && pattern83 (x2) == 0)
7692 : {
7693 : x6 = XEXP (x3, 0);
7694 : x7 = XEXP (x6, 0);
7695 : operands[2] = x7;
7696 : switch (pattern1083 (x1))
7697 : {
7698 : case 0:
7699 : if (
7700 : #line 13578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7701 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7702 : {
7703 : *pnum_clobbers = 1;
7704 : return 761; /* *xorqi_exthi_1_slp */
7705 : }
7706 : break;
7707 :
7708 : case 1:
7709 : if (
7710 : #line 13578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7711 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7712 : {
7713 : *pnum_clobbers = 1;
7714 : return 764; /* *xorqi_extsi_1_slp */
7715 : }
7716 : break;
7717 :
7718 : case 2:
7719 : if ((
7720 : #line 13578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7721 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
7722 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7723 : (TARGET_64BIT)))
7724 : {
7725 : *pnum_clobbers = 1;
7726 : return 767; /* *xorqi_extdi_1_slp */
7727 : }
7728 : break;
7729 :
7730 : case 3:
7731 : *pnum_clobbers = 1;
7732 : return 785; /* *xorqi_exthi_0 */
7733 :
7734 : case 4:
7735 : *pnum_clobbers = 1;
7736 : return 788; /* *xorqi_extsi_0 */
7737 :
7738 : case 5:
7739 : if (
7740 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7741 : (TARGET_64BIT))
7742 : {
7743 : *pnum_clobbers = 1;
7744 : return 791; /* *xorqi_extdi_0 */
7745 : }
7746 : break;
7747 :
7748 : default:
7749 : break;
7750 : }
7751 : x9 = XEXP (x2, 1);
7752 : if (GET_CODE (x9) == SUBREG)
7753 : {
7754 : switch (pattern1086 (x1))
7755 : {
7756 : case 0:
7757 : if (
7758 : #line 13607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7759 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7760 : {
7761 : *pnum_clobbers = 1;
7762 : return 770; /* *xorqi_exthi_2_slp */
7763 : }
7764 : break;
7765 :
7766 : case 1:
7767 : if (
7768 : #line 13607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7769 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7770 : {
7771 : *pnum_clobbers = 1;
7772 : return 773; /* *xorqi_extsi_2_slp */
7773 : }
7774 : break;
7775 :
7776 : case 2:
7777 : if ((
7778 : #line 13607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7779 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
7780 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7781 : (TARGET_64BIT)))
7782 : {
7783 : *pnum_clobbers = 1;
7784 : return 776; /* *xorqi_extdi_2_slp */
7785 : }
7786 : break;
7787 :
7788 : case 3:
7789 : *pnum_clobbers = 1;
7790 : return 794; /* *xorqi_ext2hi_0 */
7791 :
7792 : case 4:
7793 : *pnum_clobbers = 1;
7794 : return 797; /* *xorqi_ext2si_0 */
7795 :
7796 : case 5:
7797 : if (
7798 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7799 : (TARGET_64BIT))
7800 : {
7801 : *pnum_clobbers = 1;
7802 : return 800; /* *xorqi_ext2di_0 */
7803 : }
7804 : break;
7805 :
7806 : default:
7807 : break;
7808 : }
7809 : }
7810 : }
7811 : operands[1] = x3;
7812 : if (pattern84 (x1) != 0)
7813 : return -1;
7814 : if (
7815 : #line 14619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7816 : (ix86_binary_operator_ok (XOR, QImode, operands, TARGET_APX_NDD)
7817 : && TARGET_APX_NF))
7818 : return 897; /* *xorqi_1_nf */
7819 : if (pnum_clobbers == NULL
7820 : || !
7821 : #line 14619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7822 : (ix86_binary_operator_ok (XOR, QImode, operands, TARGET_APX_NDD)
7823 : && true))
7824 : return -1;
7825 : *pnum_clobbers = 1;
7826 : return 898; /* *xorqi_1 */
7827 :
7828 : case ZERO_EXTEND:
7829 : switch (pattern40 (x1))
7830 : {
7831 : case 0:
7832 : if (!(
7833 : #line 14961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7834 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
7835 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7836 : (TARGET_64BIT)))
7837 : return -1;
7838 : return 935; /* *concatditi3_2 */
7839 :
7840 : case 1:
7841 : if (!(
7842 : #line 15005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7843 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
7844 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7845 : (TARGET_64BIT)))
7846 : return -1;
7847 : return 956; /* *concatditi3_4 */
7848 :
7849 : case 2:
7850 : if (!(
7851 : #line 15005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7852 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
7853 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7854 : (TARGET_64BIT)))
7855 : return -1;
7856 : return 959; /* *concatditi3_4 */
7857 :
7858 : case 3:
7859 : if (!(
7860 : #line 15082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7861 : (TImode == DImode
7862 : ? CONST_INT_P (operands[2])
7863 : && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
7864 : && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
7865 : : CONST_WIDE_INT_P (operands[2])
7866 : && CONST_WIDE_INT_NUNITS (operands[2]) == 2
7867 : && CONST_WIDE_INT_ELT (operands[2], 0) == 0
7868 : && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
7869 : 1)),
7870 : VOIDmode)) &&
7871 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7872 : (TARGET_64BIT)))
7873 : return -1;
7874 : return 983; /* *concatditi3_7 */
7875 :
7876 : default:
7877 : return -1;
7878 : }
7879 :
7880 : default:
7881 : return -1;
7882 : }
7883 : }
7884 :
7885 : int
7886 : recog_48 (rtx x1 ATTRIBUTE_UNUSED,
7887 : rtx_insn *insn ATTRIBUTE_UNUSED,
7888 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7889 : {
7890 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7891 : rtx x2, x3, x4;
7892 : int res ATTRIBUTE_UNUSED;
7893 : switch (pattern2 (x1, pnum_clobbers))
7894 : {
7895 : case 0:
7896 : if (!
7897 : #line 19131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7898 : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
7899 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
7900 : == GET_MODE_BITSIZE (QImode)-1
7901 : && ix86_pre_reload_split ()))
7902 : return -1;
7903 : *pnum_clobbers = 1;
7904 : return 1325; /* *rotrqi3_mask_1 */
7905 :
7906 : case 1:
7907 : if (!
7908 : #line 19131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7909 : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
7910 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
7911 : == GET_MODE_BITSIZE (HImode)-1
7912 : && ix86_pre_reload_split ()))
7913 : return -1;
7914 : *pnum_clobbers = 1;
7915 : return 1327; /* *rotrhi3_mask_1 */
7916 :
7917 : case 2:
7918 : if (!
7919 : #line 19212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7920 : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
7921 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
7922 : && ix86_pre_reload_split ()))
7923 : return -1;
7924 : *pnum_clobbers = 1;
7925 : return 1341; /* *rotrqi3_add_1 */
7926 :
7927 : case 3:
7928 : if (!
7929 : #line 19212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7930 : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
7931 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
7932 : && ix86_pre_reload_split ()))
7933 : return -1;
7934 : *pnum_clobbers = 1;
7935 : return 1343; /* *rotrhi3_add_1 */
7936 :
7937 : case 4:
7938 : if (!
7939 : #line 19281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7940 : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
7941 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
7942 : && ix86_pre_reload_split ()))
7943 : return -1;
7944 : *pnum_clobbers = 1;
7945 : return 1357; /* *rotrqi3_sub_1 */
7946 :
7947 : case 5:
7948 : if (!
7949 : #line 19281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7950 : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
7951 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
7952 : && ix86_pre_reload_split ()))
7953 : return -1;
7954 : *pnum_clobbers = 1;
7955 : return 1359; /* *rotrhi3_sub_1 */
7956 :
7957 : case 6:
7958 : x2 = XEXP (x1, 0);
7959 : operands[0] = x2;
7960 : x3 = XEXP (x1, 1);
7961 : switch (pattern270 (x3, pnum_clobbers))
7962 : {
7963 : case 0:
7964 : if (
7965 : #line 19083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7966 : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
7967 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
7968 : == GET_MODE_BITSIZE (QImode)-1
7969 : && ix86_pre_reload_split ()))
7970 : {
7971 : *pnum_clobbers = 1;
7972 : return 1317; /* *rotrqi3_mask */
7973 : }
7974 : break;
7975 :
7976 : case 1:
7977 : if (
7978 : #line 19083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7979 : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
7980 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
7981 : == GET_MODE_BITSIZE (HImode)-1
7982 : && ix86_pre_reload_split ()))
7983 : {
7984 : *pnum_clobbers = 1;
7985 : return 1319; /* *rotrhi3_mask */
7986 : }
7987 : break;
7988 :
7989 : case 2:
7990 : if (
7991 : #line 19176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7992 : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
7993 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
7994 : && ix86_pre_reload_split ()))
7995 : {
7996 : *pnum_clobbers = 1;
7997 : return 1333; /* *rotrqi3_add */
7998 : }
7999 : break;
8000 :
8001 : case 3:
8002 : if (
8003 : #line 19176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8004 : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
8005 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
8006 : && ix86_pre_reload_split ()))
8007 : {
8008 : *pnum_clobbers = 1;
8009 : return 1335; /* *rotrhi3_add */
8010 : }
8011 : break;
8012 :
8013 : case 4:
8014 : if (
8015 : #line 19245 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8016 : (ix86_binary_operator_ok (ROTATERT, QImode, operands)
8017 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
8018 : && ix86_pre_reload_split ()))
8019 : {
8020 : *pnum_clobbers = 1;
8021 : return 1349; /* *rotrqi3_sub */
8022 : }
8023 : break;
8024 :
8025 : case 5:
8026 : if (
8027 : #line 19245 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8028 : (ix86_binary_operator_ok (ROTATERT, HImode, operands)
8029 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
8030 : && ix86_pre_reload_split ()))
8031 : {
8032 : *pnum_clobbers = 1;
8033 : return 1351; /* *rotrhi3_sub */
8034 : }
8035 : break;
8036 :
8037 : case 6:
8038 : if (pnum_clobbers != NULL
8039 : && pattern628 (x3) == 0
8040 : &&
8041 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8042 : (TARGET_64BIT))
8043 : {
8044 : *pnum_clobbers = 2;
8045 : return 1367; /* ix86_rotrti3_doubleword */
8046 : }
8047 : x4 = XEXP (x3, 1);
8048 : if (XWINT (x4, 0) == 64L
8049 : && register_operand (operands[0], E_TImode)
8050 : && GET_MODE (x3) == E_TImode
8051 : && register_operand (operands[1], E_TImode)
8052 : &&
8053 : #line 19404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8054 : (TARGET_64BIT))
8055 : return 1371; /* rotr64ti2_doubleword */
8056 : break;
8057 :
8058 : default:
8059 : break;
8060 : }
8061 : x4 = XEXP (x3, 1);
8062 : operands[2] = x4;
8063 : switch (pattern271 (x1, pnum_clobbers))
8064 : {
8065 : case 0:
8066 : if (
8067 : #line 19620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8068 : (ix86_binary_operator_ok (ROTATERT, QImode, operands, TARGET_APX_NDD)
8069 : && TARGET_APX_NF))
8070 : return 1407; /* *rotrqi3_1_nf */
8071 : if (pnum_clobbers == NULL
8072 : || !
8073 : #line 19620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8074 : (ix86_binary_operator_ok (ROTATERT, QImode, operands, TARGET_APX_NDD)
8075 : && true))
8076 : return -1;
8077 : *pnum_clobbers = 1;
8078 : return 1408; /* *rotrqi3_1 */
8079 :
8080 : case 1:
8081 : if (
8082 : #line 19620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8083 : (ix86_binary_operator_ok (ROTATERT, HImode, operands, TARGET_APX_NDD)
8084 : && TARGET_APX_NF))
8085 : return 1411; /* *rotrhi3_1_nf */
8086 : if (pnum_clobbers == NULL
8087 : || !
8088 : #line 19620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8089 : (ix86_binary_operator_ok (ROTATERT, HImode, operands, TARGET_APX_NDD)
8090 : && true))
8091 : return -1;
8092 : *pnum_clobbers = 1;
8093 : return 1412; /* *rotrhi3_1 */
8094 :
8095 : case 2:
8096 : if (!
8097 : #line 19648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8098 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8099 : return -1;
8100 : *pnum_clobbers = 1;
8101 : return 1414; /* *rotrqi3_1_slp */
8102 :
8103 : case 3:
8104 : if (!
8105 : #line 19648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8106 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8107 : return -1;
8108 : *pnum_clobbers = 1;
8109 : return 1416; /* *rotrhi3_1_slp */
8110 :
8111 : default:
8112 : return -1;
8113 : }
8114 :
8115 : default:
8116 : return -1;
8117 : }
8118 : }
8119 :
8120 : int
8121 : recog_57 (rtx x1 ATTRIBUTE_UNUSED,
8122 : rtx_insn *insn ATTRIBUTE_UNUSED,
8123 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8124 : {
8125 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8126 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
8127 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
8128 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
8129 : rtx x26, x27, x28, x29;
8130 : int res ATTRIBUTE_UNUSED;
8131 : x2 = XEXP (x1, 1);
8132 : x3 = XEXP (x2, 0);
8133 : switch (GET_CODE (x3))
8134 : {
8135 : case AND:
8136 : x4 = XEXP (x1, 0);
8137 : operands[0] = x4;
8138 : switch (pattern76 (x2))
8139 : {
8140 : case 0:
8141 : if (!
8142 : #line 3769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8143 : (TARGET_64BIT
8144 : && CONST_WIDE_INT_P (operands[3])
8145 : && CONST_WIDE_INT_NUNITS (operands[3]) == 2
8146 : && CONST_WIDE_INT_ELT (operands[3], 0) == -1
8147 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0))
8148 : return -1;
8149 : return 147; /* *insvti_highpart_1 */
8150 :
8151 : case 1:
8152 : if (!
8153 : #line 3791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8154 : (TARGET_64BIT
8155 : && CONST_WIDE_INT_P (operands[3])
8156 : && CONST_WIDE_INT_NUNITS (operands[3]) == 2
8157 : && CONST_WIDE_INT_ELT (operands[3], 0) == 0
8158 : && CONST_WIDE_INT_ELT (operands[3], 1) == -1))
8159 : return -1;
8160 : return 150; /* *insvti_lowpart_1 */
8161 :
8162 : case 2:
8163 : if (!
8164 : #line 3813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8165 : (!TARGET_64BIT
8166 : && CONST_INT_P (operands[3])
8167 : && UINTVAL (operands[3]) == 0xffffffff00000000ll))
8168 : return -1;
8169 : return 153; /* *insvdi_lowpart_1 */
8170 :
8171 : default:
8172 : return -1;
8173 : }
8174 :
8175 : case REG:
8176 : case SUBREG:
8177 : case MEM:
8178 : operands[1] = x3;
8179 : res = recog_56 (x1, insn, pnum_clobbers);
8180 : if (res >= 0)
8181 : return res;
8182 : if (pnum_clobbers == NULL
8183 : || pattern83 (x2) != 0)
8184 : return -1;
8185 : x5 = XEXP (x3, 0);
8186 : x6 = XEXP (x5, 0);
8187 : operands[2] = x6;
8188 : switch (pattern1083 (x1))
8189 : {
8190 : case 0:
8191 : if (
8192 : #line 7182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8193 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8194 : {
8195 : *pnum_clobbers = 1;
8196 : return 307; /* *addqi_exthi_1_slp */
8197 : }
8198 : break;
8199 :
8200 : case 1:
8201 : if (
8202 : #line 7182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8203 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8204 : {
8205 : *pnum_clobbers = 1;
8206 : return 308; /* *addqi_extsi_1_slp */
8207 : }
8208 : break;
8209 :
8210 : case 2:
8211 : if ((
8212 : #line 7182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8213 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
8214 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8215 : (TARGET_64BIT)))
8216 : {
8217 : *pnum_clobbers = 1;
8218 : return 309; /* *addqi_extdi_1_slp */
8219 : }
8220 : break;
8221 :
8222 : case 3:
8223 : *pnum_clobbers = 1;
8224 : return 331; /* *addqi_exthi_0 */
8225 :
8226 : case 4:
8227 : *pnum_clobbers = 1;
8228 : return 332; /* *addqi_extsi_0 */
8229 :
8230 : case 5:
8231 : if (
8232 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8233 : (TARGET_64BIT))
8234 : {
8235 : *pnum_clobbers = 1;
8236 : return 333; /* *addqi_extdi_0 */
8237 : }
8238 : break;
8239 :
8240 : default:
8241 : break;
8242 : }
8243 : x7 = XEXP (x2, 1);
8244 : if (GET_CODE (x7) != SUBREG)
8245 : return -1;
8246 : switch (pattern1086 (x1))
8247 : {
8248 : case 0:
8249 : if (!
8250 : #line 7211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8251 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8252 : return -1;
8253 : *pnum_clobbers = 1;
8254 : return 310; /* *addqi_exthi_2_slp */
8255 :
8256 : case 1:
8257 : if (!
8258 : #line 7211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8259 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8260 : return -1;
8261 : *pnum_clobbers = 1;
8262 : return 311; /* *addqi_extsi_2_slp */
8263 :
8264 : case 2:
8265 : if (!(
8266 : #line 7211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8267 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
8268 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8269 : (TARGET_64BIT)))
8270 : return -1;
8271 : *pnum_clobbers = 1;
8272 : return 312; /* *addqi_extdi_2_slp */
8273 :
8274 : case 3:
8275 : *pnum_clobbers = 1;
8276 : return 334; /* *addqi_ext2hi_0 */
8277 :
8278 : case 4:
8279 : *pnum_clobbers = 1;
8280 : return 335; /* *addqi_ext2si_0 */
8281 :
8282 : case 5:
8283 : if (!
8284 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8285 : (TARGET_64BIT))
8286 : return -1;
8287 : *pnum_clobbers = 1;
8288 : return 336; /* *addqi_ext2di_0 */
8289 :
8290 : default:
8291 : return -1;
8292 : }
8293 :
8294 : case ZERO_EXTEND:
8295 : if (GET_MODE (x3) != E_TImode)
8296 : return -1;
8297 : x4 = XEXP (x1, 0);
8298 : operands[0] = x4;
8299 : switch (pattern280 (x2, pnum_clobbers,
8300 : E_TImode,
8301 : E_DImode))
8302 : {
8303 : case 0:
8304 : if (!(
8305 : #line 6672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8306 : (ix86_binary_operator_ok (UNKNOWN, TImode, operands, TARGET_APX_NDD)) &&
8307 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8308 : (TARGET_64BIT)))
8309 : return -1;
8310 : *pnum_clobbers = 1;
8311 : return 273; /* *addti3_doubleword_zext */
8312 :
8313 : case 1:
8314 : if (!(
8315 : #line 14961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8316 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
8317 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8318 : (TARGET_64BIT)))
8319 : return -1;
8320 : return 933; /* *concatditi3_2 */
8321 :
8322 : case 2:
8323 : if (!(
8324 : #line 15005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8325 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
8326 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8327 : (TARGET_64BIT)))
8328 : return -1;
8329 : return 954; /* *concatditi3_4 */
8330 :
8331 : case 3:
8332 : if (!(
8333 : #line 15005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8334 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
8335 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8336 : (TARGET_64BIT)))
8337 : return -1;
8338 : return 957; /* *concatditi3_4 */
8339 :
8340 : case 4:
8341 : if (!(
8342 : #line 15082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8343 : (TImode == DImode
8344 : ? CONST_INT_P (operands[2])
8345 : && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
8346 : && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
8347 : : CONST_WIDE_INT_P (operands[2])
8348 : && CONST_WIDE_INT_NUNITS (operands[2]) == 2
8349 : && CONST_WIDE_INT_ELT (operands[2], 0) == 0
8350 : && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
8351 : 1)),
8352 : VOIDmode)) &&
8353 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8354 : (TARGET_64BIT)))
8355 : return -1;
8356 : return 981; /* *concatditi3_7 */
8357 :
8358 : default:
8359 : return -1;
8360 : }
8361 :
8362 : case PLUS:
8363 : x4 = XEXP (x1, 0);
8364 : operands[0] = x4;
8365 : x5 = XEXP (x3, 0);
8366 : switch (GET_CODE (x5))
8367 : {
8368 : case ASHIFT:
8369 : x6 = XEXP (x5, 0);
8370 : switch (GET_CODE (x6))
8371 : {
8372 : case ZERO_EXTEND:
8373 : if (pnum_clobbers == NULL
8374 : || GET_MODE (x6) != E_TImode)
8375 : return -1;
8376 : x8 = XEXP (x3, 1);
8377 : if (GET_CODE (x8) != ZERO_EXTEND
8378 : || GET_MODE (x8) != E_TImode
8379 : || pattern1010 (x2,
8380 : E_TImode) != 0)
8381 : return -1;
8382 : switch (pattern91 (x2,
8383 : E_TImode,
8384 : E_DImode))
8385 : {
8386 : case 0:
8387 : if (!(
8388 : #line 6707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8389 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
8390 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8391 : (TARGET_64BIT)))
8392 : return -1;
8393 : *pnum_clobbers = 1;
8394 : return 277; /* *addti3_doubleword_concat */
8395 :
8396 : case 1:
8397 : if (!(
8398 : #line 6738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8399 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
8400 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8401 : (TARGET_64BIT)))
8402 : return -1;
8403 : *pnum_clobbers = 1;
8404 : return 283; /* *addti3_doubleword_concat_zext */
8405 :
8406 : default:
8407 : return -1;
8408 : }
8409 :
8410 : case REG:
8411 : case SUBREG:
8412 : switch (pattern582 (x2))
8413 : {
8414 : case 0:
8415 : if (!
8416 : #line 8214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8417 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8418 : return -1;
8419 : return 374; /* *leaqi_general_3b */
8420 :
8421 : case 1:
8422 : if (!
8423 : #line 8214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8424 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8425 : return -1;
8426 : return 375; /* *leahi_general_3b */
8427 :
8428 : default:
8429 : return -1;
8430 : }
8431 :
8432 : default:
8433 : return -1;
8434 : }
8435 :
8436 : case REG:
8437 : case SUBREG:
8438 : switch (pattern433 (x2))
8439 : {
8440 : case 0:
8441 : if (!
8442 : #line 8122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8443 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8444 : return -1;
8445 : return 366; /* *leaqi_general_1 */
8446 :
8447 : case 1:
8448 : if (!
8449 : #line 8122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8450 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8451 : return -1;
8452 : return 367; /* *leahi_general_1 */
8453 :
8454 : default:
8455 : return -1;
8456 : }
8457 :
8458 : case MULT:
8459 : switch (pattern436 (x2))
8460 : {
8461 : case 0:
8462 : if (!
8463 : #line 8188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8464 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8465 : return -1;
8466 : return 372; /* *leaqi_general_3 */
8467 :
8468 : case 1:
8469 : if (!
8470 : #line 8188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8471 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8472 : return -1;
8473 : return 373; /* *leahi_general_3 */
8474 :
8475 : default:
8476 : return -1;
8477 : }
8478 :
8479 : case LTU:
8480 : case UNLT:
8481 : if (pnum_clobbers == NULL)
8482 : return -1;
8483 : operands[4] = x5;
8484 : x9 = XEXP (x5, 1);
8485 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8486 : return -1;
8487 : x6 = XEXP (x5, 0);
8488 : operands[3] = x6;
8489 : if (!flags_reg_operand (operands[3], E_VOIDmode))
8490 : return -1;
8491 : x8 = XEXP (x3, 1);
8492 : operands[1] = x8;
8493 : x7 = XEXP (x2, 1);
8494 : operands[2] = x7;
8495 : switch (GET_MODE (operands[0]))
8496 : {
8497 : case E_QImode:
8498 : if (pattern1369 (x2,
8499 : E_QImode) != 0
8500 : || !
8501 : #line 9107 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8502 : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)))
8503 : return -1;
8504 : *pnum_clobbers = 1;
8505 : return 457; /* addqi3_carry */
8506 :
8507 : case E_HImode:
8508 : if (pattern1369 (x2,
8509 : E_HImode) != 0
8510 : || !
8511 : #line 9107 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8512 : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)))
8513 : return -1;
8514 : *pnum_clobbers = 1;
8515 : return 458; /* addhi3_carry */
8516 :
8517 : default:
8518 : return -1;
8519 : }
8520 :
8521 : case EQ:
8522 : switch (pattern437 (x2, pnum_clobbers))
8523 : {
8524 : case 0:
8525 : if (pattern1275 (x2,
8526 : E_QImode) != 0
8527 : || !
8528 : #line 10892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8529 : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
8530 : && ix86_pre_reload_split ()))
8531 : return -1;
8532 : *pnum_clobbers = 1;
8533 : return 582; /* *addqi3_eq */
8534 :
8535 : case 1:
8536 : if (pattern1275 (x2,
8537 : E_HImode) != 0
8538 : || !
8539 : #line 10892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8540 : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
8541 : && ix86_pre_reload_split ()))
8542 : return -1;
8543 : *pnum_clobbers = 1;
8544 : return 583; /* *addhi3_eq */
8545 :
8546 : default:
8547 : return -1;
8548 : }
8549 :
8550 : case NE:
8551 : switch (pattern437 (x2, pnum_clobbers))
8552 : {
8553 : case 0:
8554 : if (pattern1276 (x2,
8555 : E_QImode) != 0
8556 : || !
8557 : #line 10913 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8558 : (CONST_INT_P (operands[2])
8559 : && (QImode != DImode
8560 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
8561 : && ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
8562 : && ix86_pre_reload_split ()))
8563 : return -1;
8564 : *pnum_clobbers = 1;
8565 : return 586; /* *addqi3_ne */
8566 :
8567 : case 1:
8568 : if (pattern1276 (x2,
8569 : E_HImode) != 0
8570 : || !
8571 : #line 10913 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8572 : (CONST_INT_P (operands[2])
8573 : && (HImode != DImode
8574 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
8575 : && ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
8576 : && ix86_pre_reload_split ()))
8577 : return -1;
8578 : *pnum_clobbers = 1;
8579 : return 587; /* *addhi3_ne */
8580 :
8581 : default:
8582 : return -1;
8583 : }
8584 :
8585 : default:
8586 : return -1;
8587 : }
8588 :
8589 : case IOR:
8590 : switch (pattern93 (x1, pnum_clobbers))
8591 : {
8592 : case 0:
8593 : if (!(
8594 : #line 6707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8595 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
8596 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8597 : (TARGET_64BIT)))
8598 : return -1;
8599 : *pnum_clobbers = 1;
8600 : return 278; /* *addti3_doubleword_concat */
8601 :
8602 : case 1:
8603 : if (!(
8604 : #line 6738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8605 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
8606 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8607 : (TARGET_64BIT)))
8608 : return -1;
8609 : *pnum_clobbers = 1;
8610 : return 284; /* *addti3_doubleword_concat_zext */
8611 :
8612 : default:
8613 : return -1;
8614 : }
8615 :
8616 : case XOR:
8617 : switch (pattern93 (x1, pnum_clobbers))
8618 : {
8619 : case 0:
8620 : if (!(
8621 : #line 6707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8622 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
8623 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8624 : (TARGET_64BIT)))
8625 : return -1;
8626 : *pnum_clobbers = 1;
8627 : return 279; /* *addti3_doubleword_concat */
8628 :
8629 : case 1:
8630 : if (!(
8631 : #line 6738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8632 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
8633 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8634 : (TARGET_64BIT)))
8635 : return -1;
8636 : *pnum_clobbers = 1;
8637 : return 285; /* *addti3_doubleword_concat_zext */
8638 :
8639 : default:
8640 : return -1;
8641 : }
8642 :
8643 : case MULT:
8644 : x4 = XEXP (x1, 0);
8645 : operands[0] = x4;
8646 : x5 = XEXP (x3, 0);
8647 : switch (GET_CODE (x5))
8648 : {
8649 : case REG:
8650 : case SUBREG:
8651 : switch (pattern402 (x2))
8652 : {
8653 : case 0:
8654 : if (!
8655 : #line 8144 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8656 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8657 : return -1;
8658 : return 368; /* *leaqi_general_2 */
8659 :
8660 : case 1:
8661 : if (!
8662 : #line 8144 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8663 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8664 : return -1;
8665 : return 369; /* *leahi_general_2 */
8666 :
8667 : default:
8668 : return -1;
8669 : }
8670 :
8671 : case SIGN_EXTEND:
8672 : if (pattern312 (x5,
8673 : 2,
8674 : E_V2HImode,
8675 : E_V2SImode) != 0)
8676 : return -1;
8677 : x8 = XEXP (x3, 1);
8678 : if (pattern1277 (x8,
8679 : E_V2HImode,
8680 : E_V2SImode) != 0)
8681 : return -1;
8682 : x10 = XEXP (x8, 0);
8683 : x11 = XEXP (x10, 1);
8684 : if (XVECLEN (x11, 0) != 2)
8685 : return -1;
8686 : x12 = XVECEXP (x11, 0, 0);
8687 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8688 : return -1;
8689 : x13 = XVECEXP (x11, 0, 1);
8690 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
8691 : return -1;
8692 : x7 = XEXP (x2, 1);
8693 : if (GET_CODE (x7) != MULT
8694 : || GET_MODE (x7) != E_V2SImode)
8695 : return -1;
8696 : x14 = XEXP (x7, 0);
8697 : if (pattern1213 (x14,
8698 : E_V2HImode,
8699 : VEC_SELECT,
8700 : E_V2SImode,
8701 : SIGN_EXTEND) != 0)
8702 : return -1;
8703 : x15 = XEXP (x14, 0);
8704 : x16 = XEXP (x15, 1);
8705 : if (GET_CODE (x16) != PARALLEL
8706 : || XVECLEN (x16, 0) != 2)
8707 : return -1;
8708 : x17 = XVECEXP (x16, 0, 0);
8709 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
8710 : return -1;
8711 : x18 = XVECEXP (x16, 0, 1);
8712 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
8713 : return -1;
8714 : x19 = XEXP (x7, 1);
8715 : if (pattern1875 (x19,
8716 : E_V2HImode,
8717 : E_V2SImode) != 0)
8718 : return -1;
8719 : x20 = XEXP (x19, 0);
8720 : x21 = XEXP (x20, 1);
8721 : if (XVECLEN (x21, 0) != 2)
8722 : return -1;
8723 : x22 = XVECEXP (x21, 0, 0);
8724 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
8725 : return -1;
8726 : x23 = XVECEXP (x21, 0, 1);
8727 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
8728 : || !register_operand (operands[0], E_V2SImode)
8729 : || GET_MODE (x2) != E_V2SImode
8730 : || GET_MODE (x3) != E_V2SImode)
8731 : return -1;
8732 : x6 = XEXP (x5, 0);
8733 : x24 = XEXP (x6, 0);
8734 : operands[1] = x24;
8735 : if (!register_mmxmem_operand (operands[1], E_V4HImode))
8736 : return -1;
8737 : x25 = XEXP (x10, 0);
8738 : operands[2] = x25;
8739 : if (!register_mmxmem_operand (operands[2], E_V4HImode))
8740 : return -1;
8741 : x26 = XEXP (x15, 0);
8742 : if (!rtx_equal_p (x26, operands[1]))
8743 : return -1;
8744 : x27 = XEXP (x20, 0);
8745 : if (!rtx_equal_p (x27, operands[2])
8746 : || !
8747 : #line 3596 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8748 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8749 : && ix86_binary_operator_ok (MULT, V4HImode, operands)))
8750 : return -1;
8751 : return 2219; /* *mmx_pmaddwd */
8752 :
8753 : default:
8754 : return -1;
8755 : }
8756 :
8757 : case ASHIFT:
8758 : x4 = XEXP (x1, 0);
8759 : operands[0] = x4;
8760 : x8 = XEXP (x3, 1);
8761 : operands[2] = x8;
8762 : x5 = XEXP (x3, 0);
8763 : switch (GET_CODE (x5))
8764 : {
8765 : case REG:
8766 : case SUBREG:
8767 : operands[1] = x5;
8768 : x7 = XEXP (x2, 1);
8769 : switch (GET_CODE (x7))
8770 : {
8771 : case CONST_INT:
8772 : case CONST_WIDE_INT:
8773 : case CONST_POLY_INT:
8774 : case CONST_FIXED:
8775 : case CONST_DOUBLE:
8776 : case CONST_VECTOR:
8777 : case CONST:
8778 : case REG:
8779 : case SUBREG:
8780 : case LABEL_REF:
8781 : case SYMBOL_REF:
8782 : case HIGH:
8783 : operands[3] = x7;
8784 : switch (GET_MODE (operands[0]))
8785 : {
8786 : case E_QImode:
8787 : if (pattern1093 (x2,
8788 : E_QImode) != 0
8789 : || !
8790 : #line 8165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8791 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8792 : return -1;
8793 : return 370; /* *leaqi_general_2b */
8794 :
8795 : case E_HImode:
8796 : if (pattern1093 (x2,
8797 : E_HImode) != 0
8798 : || !
8799 : #line 8165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8800 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8801 : return -1;
8802 : return 371; /* *leahi_general_2b */
8803 :
8804 : case E_TImode:
8805 : if (pattern617 (x2,
8806 : E_TImode) != 0
8807 : || !(
8808 : #line 15021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8809 : (INTVAL (operands[2]) == 16 * BITS_PER_UNIT / 2
8810 : && (TImode == DImode
8811 : ? CONST_INT_P (operands[3])
8812 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
8813 : : CONST_INT_P (operands[3])
8814 : ? INTVAL (operands[3]) >= 0
8815 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
8816 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
8817 : && !(CONST_INT_P (operands[3])
8818 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
8819 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
8820 : 0)),
8821 : VOIDmode))) &&
8822 : #line 1227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8823 : (TARGET_64BIT)))
8824 : return -1;
8825 : return 963; /* *concatditi3_5 */
8826 :
8827 : default:
8828 : return -1;
8829 : }
8830 :
8831 : case ZERO_EXTEND:
8832 : if (pattern618 (x2,
8833 : E_DImode,
8834 : E_TImode) != 0
8835 : || !(
8836 : #line 14944 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8837 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
8838 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8839 : (TARGET_64BIT)))
8840 : return -1;
8841 : return 927; /* *concatditi3_1 */
8842 :
8843 : default:
8844 : return -1;
8845 : }
8846 :
8847 : case SIGN_EXTEND:
8848 : switch (pattern429 (x2))
8849 : {
8850 : case 0:
8851 : if (!(
8852 : #line 14980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8853 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
8854 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8855 : (TARGET_64BIT)))
8856 : return -1;
8857 : return 942; /* *concatditi3_3 */
8858 :
8859 : case 1:
8860 : if (!(
8861 : #line 15053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8862 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
8863 : && (TImode == DImode
8864 : ? CONST_INT_P (operands[3])
8865 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
8866 : : CONST_INT_P (operands[3])
8867 : ? INTVAL (operands[3]) >= 0
8868 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
8869 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
8870 : && !(CONST_INT_P (operands[3])
8871 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
8872 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
8873 : 0)),
8874 : VOIDmode))) &&
8875 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8876 : (TARGET_64BIT)))
8877 : return -1;
8878 : return 972; /* *concatditi3_6 */
8879 :
8880 : default:
8881 : return -1;
8882 : }
8883 :
8884 : case ZERO_EXTEND:
8885 : switch (pattern429 (x2))
8886 : {
8887 : case 0:
8888 : if (!(
8889 : #line 14980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8890 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
8891 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8892 : (TARGET_64BIT)))
8893 : return -1;
8894 : return 945; /* *concatditi3_3 */
8895 :
8896 : case 1:
8897 : if (!(
8898 : #line 15053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8899 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
8900 : && (TImode == DImode
8901 : ? CONST_INT_P (operands[3])
8902 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
8903 : : CONST_INT_P (operands[3])
8904 : ? INTVAL (operands[3]) >= 0
8905 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
8906 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
8907 : && !(CONST_INT_P (operands[3])
8908 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
8909 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
8910 : 0)),
8911 : VOIDmode))) &&
8912 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8913 : (TARGET_64BIT)))
8914 : return -1;
8915 : return 975; /* *concatditi3_6 */
8916 :
8917 : default:
8918 : return -1;
8919 : }
8920 :
8921 : default:
8922 : return -1;
8923 : }
8924 :
8925 : case LTU:
8926 : case UNLT:
8927 : switch (pattern94 (x1, pnum_clobbers))
8928 : {
8929 : case 0:
8930 : if (pattern1096 (x2,
8931 : E_QImode) != 0
8932 : || !
8933 : #line 9213 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8934 : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
8935 : return -1;
8936 : *pnum_clobbers = 1;
8937 : return 465; /* *addqi3_carry_0 */
8938 :
8939 : case 1:
8940 : if (pattern1096 (x2,
8941 : E_HImode) != 0
8942 : || !
8943 : #line 9213 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8944 : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
8945 : return -1;
8946 : *pnum_clobbers = 1;
8947 : return 466; /* *addhi3_carry_0 */
8948 :
8949 : default:
8950 : return -1;
8951 : }
8952 :
8953 : case GE:
8954 : case GEU:
8955 : switch (pattern94 (x1, pnum_clobbers))
8956 : {
8957 : case 0:
8958 : if (pattern1097 (x2,
8959 : E_QImode) != 0
8960 : || !
8961 : #line 9247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8962 : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
8963 : return -1;
8964 : *pnum_clobbers = 1;
8965 : return 473; /* *addqi3_carry_0r */
8966 :
8967 : case 1:
8968 : if (pattern1097 (x2,
8969 : E_HImode) != 0
8970 : || !
8971 : #line 9247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8972 : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
8973 : return -1;
8974 : *pnum_clobbers = 1;
8975 : return 474; /* *addhi3_carry_0r */
8976 :
8977 : default:
8978 : return -1;
8979 : }
8980 :
8981 : case EQ:
8982 : switch (pattern96 (x1, pnum_clobbers))
8983 : {
8984 : case 0:
8985 : if (!
8986 : #line 10939 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8987 : (ix86_unary_operator_ok (PLUS, QImode, operands)
8988 : && ix86_pre_reload_split ()))
8989 : return -1;
8990 : *pnum_clobbers = 1;
8991 : return 590; /* *addqi3_eq_0 */
8992 :
8993 : case 1:
8994 : if (!
8995 : #line 10939 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8996 : (ix86_unary_operator_ok (PLUS, HImode, operands)
8997 : && ix86_pre_reload_split ()))
8998 : return -1;
8999 : *pnum_clobbers = 1;
9000 : return 591; /* *addhi3_eq_0 */
9001 :
9002 : default:
9003 : return -1;
9004 : }
9005 :
9006 : case NE:
9007 : switch (pattern96 (x1, pnum_clobbers))
9008 : {
9009 : case 0:
9010 : if (!
9011 : #line 10960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9012 : (ix86_unary_operator_ok (PLUS, QImode, operands)
9013 : && ix86_pre_reload_split ()))
9014 : return -1;
9015 : *pnum_clobbers = 1;
9016 : return 594; /* *addqi3_ne_0 */
9017 :
9018 : case 1:
9019 : if (!
9020 : #line 10960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9021 : (ix86_unary_operator_ok (PLUS, HImode, operands)
9022 : && ix86_pre_reload_split ()))
9023 : return -1;
9024 : *pnum_clobbers = 1;
9025 : return 595; /* *addhi3_ne_0 */
9026 :
9027 : default:
9028 : return -1;
9029 : }
9030 :
9031 : case MINUS:
9032 : if (pnum_clobbers == NULL)
9033 : return -1;
9034 : x4 = XEXP (x1, 0);
9035 : operands[0] = x4;
9036 : x5 = XEXP (x3, 0);
9037 : operands[1] = x5;
9038 : x7 = XEXP (x2, 1);
9039 : operands[2] = x7;
9040 : x8 = XEXP (x3, 1);
9041 : switch (GET_CODE (x8))
9042 : {
9043 : case NE:
9044 : switch (pattern865 (x2))
9045 : {
9046 : case 0:
9047 : if (!
9048 : #line 11008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9049 : (CONST_INT_P (operands[2])
9050 : && (QImode != DImode
9051 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
9052 : && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
9053 : && ix86_pre_reload_split ()))
9054 : return -1;
9055 : *pnum_clobbers = 1;
9056 : return 602; /* *subqi3_ne */
9057 :
9058 : case 1:
9059 : if (!
9060 : #line 11008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9061 : (CONST_INT_P (operands[2])
9062 : && (HImode != DImode
9063 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
9064 : && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
9065 : && ix86_pre_reload_split ()))
9066 : return -1;
9067 : *pnum_clobbers = 1;
9068 : return 603; /* *subhi3_ne */
9069 :
9070 : default:
9071 : return -1;
9072 : }
9073 :
9074 : case EQ:
9075 : switch (pattern865 (x2))
9076 : {
9077 : case 0:
9078 : if (!
9079 : #line 11037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9080 : (CONST_INT_P (operands[2])
9081 : && (QImode != DImode
9082 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
9083 : && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
9084 : && ix86_pre_reload_split ()))
9085 : return -1;
9086 : *pnum_clobbers = 1;
9087 : return 606; /* *subqi3_eq_1 */
9088 :
9089 : case 1:
9090 : if (!
9091 : #line 11037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9092 : (CONST_INT_P (operands[2])
9093 : && (HImode != DImode
9094 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
9095 : && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
9096 : && ix86_pre_reload_split ()))
9097 : return -1;
9098 : *pnum_clobbers = 1;
9099 : return 607; /* *subhi3_eq_1 */
9100 :
9101 : default:
9102 : return -1;
9103 : }
9104 :
9105 : default:
9106 : return -1;
9107 : }
9108 :
9109 : case VEC_SELECT:
9110 : switch (pattern97 (x1))
9111 : {
9112 : case 0:
9113 : x5 = XEXP (x3, 0);
9114 : operands[1] = x5;
9115 : x8 = XEXP (x3, 1);
9116 : if (XVECLEN (x8, 0) != 1)
9117 : return -1;
9118 : x7 = XEXP (x2, 1);
9119 : x19 = XEXP (x7, 1);
9120 : if (XVECLEN (x19, 0) != 1)
9121 : return -1;
9122 : x28 = XVECEXP (x8, 0, 0);
9123 : operands[2] = x28;
9124 : if (!const_0_to_1_operand (operands[2], E_SImode))
9125 : return -1;
9126 : x29 = XVECEXP (x19, 0, 0);
9127 : operands[3] = x29;
9128 : if (!const_0_to_1_operand (operands[3], E_SImode))
9129 : return -1;
9130 : x14 = XEXP (x7, 0);
9131 : if (!rtx_equal_p (x14, operands[1]))
9132 : return -1;
9133 : switch (GET_MODE (operands[0]))
9134 : {
9135 : case E_SFmode:
9136 : if (!register_operand (operands[0], E_SFmode)
9137 : || GET_MODE (x2) != E_SFmode
9138 : || GET_MODE (x3) != E_SFmode
9139 : || !nonimmediate_operand (operands[1], E_V2SFmode)
9140 : || GET_MODE (x7) != E_SFmode
9141 : || !
9142 : #line 1036 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
9143 : (TARGET_SSE3 && TARGET_MMX_WITH_SSE && ix86_partial_vec_fp_math
9144 : && INTVAL (operands[2]) != INTVAL (operands[3])
9145 : && ix86_pre_reload_split ()))
9146 : return -1;
9147 : return 2119; /* *mmx_haddv2sf3_low */
9148 :
9149 : case E_DFmode:
9150 : if (pattern1521 (x2,
9151 : E_DFmode,
9152 : E_V2DFmode) != 0
9153 : || !
9154 : #line 3855 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9155 : (TARGET_SSE3 && TARGET_V2DF_REDUCTION_PREFER_HADDPD
9156 : && INTVAL (operands[2]) != INTVAL (operands[3])))
9157 : return -1;
9158 : return 3230; /* *sse3_haddv2df3_low */
9159 :
9160 : default:
9161 : return -1;
9162 : }
9163 :
9164 : case 1:
9165 : switch (pattern867 (x2))
9166 : {
9167 : case 0:
9168 : if (!
9169 : #line 23140 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9170 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
9171 : return -1;
9172 : return 8670; /* ssse3_phaddwv4hi3 */
9173 :
9174 : case 1:
9175 : if (!
9176 : #line 23230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9177 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
9178 : return -1;
9179 : return 8678; /* ssse3_phadddv2si3 */
9180 :
9181 : default:
9182 : return -1;
9183 : }
9184 :
9185 : default:
9186 : return -1;
9187 : }
9188 :
9189 : default:
9190 : return -1;
9191 : }
9192 : }
9193 :
9194 : int
9195 : recog_88 (rtx x1 ATTRIBUTE_UNUSED,
9196 : rtx_insn *insn ATTRIBUTE_UNUSED,
9197 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9198 : {
9199 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9200 : rtx x2, x3, x4, x5, x6;
9201 : int res ATTRIBUTE_UNUSED;
9202 : x2 = XEXP (x1, 0);
9203 : operands[0] = x2;
9204 : x3 = XEXP (x1, 1);
9205 : x4 = XEXP (x3, 0);
9206 : switch (GET_CODE (x4))
9207 : {
9208 : case CONST_INT:
9209 : case CONST_WIDE_INT:
9210 : case CONST_POLY_INT:
9211 : case CONST_FIXED:
9212 : case CONST_DOUBLE:
9213 : case CONST_VECTOR:
9214 : case CONST:
9215 : case REG:
9216 : case SUBREG:
9217 : case MEM:
9218 : case LABEL_REF:
9219 : case SYMBOL_REF:
9220 : case HIGH:
9221 : operands[1] = x4;
9222 : res = recog_87 (x1, insn, pnum_clobbers);
9223 : if (res >= 0)
9224 : return res;
9225 : if (pnum_clobbers == NULL
9226 : || GET_CODE (x4) != CONST_INT)
9227 : return -1;
9228 : x5 = XEXP (x3, 1);
9229 : if (GET_CODE (x5) != CLZ)
9230 : return -1;
9231 : x6 = XEXP (x5, 0);
9232 : operands[1] = x6;
9233 : switch (XWINT (x4, 0))
9234 : {
9235 : case 63L:
9236 : if (pattern884 (x3,
9237 : E_DImode) != 0
9238 : || !
9239 : #line 22253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9240 : (!TARGET_LZCNT && TARGET_64BIT))
9241 : return -1;
9242 : *pnum_clobbers = 1;
9243 : return 1555; /* bsr_rex64_1 */
9244 :
9245 : case 31L:
9246 : if (pattern884 (x3,
9247 : E_SImode) != 0
9248 : || !
9249 : #line 22297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9250 : (!TARGET_LZCNT))
9251 : return -1;
9252 : *pnum_clobbers = 1;
9253 : return 1558; /* bsr_1 */
9254 :
9255 : default:
9256 : return -1;
9257 : }
9258 :
9259 : case MINUS:
9260 : if (pnum_clobbers == NULL)
9261 : return -1;
9262 : switch (pattern292 (x3))
9263 : {
9264 : case 0:
9265 : switch (GET_MODE (operands[0]))
9266 : {
9267 : case E_SImode:
9268 : if (pattern1280 (x3,
9269 : E_SImode) != 0
9270 : || !
9271 : #line 9828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9272 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
9273 : return -1;
9274 : *pnum_clobbers = 1;
9275 : return 505; /* subsi3_carry */
9276 :
9277 : case E_DImode:
9278 : if (pattern1280 (x3,
9279 : E_DImode) != 0
9280 : || !(
9281 : #line 9828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9282 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
9283 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9284 : (TARGET_64BIT)))
9285 : return -1;
9286 : *pnum_clobbers = 1;
9287 : return 506; /* subdi3_carry */
9288 :
9289 : default:
9290 : return -1;
9291 : }
9292 :
9293 : case 1:
9294 : switch (GET_MODE (operands[0]))
9295 : {
9296 : case E_SImode:
9297 : if (pattern1220 (x3,
9298 : E_SImode) != 0
9299 : || !
9300 : #line 10986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9301 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
9302 : && ix86_pre_reload_split ()))
9303 : return -1;
9304 : *pnum_clobbers = 1;
9305 : return 600; /* *subsi3_eq */
9306 :
9307 : case E_DImode:
9308 : if (pattern1220 (x3,
9309 : E_DImode) != 0
9310 : || !(
9311 : #line 10986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9312 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
9313 : && ix86_pre_reload_split ()) &&
9314 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9315 : (TARGET_64BIT)))
9316 : return -1;
9317 : *pnum_clobbers = 1;
9318 : return 601; /* *subdi3_eq */
9319 :
9320 : default:
9321 : return -1;
9322 : }
9323 :
9324 : default:
9325 : return -1;
9326 : }
9327 :
9328 : default:
9329 : return -1;
9330 : }
9331 : }
9332 :
9333 : int
9334 : recog_89 (rtx x1 ATTRIBUTE_UNUSED,
9335 : rtx_insn *insn ATTRIBUTE_UNUSED,
9336 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9337 : {
9338 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9339 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
9340 : rtx x10, x11, x12;
9341 : int res ATTRIBUTE_UNUSED;
9342 : x2 = XEXP (x1, 1);
9343 : x3 = XEXP (x2, 0);
9344 : x4 = XEXP (x3, 0);
9345 : switch (GET_CODE (x4))
9346 : {
9347 : case REG:
9348 : case SUBREG:
9349 : operands[1] = x3;
9350 : x5 = XEXP (x2, 2);
9351 : operands[3] = x5;
9352 : x6 = XEXP (x3, 1);
9353 : switch (XWINT (x6, 0))
9354 : {
9355 : case 0L:
9356 : x7 = XEXP (x2, 1);
9357 : if (GET_CODE (x7) != PLUS)
9358 : return -1;
9359 : x8 = XEXP (x7, 1);
9360 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
9361 : return -1;
9362 : operands[2] = x4;
9363 : x9 = XEXP (x7, 0);
9364 : if (!rtx_equal_p (x9, operands[2]))
9365 : return -1;
9366 : switch (GET_MODE (operands[0]))
9367 : {
9368 : case E_SImode:
9369 : if (pattern1552 (x2,
9370 : E_SImode) != 0
9371 : || !
9372 : #line 9059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9373 : (TARGET_CMOVE))
9374 : return -1;
9375 : *pnum_clobbers = 1;
9376 : return 454; /* *dec_cmovsi */
9377 :
9378 : case E_DImode:
9379 : if (pattern1552 (x2,
9380 : E_DImode) != 0
9381 : || !(
9382 : #line 9059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9383 : (TARGET_CMOVE) &&
9384 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9385 : (TARGET_64BIT)))
9386 : return -1;
9387 : *pnum_clobbers = 1;
9388 : return 455; /* *dec_cmovdi */
9389 :
9390 : default:
9391 : return -1;
9392 : }
9393 :
9394 : case -1L:
9395 : operands[4] = x4;
9396 : x7 = XEXP (x2, 1);
9397 : operands[2] = x7;
9398 : switch (GET_MODE (operands[0]))
9399 : {
9400 : case E_SImode:
9401 : switch (pattern1460 (x2,
9402 : E_SImode))
9403 : {
9404 : case 0:
9405 : if (!(
9406 : #line 2534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9407 : (TARGET_AVX512BW && TARGET_CMOVE
9408 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
9409 : #line 1588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9410 : (TARGET_AVX512DQ)))
9411 : return -1;
9412 : *pnum_clobbers = 1;
9413 : return 2708; /* *kortest_cmpqi_movsicc */
9414 :
9415 : case 1:
9416 : if (!
9417 : #line 2534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9418 : (TARGET_AVX512BW && TARGET_CMOVE
9419 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
9420 : return -1;
9421 : *pnum_clobbers = 1;
9422 : return 2711; /* *kortest_cmphi_movsicc */
9423 :
9424 : case 2:
9425 : if (!(
9426 : #line 2534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9427 : (TARGET_AVX512BW && TARGET_CMOVE
9428 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
9429 : #line 1589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9430 : (TARGET_AVX512BW)))
9431 : return -1;
9432 : *pnum_clobbers = 1;
9433 : return 2714; /* *kortest_cmpsi_movsicc */
9434 :
9435 : case 3:
9436 : if (!(
9437 : #line 2534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9438 : (TARGET_AVX512BW && TARGET_CMOVE
9439 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
9440 : #line 1589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9441 : (TARGET_AVX512BW && TARGET_64BIT)))
9442 : return -1;
9443 : *pnum_clobbers = 1;
9444 : return 2717; /* *kortest_cmpdi_movsicc */
9445 :
9446 : default:
9447 : return -1;
9448 : }
9449 :
9450 : case E_DImode:
9451 : switch (pattern1460 (x2,
9452 : E_DImode))
9453 : {
9454 : case 0:
9455 : if (!(
9456 : #line 2534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9457 : (TARGET_AVX512BW && TARGET_CMOVE
9458 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && ((((
9459 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9460 : (TARGET_64BIT) &&
9461 : #line 1588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9462 : (TARGET_AVX512DQ)) &&
9463 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9464 : (TARGET_64BIT)) &&
9465 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9466 : (TARGET_64BIT)) &&
9467 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9468 : (TARGET_64BIT))))
9469 : return -1;
9470 : *pnum_clobbers = 1;
9471 : return 2709; /* *kortest_cmpqi_movdicc */
9472 :
9473 : case 1:
9474 : if (!(
9475 : #line 2534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9476 : (TARGET_AVX512BW && TARGET_CMOVE
9477 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
9478 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9479 : (TARGET_64BIT)))
9480 : return -1;
9481 : *pnum_clobbers = 1;
9482 : return 2712; /* *kortest_cmphi_movdicc */
9483 :
9484 : case 2:
9485 : if (!(
9486 : #line 2534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9487 : (TARGET_AVX512BW && TARGET_CMOVE
9488 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && ((((
9489 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9490 : (TARGET_64BIT) &&
9491 : #line 1589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9492 : (TARGET_AVX512BW)) &&
9493 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9494 : (TARGET_64BIT)) &&
9495 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9496 : (TARGET_64BIT)) &&
9497 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9498 : (TARGET_64BIT))))
9499 : return -1;
9500 : *pnum_clobbers = 1;
9501 : return 2715; /* *kortest_cmpsi_movdicc */
9502 :
9503 : case 3:
9504 : if (!(
9505 : #line 2534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9506 : (TARGET_AVX512BW && TARGET_CMOVE
9507 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && ((((
9508 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9509 : (TARGET_64BIT) &&
9510 : #line 1589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9511 : (TARGET_AVX512BW && TARGET_64BIT)) &&
9512 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9513 : (TARGET_64BIT)) &&
9514 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9515 : (TARGET_64BIT)) &&
9516 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9517 : (TARGET_64BIT))))
9518 : return -1;
9519 : *pnum_clobbers = 1;
9520 : return 2718; /* *kortest_cmpdi_movdicc */
9521 :
9522 : default:
9523 : return -1;
9524 : }
9525 :
9526 : default:
9527 : return -1;
9528 : }
9529 :
9530 : default:
9531 : return -1;
9532 : }
9533 :
9534 : case ZERO_EXTRACT:
9535 : x10 = XEXP (x4, 1);
9536 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
9537 : return -1;
9538 : x6 = XEXP (x3, 1);
9539 : if (XWINT (x6, 0) != 0L)
9540 : return -1;
9541 : operands[5] = x3;
9542 : x11 = XEXP (x4, 0);
9543 : operands[1] = x11;
9544 : x12 = XEXP (x4, 2);
9545 : operands[2] = x12;
9546 : if (!register_operand (operands[2], E_QImode))
9547 : return -1;
9548 : x7 = XEXP (x2, 1);
9549 : operands[3] = x7;
9550 : x5 = XEXP (x2, 2);
9551 : operands[4] = x5;
9552 : switch (GET_MODE (operands[0]))
9553 : {
9554 : case E_SImode:
9555 : switch (pattern1596 (x2,
9556 : E_SImode))
9557 : {
9558 : case 0:
9559 : if (!
9560 : #line 20295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9561 : (TARGET_USE_BT && TARGET_CMOVE
9562 : && ix86_pre_reload_split ()))
9563 : return -1;
9564 : *pnum_clobbers = 1;
9565 : return 1460; /* *cmov_btsi */
9566 :
9567 : case 1:
9568 : if (!(
9569 : #line 20295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9570 : (TARGET_USE_BT && TARGET_CMOVE
9571 : && ix86_pre_reload_split ()) &&
9572 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9573 : (TARGET_64BIT)))
9574 : return -1;
9575 : *pnum_clobbers = 1;
9576 : return 1461; /* *cmov_btsi */
9577 :
9578 : default:
9579 : return -1;
9580 : }
9581 :
9582 : case E_DImode:
9583 : switch (pattern1596 (x2,
9584 : E_DImode))
9585 : {
9586 : case 0:
9587 : if (!(
9588 : #line 20295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9589 : (TARGET_USE_BT && TARGET_CMOVE
9590 : && ix86_pre_reload_split ()) &&
9591 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9592 : (TARGET_64BIT)))
9593 : return -1;
9594 : *pnum_clobbers = 1;
9595 : return 1462; /* *cmov_btdi */
9596 :
9597 : case 1:
9598 : if (!(
9599 : #line 20295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9600 : (TARGET_USE_BT && TARGET_CMOVE
9601 : && ix86_pre_reload_split ()) &&
9602 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9603 : (TARGET_64BIT)))
9604 : return -1;
9605 : *pnum_clobbers = 1;
9606 : return 1463; /* *cmov_btdi */
9607 :
9608 : default:
9609 : return -1;
9610 : }
9611 :
9612 : default:
9613 : return -1;
9614 : }
9615 :
9616 : default:
9617 : return -1;
9618 : }
9619 : }
9620 :
9621 : int
9622 : recog_94 (rtx x1 ATTRIBUTE_UNUSED,
9623 : rtx_insn *insn ATTRIBUTE_UNUSED,
9624 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9625 : {
9626 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9627 : rtx x2, x3;
9628 : int res ATTRIBUTE_UNUSED;
9629 : x2 = XEXP (x1, 1);
9630 : x3 = XEXP (x2, 1);
9631 : operands[2] = x3;
9632 : switch (pattern441 (x2))
9633 : {
9634 : case 0:
9635 : if (pnum_clobbers != NULL
9636 : && x86_64_hilo_general_operand (operands[2], E_DImode)
9637 : && (
9638 : #line 13277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9639 : (ix86_binary_operator_ok (AND, DImode, operands, TARGET_APX_NDD)) &&
9640 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9641 : (!TARGET_64BIT)))
9642 : {
9643 : *pnum_clobbers = 1;
9644 : return 731; /* *anddi3_doubleword */
9645 : }
9646 : if (x86_64_szext_general_operand (operands[2], E_DImode))
9647 : {
9648 : if (
9649 : #line 13323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9650 : (TARGET_64BIT
9651 : && ix86_binary_operator_ok (AND, DImode, operands, TARGET_APX_NDD)
9652 : && TARGET_APX_NF))
9653 : return 733; /* *anddi_1_nf */
9654 : if (pnum_clobbers != NULL
9655 : &&
9656 : #line 13323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9657 : (TARGET_64BIT
9658 : && ix86_binary_operator_ok (AND, DImode, operands, TARGET_APX_NDD)
9659 : && true))
9660 : {
9661 : *pnum_clobbers = 1;
9662 : return 734; /* *anddi_1 */
9663 : }
9664 : }
9665 : if (pnum_clobbers == NULL
9666 : || !const_int_operand (operands[2], E_DImode)
9667 : || !
9668 : #line 13361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9669 : (TARGET_64BIT && TARGET_USE_BT
9670 : && ix86_binary_operator_ok (AND, DImode, operands)
9671 : && IN_RANGE (exact_log2 (~INTVAL (operands[2])), 31, 63)))
9672 : return -1;
9673 : *pnum_clobbers = 1;
9674 : return 735; /* *anddi_1_btr */
9675 :
9676 : case 1:
9677 : if (
9678 : #line 13472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9679 : (ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)
9680 : && TARGET_APX_NF))
9681 : return 749; /* *andsi_1_nf */
9682 : if (pnum_clobbers == NULL
9683 : || !
9684 : #line 13472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9685 : (ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)
9686 : && true))
9687 : return -1;
9688 : *pnum_clobbers = 1;
9689 : return 750; /* *andsi_1 */
9690 :
9691 : default:
9692 : return -1;
9693 : }
9694 : }
9695 :
9696 : int
9697 : recog_97 (rtx x1 ATTRIBUTE_UNUSED,
9698 : rtx_insn *insn ATTRIBUTE_UNUSED,
9699 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9700 : {
9701 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9702 : rtx x2, x3, x4, x5, x6;
9703 : int res ATTRIBUTE_UNUSED;
9704 : x2 = XEXP (x1, 0);
9705 : operands[0] = x2;
9706 : x3 = XEXP (x1, 1);
9707 : x4 = XEXP (x3, 0);
9708 : switch (GET_CODE (x4))
9709 : {
9710 : case REG:
9711 : case SUBREG:
9712 : case MEM:
9713 : switch (pattern121 (x3))
9714 : {
9715 : case 0:
9716 : if (pnum_clobbers != NULL
9717 : && (
9718 : #line 15121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9719 : (ix86_unary_operator_ok (NEG, DImode, operands, TARGET_APX_NDD)) &&
9720 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9721 : (!TARGET_64BIT)))
9722 : {
9723 : *pnum_clobbers = 1;
9724 : return 984; /* *negdi2_doubleword */
9725 : }
9726 : if ((
9727 : #line 15234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9728 : (ix86_unary_operator_ok (NEG, DImode, operands, TARGET_APX_NDD)
9729 : && TARGET_APX_NF) &&
9730 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9731 : (TARGET_64BIT)))
9732 : return 992; /* *negdi_1_nf */
9733 : if (pnum_clobbers == NULL
9734 : || !(
9735 : #line 15234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9736 : (ix86_unary_operator_ok (NEG, DImode, operands, TARGET_APX_NDD)
9737 : && true) &&
9738 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9739 : (TARGET_64BIT)))
9740 : return -1;
9741 : *pnum_clobbers = 1;
9742 : return 993; /* *negdi_1 */
9743 :
9744 : case 1:
9745 : if (
9746 : #line 15234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9747 : (ix86_unary_operator_ok (NEG, SImode, operands, TARGET_APX_NDD)
9748 : && TARGET_APX_NF))
9749 : return 990; /* *negsi_1_nf */
9750 : if (pnum_clobbers == NULL
9751 : || !
9752 : #line 15234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9753 : (ix86_unary_operator_ok (NEG, SImode, operands, TARGET_APX_NDD)
9754 : && true))
9755 : return -1;
9756 : *pnum_clobbers = 1;
9757 : return 991; /* *negsi_1 */
9758 :
9759 : default:
9760 : return -1;
9761 : }
9762 :
9763 : case ABS:
9764 : if (pnum_clobbers == NULL)
9765 : return -1;
9766 : x5 = XEXP (x4, 0);
9767 : operands[1] = x5;
9768 : switch (GET_MODE (operands[0]))
9769 : {
9770 : case E_DImode:
9771 : if (pattern627 (x3,
9772 : E_DImode) != 0)
9773 : return -1;
9774 : if ((
9775 : #line 15579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9776 : (TARGET_CMOVE
9777 : && ix86_pre_reload_split ()) &&
9778 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9779 : (!TARGET_64BIT)))
9780 : {
9781 : *pnum_clobbers = 1;
9782 : return 1029; /* *nabsdi2_doubleword */
9783 : }
9784 : if (!(
9785 : #line 15650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9786 : (TARGET_CMOVE
9787 : && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
9788 : && ix86_pre_reload_split ()) &&
9789 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9790 : (TARGET_64BIT)))
9791 : return -1;
9792 : *pnum_clobbers = 1;
9793 : return 1038; /* *nabsdi2_1 */
9794 :
9795 : case E_SImode:
9796 : if (pattern627 (x3,
9797 : E_SImode) != 0
9798 : || !
9799 : #line 15650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9800 : (TARGET_CMOVE
9801 : && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
9802 : && ix86_pre_reload_split ()))
9803 : return -1;
9804 : *pnum_clobbers = 1;
9805 : return 1037; /* *nabssi2_1 */
9806 :
9807 : default:
9808 : return -1;
9809 : }
9810 :
9811 : case LTU:
9812 : case UNLT:
9813 : if (pnum_clobbers == NULL)
9814 : return -1;
9815 : operands[1] = x4;
9816 : if (!ix86_carry_flag_operator (operands[1], E_VOIDmode))
9817 : return -1;
9818 : x5 = XEXP (x4, 0);
9819 : if (GET_CODE (x5) != REG
9820 : || REGNO (x5) != 17)
9821 : return -1;
9822 : x6 = XEXP (x4, 1);
9823 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
9824 : return -1;
9825 : switch (pattern24 (x3))
9826 : {
9827 : case 0:
9828 : *pnum_clobbers = 1;
9829 : return 1833; /* *x86_movsicc_0_m1_neg */
9830 :
9831 : case 1:
9832 : if (!
9833 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9834 : (TARGET_64BIT))
9835 : return -1;
9836 : *pnum_clobbers = 1;
9837 : return 1834; /* *x86_movdicc_0_m1_neg */
9838 :
9839 : default:
9840 : return -1;
9841 : }
9842 :
9843 : default:
9844 : return -1;
9845 : }
9846 : }
9847 :
9848 : int
9849 : recog_103 (rtx x1 ATTRIBUTE_UNUSED,
9850 : rtx_insn *insn ATTRIBUTE_UNUSED,
9851 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9852 : {
9853 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9854 : rtx x2;
9855 : int res ATTRIBUTE_UNUSED;
9856 : switch (GET_MODE (operands[0]))
9857 : {
9858 : case E_DImode:
9859 : if (pnum_clobbers != NULL)
9860 : {
9861 : x2 = XEXP (x1, 1);
9862 : if (pattern861 (x2,
9863 : E_DImode,
9864 : E_QImode) == 0
9865 : &&
9866 : #line 1226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9867 : (!TARGET_64BIT))
9868 : {
9869 : *pnum_clobbers = 1;
9870 : return 1163; /* ashrdi3_doubleword */
9871 : }
9872 : }
9873 : x2 = XEXP (x1, 1);
9874 : if (GET_MODE (x2) != E_DImode
9875 : || !nonimmediate_operand (operands[1], E_DImode))
9876 : return -1;
9877 : if (nonimmediate_operand (operands[0], E_DImode)
9878 : && const_int_operand (operands[2], E_QImode))
9879 : {
9880 : if ((
9881 : #line 18201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9882 : (INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)-1
9883 : && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
9884 : && ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
9885 : && TARGET_APX_NF) &&
9886 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9887 : (TARGET_64BIT)))
9888 : return 1200; /* ashrdi3_cvt_nf */
9889 : if (pnum_clobbers != NULL
9890 : && (
9891 : #line 18201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9892 : (INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)-1
9893 : && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
9894 : && ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
9895 : && true) &&
9896 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9897 : (TARGET_64BIT)))
9898 : {
9899 : *pnum_clobbers = 1;
9900 : return 1201; /* ashrdi3_cvt */
9901 : }
9902 : }
9903 : if (register_operand (operands[0], E_DImode)
9904 : && register_operand (operands[2], E_DImode)
9905 : && (
9906 : #line 18280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9907 : (TARGET_BMI2) &&
9908 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9909 : (TARGET_64BIT)))
9910 : return 1206; /* *bmi2_ashrdi3_1 */
9911 : if (!nonimmediate_operand (operands[0], E_DImode)
9912 : || !nonmemory_operand (operands[2], E_QImode))
9913 : return -1;
9914 : if ((
9915 : #line 18290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9916 : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
9917 : && TARGET_APX_NF) &&
9918 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9919 : (TARGET_64BIT)))
9920 : return 1209; /* *ashrdi3_1_nf */
9921 : if (pnum_clobbers == NULL
9922 : || !(
9923 : #line 18290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9924 : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
9925 : && true) &&
9926 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9927 : (TARGET_64BIT)))
9928 : return -1;
9929 : *pnum_clobbers = 1;
9930 : return 1210; /* *ashrdi3_1 */
9931 :
9932 : case E_SImode:
9933 : x2 = XEXP (x1, 1);
9934 : if (pattern637 (x2,
9935 : E_SImode) != 0)
9936 : return -1;
9937 : if (
9938 : #line 18290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9939 : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)
9940 : && TARGET_APX_NF))
9941 : return 1207; /* *ashrsi3_1_nf */
9942 : if (pnum_clobbers == NULL
9943 : || !
9944 : #line 18290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9945 : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)
9946 : && true))
9947 : return -1;
9948 : *pnum_clobbers = 1;
9949 : return 1208; /* *ashrsi3_1 */
9950 :
9951 : default:
9952 : return -1;
9953 : }
9954 : }
9955 :
9956 : int
9957 : recog_107 (rtx x1 ATTRIBUTE_UNUSED,
9958 : rtx_insn *insn ATTRIBUTE_UNUSED,
9959 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9960 : {
9961 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9962 : rtx x2, x3;
9963 : int res ATTRIBUTE_UNUSED;
9964 : switch (pattern18 (x1, pnum_clobbers))
9965 : {
9966 : case 0:
9967 : if (!
9968 : #line 19131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9969 : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
9970 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
9971 : == GET_MODE_BITSIZE (SImode)-1
9972 : && ix86_pre_reload_split ()))
9973 : return -1;
9974 : *pnum_clobbers = 1;
9975 : return 1329; /* *rotrsi3_mask_1 */
9976 :
9977 : case 1:
9978 : if (!(
9979 : #line 19131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9980 : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
9981 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
9982 : == GET_MODE_BITSIZE (DImode)-1
9983 : && ix86_pre_reload_split ()) &&
9984 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9985 : (TARGET_64BIT)))
9986 : return -1;
9987 : *pnum_clobbers = 1;
9988 : return 1331; /* *rotrdi3_mask_1 */
9989 :
9990 : case 2:
9991 : if (!
9992 : #line 19212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9993 : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
9994 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
9995 : && ix86_pre_reload_split ()))
9996 : return -1;
9997 : *pnum_clobbers = 1;
9998 : return 1345; /* *rotrsi3_add_1 */
9999 :
10000 : case 3:
10001 : if (!(
10002 : #line 19212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10003 : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
10004 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
10005 : && ix86_pre_reload_split ()) &&
10006 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10007 : (TARGET_64BIT)))
10008 : return -1;
10009 : *pnum_clobbers = 1;
10010 : return 1347; /* *rotrdi3_add_1 */
10011 :
10012 : case 4:
10013 : if (!
10014 : #line 19281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10015 : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
10016 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
10017 : && ix86_pre_reload_split ()))
10018 : return -1;
10019 : *pnum_clobbers = 1;
10020 : return 1361; /* *rotrsi3_sub_1 */
10021 :
10022 : case 5:
10023 : if (!(
10024 : #line 19281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10025 : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
10026 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
10027 : && ix86_pre_reload_split ()) &&
10028 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10029 : (TARGET_64BIT)))
10030 : return -1;
10031 : *pnum_clobbers = 1;
10032 : return 1363; /* *rotrdi3_sub_1 */
10033 :
10034 : case 6:
10035 : x2 = XEXP (x1, 1);
10036 : x3 = XEXP (x2, 1);
10037 : switch (GET_CODE (x3))
10038 : {
10039 : case SUBREG:
10040 : switch (pattern456 (x2, pnum_clobbers))
10041 : {
10042 : case 0:
10043 : if (
10044 : #line 19083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10045 : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
10046 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
10047 : == GET_MODE_BITSIZE (SImode)-1
10048 : && ix86_pre_reload_split ()))
10049 : {
10050 : *pnum_clobbers = 1;
10051 : return 1321; /* *rotrsi3_mask */
10052 : }
10053 : break;
10054 :
10055 : case 1:
10056 : if ((
10057 : #line 19083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10058 : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
10059 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
10060 : == GET_MODE_BITSIZE (DImode)-1
10061 : && ix86_pre_reload_split ()) &&
10062 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10063 : (TARGET_64BIT)))
10064 : {
10065 : *pnum_clobbers = 1;
10066 : return 1323; /* *rotrdi3_mask */
10067 : }
10068 : break;
10069 :
10070 : case 2:
10071 : if (
10072 : #line 19176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10073 : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
10074 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
10075 : && ix86_pre_reload_split ()))
10076 : {
10077 : *pnum_clobbers = 1;
10078 : return 1337; /* *rotrsi3_add */
10079 : }
10080 : break;
10081 :
10082 : case 3:
10083 : if ((
10084 : #line 19176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10085 : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
10086 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
10087 : && ix86_pre_reload_split ()) &&
10088 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10089 : (TARGET_64BIT)))
10090 : {
10091 : *pnum_clobbers = 1;
10092 : return 1339; /* *rotrdi3_add */
10093 : }
10094 : break;
10095 :
10096 : case 4:
10097 : if (
10098 : #line 19245 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10099 : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
10100 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
10101 : && ix86_pre_reload_split ()))
10102 : {
10103 : *pnum_clobbers = 1;
10104 : return 1353; /* *rotrsi3_sub */
10105 : }
10106 : break;
10107 :
10108 : case 5:
10109 : if ((
10110 : #line 19245 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10111 : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
10112 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
10113 : && ix86_pre_reload_split ()) &&
10114 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10115 : (TARGET_64BIT)))
10116 : {
10117 : *pnum_clobbers = 1;
10118 : return 1355; /* *rotrdi3_sub */
10119 : }
10120 : break;
10121 :
10122 : default:
10123 : break;
10124 : }
10125 : break;
10126 :
10127 : case CONST_INT:
10128 : operands[2] = x3;
10129 : switch (GET_MODE (operands[0]))
10130 : {
10131 : case E_DImode:
10132 : if (pattern626 (x2, pnum_clobbers,
10133 : E_DImode) == 0
10134 : && const_1_to_31_operand (operands[2], E_QImode)
10135 : &&
10136 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10137 : (!TARGET_64BIT))
10138 : {
10139 : *pnum_clobbers = 2;
10140 : return 1366; /* ix86_rotrdi3_doubleword */
10141 : }
10142 : break;
10143 :
10144 : case E_SImode:
10145 : if (register_operand (operands[0], E_SImode)
10146 : && GET_MODE (x2) == E_SImode
10147 : && nonimmediate_operand (operands[1], E_SImode)
10148 : && const_0_to_31_operand (operands[2], E_QImode)
10149 : &&
10150 : #line 19427 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10151 : (TARGET_BMI2 && !optimize_function_for_size_p (cfun)))
10152 : return 1372; /* *bmi2_rorxsi3_1 */
10153 : break;
10154 :
10155 : default:
10156 : break;
10157 : }
10158 : if (register_operand (operands[0], E_DImode)
10159 : && GET_MODE (x2) == E_DImode)
10160 : {
10161 : if (XWINT (x3, 0) == 32L
10162 : && register_operand (operands[1], E_DImode)
10163 : &&
10164 : #line 19386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10165 : (!TARGET_64BIT))
10166 : return 1369; /* rotr32di2_doubleword */
10167 : if (nonimmediate_operand (operands[1], E_DImode))
10168 : {
10169 : operands[2] = x3;
10170 : if (const_0_to_63_operand (operands[2], E_QImode)
10171 : && (
10172 : #line 19427 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10173 : (TARGET_BMI2 && !optimize_function_for_size_p (cfun)) &&
10174 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10175 : (TARGET_64BIT)))
10176 : return 1373; /* *bmi2_rorxdi3_1 */
10177 : }
10178 : }
10179 : break;
10180 :
10181 : default:
10182 : break;
10183 : }
10184 : operands[2] = x3;
10185 : if (!nonmemory_operand (operands[2], E_QImode))
10186 : return -1;
10187 : switch (pattern14 (x2))
10188 : {
10189 : case 0:
10190 : if (
10191 : #line 19437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10192 : (ix86_binary_operator_ok (ROTATERT, SImode, operands, TARGET_APX_NDD)
10193 : && TARGET_APX_NF))
10194 : return 1376; /* *rotrsi3_1_nf */
10195 : if (pnum_clobbers == NULL
10196 : || !
10197 : #line 19437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10198 : (ix86_binary_operator_ok (ROTATERT, SImode, operands, TARGET_APX_NDD)
10199 : && true))
10200 : return -1;
10201 : *pnum_clobbers = 1;
10202 : return 1377; /* *rotrsi3_1 */
10203 :
10204 : case 1:
10205 : if ((
10206 : #line 19437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10207 : (ix86_binary_operator_ok (ROTATERT, DImode, operands, TARGET_APX_NDD)
10208 : && TARGET_APX_NF) &&
10209 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10210 : (TARGET_64BIT)))
10211 : return 1380; /* *rotrdi3_1_nf */
10212 : if (pnum_clobbers == NULL
10213 : || !(
10214 : #line 19437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10215 : (ix86_binary_operator_ok (ROTATERT, DImode, operands, TARGET_APX_NDD)
10216 : && true) &&
10217 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10218 : (TARGET_64BIT)))
10219 : return -1;
10220 : *pnum_clobbers = 1;
10221 : return 1381; /* *rotrdi3_1 */
10222 :
10223 : default:
10224 : return -1;
10225 : }
10226 :
10227 : default:
10228 : return -1;
10229 : }
10230 : }
10231 :
10232 : int
10233 : recog_119 (rtx x1 ATTRIBUTE_UNUSED,
10234 : rtx_insn *insn ATTRIBUTE_UNUSED,
10235 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10236 : {
10237 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10238 : rtx x2, x3, x4;
10239 : int res ATTRIBUTE_UNUSED;
10240 : x2 = XEXP (x1, 0);
10241 : operands[0] = x2;
10242 : x3 = XEXP (x1, 1);
10243 : x4 = XEXP (x3, 0);
10244 : switch (GET_CODE (x4))
10245 : {
10246 : case REG:
10247 : case SUBREG:
10248 : case MEM:
10249 : operands[1] = x4;
10250 : switch (pattern132 (x3))
10251 : {
10252 : case 0:
10253 : if (
10254 : #line 23312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10255 : (TARGET_APX_NF && TARGET_POPCNT))
10256 : return 1656; /* popcountsi2_nf */
10257 : if (pnum_clobbers == NULL
10258 : || !
10259 : #line 23338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10260 : (TARGET_POPCNT))
10261 : return -1;
10262 : *pnum_clobbers = 1;
10263 : return 1658; /* popcountsi2 */
10264 :
10265 : case 1:
10266 : if ((
10267 : #line 23312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10268 : (TARGET_APX_NF && TARGET_POPCNT) &&
10269 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10270 : (TARGET_64BIT)))
10271 : return 1657; /* popcountdi2_nf */
10272 : if (pnum_clobbers == NULL
10273 : || !(
10274 : #line 23338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10275 : (TARGET_POPCNT) &&
10276 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10277 : (TARGET_64BIT)))
10278 : return -1;
10279 : *pnum_clobbers = 1;
10280 : return 1659; /* popcountdi2 */
10281 :
10282 : default:
10283 : return -1;
10284 : }
10285 :
10286 : case ZERO_EXTEND:
10287 : if (pattern117 (x3, pnum_clobbers,
10288 : E_HImode,
10289 : E_SImode) != 0
10290 : || !
10291 : #line 23508 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10292 : (TARGET_POPCNT
10293 : && ix86_pre_reload_split ()))
10294 : return -1;
10295 : *pnum_clobbers = 1;
10296 : return 1668; /* *popcounthi2_1 */
10297 :
10298 : default:
10299 : return -1;
10300 : }
10301 : }
10302 :
10303 : int
10304 : recog_122 (rtx x1 ATTRIBUTE_UNUSED,
10305 : rtx_insn *insn ATTRIBUTE_UNUSED,
10306 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10307 : {
10308 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10309 : rtx x2, x3, x4;
10310 : int res ATTRIBUTE_UNUSED;
10311 : x2 = XEXP (x1, 1);
10312 : x3 = XEXP (x2, 1);
10313 : x4 = XVECEXP (x3, 0, 0);
10314 : switch (XWINT (x4, 0))
10315 : {
10316 : case 0L:
10317 : if (nonimmediate_operand (operands[0], E_SImode)
10318 : && GET_MODE (x2) == E_SImode)
10319 : {
10320 : switch (GET_MODE (operands[1]))
10321 : {
10322 : case E_V2SImode:
10323 : if (nonimmediate_operand (operands[1], E_V2SImode)
10324 : &&
10325 : #line 5777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
10326 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
10327 : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
10328 : return 2403; /* *vec_extractv2si_0 */
10329 : break;
10330 :
10331 : case E_V4SImode:
10332 : if (nonimmediate_operand (operands[1], E_V4SImode)
10333 : &&
10334 : #line 21642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10335 : (TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
10336 : return 8542; /* *vec_extractv4si_0 */
10337 : break;
10338 :
10339 : default:
10340 : break;
10341 : }
10342 : }
10343 : break;
10344 :
10345 : case 1L:
10346 : switch (GET_MODE (operands[0]))
10347 : {
10348 : case E_SImode:
10349 : if (nonimmediate_operand (operands[0], E_SImode)
10350 : && GET_MODE (x2) == E_SImode
10351 : && nonimmediate_operand (operands[1], E_V2SImode)
10352 : &&
10353 : #line 5834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
10354 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
10355 : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
10356 : return 2406; /* *vec_extractv2si_1 */
10357 : break;
10358 :
10359 : case E_DImode:
10360 : if (nonimmediate_operand (operands[0], E_DImode)
10361 : && GET_MODE (x2) == E_DImode
10362 : && nonimmediate_operand (operands[1], E_V2DImode)
10363 : &&
10364 : #line 21813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10365 : (TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
10366 : return 8551; /* *vec_extractv2di_1 */
10367 : break;
10368 :
10369 : default:
10370 : break;
10371 : }
10372 : break;
10373 :
10374 : default:
10375 : break;
10376 : }
10377 : operands[2] = x4;
10378 : switch (GET_MODE (operands[0]))
10379 : {
10380 : case E_SImode:
10381 : if (GET_MODE (x2) != E_SImode)
10382 : return -1;
10383 : if (register_operand (operands[0], E_SImode))
10384 : {
10385 : switch (GET_MODE (operands[1]))
10386 : {
10387 : case E_V16SImode:
10388 : if (register_operand (operands[1], E_V16SImode)
10389 : && const_0_to_15_operand (operands[2], E_VOIDmode)
10390 : &&
10391 : #line 14474 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10392 : (TARGET_AVX512F
10393 : && INTVAL(operands[2]) * GET_MODE_SIZE (SImode) >= 16))
10394 : return 7122; /* *vec_extractv16sisi_valign */
10395 : break;
10396 :
10397 : case E_V8SImode:
10398 : if (register_operand (operands[1], E_V8SImode)
10399 : && const_0_to_7_operand (operands[2], E_VOIDmode)
10400 : && (
10401 : #line 14474 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10402 : (TARGET_AVX512F
10403 : && INTVAL(operands[2]) * GET_MODE_SIZE (SImode) >= 16) &&
10404 : #line 305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10405 : (TARGET_AVX512VL)))
10406 : return 7123; /* *vec_extractv8sisi_valign */
10407 : break;
10408 :
10409 : default:
10410 : break;
10411 : }
10412 : }
10413 : if (nonimmediate_operand (operands[0], E_SImode)
10414 : && register_operand (operands[1], E_V4SImode)
10415 : && const_0_to_3_operand (operands[2], E_SImode)
10416 : &&
10417 : #line 21732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10418 : (TARGET_SSE4_1))
10419 : return 8547; /* *vec_extractv4si */
10420 : if (!register_operand (operands[0], E_SImode)
10421 : || !memory_operand (operands[1], E_V4SImode)
10422 : || !const_0_to_3_operand (operands[2], E_VOIDmode)
10423 : || !
10424 : #line 21791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10425 : (TARGET_SSE))
10426 : return -1;
10427 : return 8549; /* *vec_extractv4si_mem */
10428 :
10429 : case E_DImode:
10430 : if (!register_operand (operands[0], E_DImode)
10431 : || GET_MODE (x2) != E_DImode)
10432 : return -1;
10433 : switch (GET_MODE (operands[1]))
10434 : {
10435 : case E_V8DImode:
10436 : if (!register_operand (operands[1], E_V8DImode)
10437 : || !const_0_to_7_operand (operands[2], E_VOIDmode)
10438 : || !
10439 : #line 14474 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10440 : (TARGET_AVX512F
10441 : && INTVAL(operands[2]) * GET_MODE_SIZE (DImode) >= 16))
10442 : return -1;
10443 : return 7124; /* *vec_extractv8didi_valign */
10444 :
10445 : case E_V4DImode:
10446 : if (!register_operand (operands[1], E_V4DImode)
10447 : || !const_0_to_3_operand (operands[2], E_VOIDmode)
10448 : || !(
10449 : #line 14474 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10450 : (TARGET_AVX512F
10451 : && INTVAL(operands[2]) * GET_MODE_SIZE (DImode) >= 16) &&
10452 : #line 306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10453 : (TARGET_AVX512VL)))
10454 : return -1;
10455 : return 7125; /* *vec_extractv4didi_valign */
10456 :
10457 : default:
10458 : return -1;
10459 : }
10460 :
10461 : default:
10462 : return -1;
10463 : }
10464 : }
10465 :
10466 : int
10467 : recog_127 (rtx x1 ATTRIBUTE_UNUSED,
10468 : rtx_insn *insn ATTRIBUTE_UNUSED,
10469 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10470 : {
10471 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10472 : rtx x2, x3, x4, x5;
10473 : int res ATTRIBUTE_UNUSED;
10474 : x2 = XEXP (x1, 1);
10475 : x3 = XEXP (x2, 0);
10476 : x4 = XVECEXP (x3, 0, 0);
10477 : operands[1] = x4;
10478 : x5 = XEXP (x2, 2);
10479 : operands[3] = x5;
10480 : switch (GET_MODE (operands[0]))
10481 : {
10482 : case E_V8HImode:
10483 : if (pattern646 (x2,
10484 : E_V8HImode,
10485 : E_QImode,
10486 : E_V8HFmode) != 0
10487 : || !(
10488 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10489 : (TARGET_AVX512F) && (
10490 : #line 8259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10491 : (TARGET_AVX512FP16) &&
10492 : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10493 : (TARGET_AVX512VL))))
10494 : return -1;
10495 : return 4616; /* unspec_avx512fp16_fixuns_truncv8hi2_mask */
10496 :
10497 : case E_V16HImode:
10498 : if (pattern646 (x2,
10499 : E_V16HImode,
10500 : E_HImode,
10501 : E_V16HFmode) != 0
10502 : || !(
10503 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10504 : (TARGET_AVX512F) && (
10505 : #line 8259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10506 : (TARGET_AVX512FP16) &&
10507 : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10508 : (TARGET_AVX512VL))))
10509 : return -1;
10510 : return 4624; /* unspec_avx512fp16_fixuns_truncv16hi2_mask */
10511 :
10512 : case E_V32HImode:
10513 : if (pattern646 (x2,
10514 : E_V32HImode,
10515 : E_SImode,
10516 : E_V32HFmode) != 0
10517 : || !(
10518 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10519 : (TARGET_AVX512F) &&
10520 : #line 8259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10521 : (TARGET_AVX512FP16)))
10522 : return -1;
10523 : return 4632; /* unspec_avx512fp16_fixuns_truncv32hi2_mask */
10524 :
10525 : case E_V8SImode:
10526 : if (pattern142 (x2,
10527 : E_V8SImode,
10528 : E_QImode) != 0)
10529 : return -1;
10530 : switch (GET_MODE (operands[1]))
10531 : {
10532 : case E_V8HFmode:
10533 : if (!vector_operand (operands[1], E_V8HFmode)
10534 : || !(
10535 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10536 : (TARGET_AVX512F) && (
10537 : #line 8259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10538 : (TARGET_AVX512FP16) &&
10539 : #line 684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10540 : (TARGET_AVX512VL))))
10541 : return -1;
10542 : return 4640; /* unspec_avx512fp16_fixuns_truncv8si2_mask */
10543 :
10544 : case E_V8DFmode:
10545 : if (!vector_operand (operands[1], E_V8DFmode)
10546 : || !
10547 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10548 : (TARGET_AVX512F))
10549 : return -1;
10550 : return 5071; /* unspec_fixuns_truncv8dfv8si2_mask */
10551 :
10552 : case E_V8SFmode:
10553 : if (!nonimmediate_operand (operands[1], E_V8SFmode)
10554 : || !(
10555 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10556 : (TARGET_AVX512F) && (
10557 : #line 10292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10558 : (TARGET_AVX512VL) &&
10559 : #line 444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10560 : (TARGET_AVX))))
10561 : return -1;
10562 : return 5175; /* unspec_fixuns_truncv8sfv8si2_mask */
10563 :
10564 : default:
10565 : return -1;
10566 : }
10567 :
10568 : case E_V16SImode:
10569 : switch (pattern1000 (x2))
10570 : {
10571 : case 0:
10572 : if (!(
10573 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10574 : (TARGET_AVX512F) &&
10575 : #line 8259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10576 : (TARGET_AVX512FP16)))
10577 : return -1;
10578 : return 4648; /* unspec_avx512fp16_fixuns_truncv16si2_mask */
10579 :
10580 : case 1:
10581 : if (!
10582 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10583 : (TARGET_AVX512F))
10584 : return -1;
10585 : return 4922; /* unspec_fixuns_truncv16sfv16si2_mask */
10586 :
10587 : default:
10588 : return -1;
10589 : }
10590 :
10591 : case E_V8DImode:
10592 : switch (pattern1001 (x2))
10593 : {
10594 : case 0:
10595 : if (!(
10596 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10597 : (TARGET_AVX512F) &&
10598 : #line 8259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10599 : (TARGET_AVX512FP16)))
10600 : return -1;
10601 : return 4656; /* unspec_avx512fp16_fixuns_truncv8di2_mask */
10602 :
10603 : case 1:
10604 : if (!(
10605 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10606 : (TARGET_AVX512F) &&
10607 : #line 10078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10608 : (TARGET_AVX512DQ && 1)))
10609 : return -1;
10610 : return 5100; /* unspec_fixuns_truncv8dfv8di2_mask */
10611 :
10612 : case 2:
10613 : if (!(
10614 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10615 : (TARGET_AVX512F) &&
10616 : #line 10121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10617 : (TARGET_AVX512DQ && 1)))
10618 : return -1;
10619 : return 5148; /* unspec_fixuns_truncv8sfv8di2_mask */
10620 :
10621 : default:
10622 : return -1;
10623 : }
10624 :
10625 : case E_V4SImode:
10626 : if (pattern142 (x2,
10627 : E_V4SImode,
10628 : E_QImode) != 0)
10629 : return -1;
10630 : switch (GET_MODE (operands[1]))
10631 : {
10632 : case E_V8HFmode:
10633 : if (!register_operand (operands[1], E_V8HFmode)
10634 : || !(
10635 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10636 : (TARGET_AVX512F) &&
10637 : #line 8297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10638 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
10639 : return -1;
10640 : return 4709; /* unspec_avx512fp16_fixuns_truncv4si2_mask */
10641 :
10642 : case E_V4DFmode:
10643 : if (!nonimmediate_operand (operands[1], E_V4DFmode)
10644 : || !(
10645 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10646 : (TARGET_AVX512F) &&
10647 : #line 10058 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10648 : (TARGET_AVX512VL && TARGET_AVX512F)))
10649 : return -1;
10650 : return 5091; /* unspec_fixuns_truncv4dfv4si2_mask */
10651 :
10652 : case E_V4SFmode:
10653 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
10654 : || !(
10655 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10656 : (TARGET_AVX512F) &&
10657 : #line 10292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10658 : (TARGET_AVX512VL)))
10659 : return -1;
10660 : return 5177; /* unspec_fixuns_truncv4sfv4si2_mask */
10661 :
10662 : default:
10663 : return -1;
10664 : }
10665 :
10666 : case E_V4DImode:
10667 : switch (pattern1002 (x2))
10668 : {
10669 : case 0:
10670 : if (!(
10671 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10672 : (TARGET_AVX512F) &&
10673 : #line 8297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10674 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
10675 : return -1;
10676 : return 4713; /* unspec_avx512fp16_fixuns_truncv4di2_mask */
10677 :
10678 : case 1:
10679 : if (!(
10680 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10681 : (TARGET_AVX512F) && (
10682 : #line 10078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10683 : (TARGET_AVX512DQ && 1) &&
10684 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10685 : (TARGET_AVX512VL))))
10686 : return -1;
10687 : return 5105; /* unspec_fixuns_truncv4dfv4di2_mask */
10688 :
10689 : case 2:
10690 : if (!(
10691 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10692 : (TARGET_AVX512F) && (
10693 : #line 10121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10694 : (TARGET_AVX512DQ && 1) &&
10695 : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10696 : (TARGET_AVX512VL))))
10697 : return -1;
10698 : return 5153; /* unspec_fixuns_truncv4sfv4di2_mask */
10699 :
10700 : default:
10701 : return -1;
10702 : }
10703 :
10704 : case E_V2DImode:
10705 : switch (pattern1003 (x2))
10706 : {
10707 : case 0:
10708 : if (!(
10709 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10710 : (TARGET_AVX512F) &&
10711 : #line 8347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10712 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
10713 : return -1;
10714 : return 4733; /* unspec_avx512fp16_fixuns_truncv2di2_mask */
10715 :
10716 : case 1:
10717 : if (!(
10718 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10719 : (TARGET_AVX512F) && (
10720 : #line 10078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10721 : (TARGET_AVX512DQ && 1) &&
10722 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10723 : (TARGET_AVX512VL))))
10724 : return -1;
10725 : return 5109; /* unspec_fixuns_truncv2dfv2di2_mask */
10726 :
10727 : case 2:
10728 : if (!(
10729 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10730 : (TARGET_AVX512F) &&
10731 : #line 10142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10732 : (TARGET_AVX512DQ && TARGET_AVX512VL)))
10733 : return -1;
10734 : return 5169; /* unspec_avx512dq_fixuns_truncv2sfv2di2_mask */
10735 :
10736 : default:
10737 : return -1;
10738 : }
10739 :
10740 : default:
10741 : return -1;
10742 : }
10743 : }
10744 :
10745 : int
10746 : recog_134 (rtx x1 ATTRIBUTE_UNUSED,
10747 : rtx_insn *insn ATTRIBUTE_UNUSED,
10748 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10749 : {
10750 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10751 : rtx x2, x3, x4, x5, x6, x7;
10752 : int res ATTRIBUTE_UNUSED;
10753 : x2 = XEXP (x1, 1);
10754 : x3 = XEXP (x2, 0);
10755 : x4 = XVECEXP (x3, 0, 0);
10756 : operands[1] = x4;
10757 : x5 = XVECEXP (x3, 0, 1);
10758 : operands[2] = x5;
10759 : x6 = XEXP (x2, 2);
10760 : switch (GET_CODE (x6))
10761 : {
10762 : case CONST_INT:
10763 : if (XWINT (x6, 0) != 1L)
10764 : return -1;
10765 : switch (pattern462 (x2))
10766 : {
10767 : case 0:
10768 : if (!(
10769 : #line 14013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10770 : (TARGET_AVX512F) &&
10771 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10772 : (TARGET_AVX512FP16)))
10773 : return -1;
10774 : return 5436; /* avx512f_vmscalefv8hf */
10775 :
10776 : case 1:
10777 : if (!
10778 : #line 14013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10779 : (TARGET_AVX512F))
10780 : return -1;
10781 : return 5440; /* avx512f_vmscalefv4sf */
10782 :
10783 : case 2:
10784 : if (!(
10785 : #line 14013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10786 : (TARGET_AVX512F) &&
10787 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10788 : (TARGET_SSE2)))
10789 : return -1;
10790 : return 5444; /* avx512f_vmscalefv2df */
10791 :
10792 : default:
10793 : return -1;
10794 : }
10795 :
10796 : case REG:
10797 : case SUBREG:
10798 : operands[4] = x6;
10799 : x7 = XEXP (x2, 1);
10800 : operands[3] = x7;
10801 : switch (GET_MODE (operands[0]))
10802 : {
10803 : case E_V32HFmode:
10804 : if (pattern1122 (x2,
10805 : E_V32HFmode,
10806 : E_SImode) != 0
10807 : || !(
10808 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10809 : (TARGET_AVX512F) && (
10810 : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10811 : (TARGET_AVX512F) &&
10812 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10813 : (TARGET_AVX512FP16))))
10814 : return -1;
10815 : return 5450; /* avx512bw_scalefv32hf_mask */
10816 :
10817 : case E_V16HFmode:
10818 : if (pattern1122 (x2,
10819 : E_V16HFmode,
10820 : E_HImode) != 0
10821 : || !(
10822 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10823 : (TARGET_AVX512F) && (
10824 : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10825 : (TARGET_AVX512F) &&
10826 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10827 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
10828 : return -1;
10829 : return 5454; /* avx512vl_scalefv16hf_mask */
10830 :
10831 : case E_V8HFmode:
10832 : if (pattern1122 (x2,
10833 : E_V8HFmode,
10834 : E_QImode) != 0
10835 : || !(
10836 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10837 : (TARGET_AVX512F) && (
10838 : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10839 : (TARGET_AVX512F) &&
10840 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10841 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
10842 : return -1;
10843 : return 5458; /* avx512fp16_scalefv8hf_mask */
10844 :
10845 : case E_V16SFmode:
10846 : if (pattern1122 (x2,
10847 : E_V16SFmode,
10848 : E_HImode) != 0
10849 : || !
10850 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10851 : (TARGET_AVX512F))
10852 : return -1;
10853 : return 5462; /* avx512f_scalefv16sf_mask */
10854 :
10855 : case E_V8SFmode:
10856 : if (pattern1122 (x2,
10857 : E_V8SFmode,
10858 : E_QImode) != 0
10859 : || !(
10860 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10861 : (TARGET_AVX512F) && (
10862 : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10863 : (TARGET_AVX512F) &&
10864 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10865 : (TARGET_AVX512VL))))
10866 : return -1;
10867 : return 5466; /* avx512vl_scalefv8sf_mask */
10868 :
10869 : case E_V4SFmode:
10870 : if (pattern1122 (x2,
10871 : E_V4SFmode,
10872 : E_QImode) != 0
10873 : || !(
10874 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10875 : (TARGET_AVX512F) && (
10876 : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10877 : (TARGET_AVX512F) &&
10878 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10879 : (TARGET_AVX512VL))))
10880 : return -1;
10881 : return 5470; /* avx512vl_scalefv4sf_mask */
10882 :
10883 : case E_V8DFmode:
10884 : if (pattern1122 (x2,
10885 : E_V8DFmode,
10886 : E_QImode) != 0
10887 : || !
10888 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10889 : (TARGET_AVX512F))
10890 : return -1;
10891 : return 5474; /* avx512f_scalefv8df_mask */
10892 :
10893 : case E_V4DFmode:
10894 : if (pattern1122 (x2,
10895 : E_V4DFmode,
10896 : E_QImode) != 0
10897 : || !(
10898 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10899 : (TARGET_AVX512F) && (
10900 : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10901 : (TARGET_AVX512F) &&
10902 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10903 : (TARGET_AVX512VL))))
10904 : return -1;
10905 : return 5478; /* avx512vl_scalefv4df_mask */
10906 :
10907 : case E_V2DFmode:
10908 : if (pattern1122 (x2,
10909 : E_V2DFmode,
10910 : E_QImode) != 0
10911 : || !(
10912 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10913 : (TARGET_AVX512F) && (
10914 : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10915 : (TARGET_AVX512F) &&
10916 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10917 : (TARGET_AVX512VL))))
10918 : return -1;
10919 : return 5482; /* avx512vl_scalefv2df_mask */
10920 :
10921 : default:
10922 : return -1;
10923 : }
10924 :
10925 : default:
10926 : return -1;
10927 : }
10928 : }
10929 :
10930 : int
10931 : recog_141 (rtx x1 ATTRIBUTE_UNUSED,
10932 : rtx_insn *insn ATTRIBUTE_UNUSED,
10933 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10934 : {
10935 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10936 : rtx x2, x3, x4, x5, x6, x7, x8;
10937 : int res ATTRIBUTE_UNUSED;
10938 : x2 = XEXP (x1, 1);
10939 : x3 = XEXP (x2, 0);
10940 : x4 = XVECEXP (x3, 0, 0);
10941 : operands[1] = x4;
10942 : x5 = XVECEXP (x3, 0, 1);
10943 : operands[2] = x5;
10944 : x6 = XVECEXP (x3, 0, 2);
10945 : operands[3] = x6;
10946 : if (!const_0_to_15_operand (operands[3], E_SImode))
10947 : return -1;
10948 : x7 = XEXP (x2, 2);
10949 : switch (GET_CODE (x7))
10950 : {
10951 : case REG:
10952 : case SUBREG:
10953 : operands[5] = x7;
10954 : x8 = XEXP (x2, 1);
10955 : operands[4] = x8;
10956 : switch (GET_MODE (operands[0]))
10957 : {
10958 : case E_V16SFmode:
10959 : if (pattern477 (x2,
10960 : E_V16SFmode,
10961 : E_HImode) != 0
10962 : || !(
10963 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10964 : (TARGET_AVX512F) &&
10965 : #line 30865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10966 : (TARGET_AVX512DQ && 1)))
10967 : return -1;
10968 : return 10064; /* avx512dq_rangepv16sf_mask */
10969 :
10970 : case E_V8SFmode:
10971 : if (pattern477 (x2,
10972 : E_V8SFmode,
10973 : E_QImode) != 0
10974 : || !(
10975 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10976 : (TARGET_AVX512F) && (
10977 : #line 30865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10978 : (TARGET_AVX512DQ && 1) &&
10979 : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10980 : (TARGET_AVX512VL))))
10981 : return -1;
10982 : return 10067; /* avx512dq_rangepv8sf_mask */
10983 :
10984 : case E_V4SFmode:
10985 : if (pattern477 (x2,
10986 : E_V4SFmode,
10987 : E_QImode) != 0
10988 : || !(
10989 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10990 : (TARGET_AVX512F) && (
10991 : #line 30865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10992 : (TARGET_AVX512DQ && 1) &&
10993 : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10994 : (TARGET_AVX512VL))))
10995 : return -1;
10996 : return 10069; /* avx512dq_rangepv4sf_mask */
10997 :
10998 : case E_V8DFmode:
10999 : if (pattern477 (x2,
11000 : E_V8DFmode,
11001 : E_QImode) != 0
11002 : || !(
11003 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11004 : (TARGET_AVX512F) &&
11005 : #line 30865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11006 : (TARGET_AVX512DQ && 1)))
11007 : return -1;
11008 : return 10072; /* avx512dq_rangepv8df_mask */
11009 :
11010 : case E_V4DFmode:
11011 : if (pattern477 (x2,
11012 : E_V4DFmode,
11013 : E_QImode) != 0
11014 : || !(
11015 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11016 : (TARGET_AVX512F) && (
11017 : #line 30865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11018 : (TARGET_AVX512DQ && 1) &&
11019 : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11020 : (TARGET_AVX512VL))))
11021 : return -1;
11022 : return 10075; /* avx512dq_rangepv4df_mask */
11023 :
11024 : case E_V2DFmode:
11025 : if (pattern477 (x2,
11026 : E_V2DFmode,
11027 : E_QImode) != 0
11028 : || !(
11029 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11030 : (TARGET_AVX512F) && (
11031 : #line 30865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11032 : (TARGET_AVX512DQ && 1) &&
11033 : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11034 : (TARGET_AVX512VL))))
11035 : return -1;
11036 : return 10077; /* avx512dq_rangepv2df_mask */
11037 :
11038 : default:
11039 : return -1;
11040 : }
11041 :
11042 : case CONST_INT:
11043 : if (XWINT (x7, 0) != 1L)
11044 : return -1;
11045 : switch (pattern1123 (x2))
11046 : {
11047 : case 0:
11048 : if (!
11049 : #line 30888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11050 : (TARGET_AVX512DQ))
11051 : return -1;
11052 : return 10078; /* avx512dq_rangesv4sf */
11053 :
11054 : case 1:
11055 : if (!(
11056 : #line 30888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11057 : (TARGET_AVX512DQ) &&
11058 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11059 : (TARGET_SSE2)))
11060 : return -1;
11061 : return 10082; /* avx512dq_rangesv2df */
11062 :
11063 : default:
11064 : return -1;
11065 : }
11066 :
11067 : default:
11068 : return -1;
11069 : }
11070 : }
11071 :
11072 : int
11073 : recog_147 (rtx x1 ATTRIBUTE_UNUSED,
11074 : rtx_insn *insn ATTRIBUTE_UNUSED,
11075 : int *pnum_clobbers ATTRIBUTE_UNUSED)
11076 : {
11077 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
11078 : rtx x2, x3, x4, x5, x6, x7, x8;
11079 : int res ATTRIBUTE_UNUSED;
11080 : x2 = XEXP (x1, 1);
11081 : x3 = XEXP (x2, 0);
11082 : switch (XINT (x3, 1))
11083 : {
11084 : case 193:
11085 : x4 = XEXP (x2, 2);
11086 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
11087 : return -1;
11088 : x5 = XVECEXP (x3, 0, 0);
11089 : operands[1] = x5;
11090 : x6 = XVECEXP (x3, 0, 1);
11091 : operands[2] = x6;
11092 : x7 = XVECEXP (x3, 0, 2);
11093 : operands[3] = x7;
11094 : if (!const_0_to_255_operand (operands[3], E_SImode))
11095 : return -1;
11096 : switch (pattern462 (x2))
11097 : {
11098 : case 0:
11099 : if (!(
11100 : #line 4310 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11101 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8HFmode))) &&
11102 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11103 : (TARGET_AVX512FP16)))
11104 : return -1;
11105 : return 3272; /* reducesv8hf */
11106 :
11107 : case 1:
11108 : if (!
11109 : #line 4310 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11110 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4SFmode))))
11111 : return -1;
11112 : return 3276; /* reducesv4sf */
11113 :
11114 : case 2:
11115 : if (!(
11116 : #line 4310 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11117 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V2DFmode))) &&
11118 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11119 : (TARGET_SSE2)))
11120 : return -1;
11121 : return 3280; /* reducesv2df */
11122 :
11123 : default:
11124 : return -1;
11125 : }
11126 :
11127 : case 60:
11128 : x4 = XEXP (x2, 2);
11129 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
11130 : return -1;
11131 : x5 = XVECEXP (x3, 0, 0);
11132 : operands[1] = x5;
11133 : x6 = XVECEXP (x3, 0, 1);
11134 : operands[2] = x6;
11135 : x7 = XVECEXP (x3, 0, 2);
11136 : operands[3] = x7;
11137 : if (!cmpps_imm_operand (operands[3], E_SImode))
11138 : return -1;
11139 : switch (pattern1123 (x2))
11140 : {
11141 : case 0:
11142 : if (!
11143 : #line 4582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11144 : (TARGET_SSE))
11145 : return -1;
11146 : return 3316; /* avx_vmcmpv4sf3 */
11147 :
11148 : case 1:
11149 : if (!(
11150 : #line 4582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11151 : (TARGET_SSE) &&
11152 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11153 : (TARGET_SSE2)))
11154 : return -1;
11155 : return 3317; /* avx_vmcmpv2df3 */
11156 :
11157 : default:
11158 : return -1;
11159 : }
11160 :
11161 : case 134:
11162 : return recog_137 (x1, insn, pnum_clobbers);
11163 :
11164 : case 218:
11165 : switch (pattern476 (x2))
11166 : {
11167 : case 0:
11168 : if (!
11169 : #line 7564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11170 : (TARGET_AVX512FP16 && (64 == 64 || TARGET_AVX512VL) && 1))
11171 : return -1;
11172 : return 4370; /* fma_fmaddc_v32hf_maskz_1 */
11173 :
11174 : case 1:
11175 : if (!(
11176 : #line 7564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11177 : (TARGET_AVX512FP16 && (32 == 64 || TARGET_AVX512VL) && 1) &&
11178 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11179 : (TARGET_AVX512VL)))
11180 : return -1;
11181 : return 4377; /* fma_fmaddc_v16hf_maskz_1 */
11182 :
11183 : case 2:
11184 : if (!(
11185 : #line 7564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11186 : (TARGET_AVX512FP16 && (16 == 64 || TARGET_AVX512VL) && 1) &&
11187 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11188 : (TARGET_AVX512VL)))
11189 : return -1;
11190 : return 4381; /* fma_fmaddc_v8hf_maskz_1 */
11191 :
11192 : case 3:
11193 : if (!
11194 : #line 7702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11195 : (TARGET_AVX512FP16 && 1))
11196 : return -1;
11197 : return 4408; /* avx512bw_fmaddc_v32hf_mask */
11198 :
11199 : case 4:
11200 : if (!(
11201 : #line 7702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11202 : (TARGET_AVX512FP16 && 1) &&
11203 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11204 : (TARGET_AVX512VL)))
11205 : return -1;
11206 : return 4412; /* avx512vl_fmaddc_v16hf_mask */
11207 :
11208 : case 5:
11209 : if (!(
11210 : #line 7702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11211 : (TARGET_AVX512FP16 && 1) &&
11212 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11213 : (TARGET_AVX512VL)))
11214 : return -1;
11215 : return 4414; /* avx512fp16_fmaddc_v8hf_mask */
11216 :
11217 : case 6:
11218 : if (!
11219 : #line 7891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11220 : (TARGET_AVX512FP16))
11221 : return -1;
11222 : return 4432; /* avx512fp16_fma_fmaddcsh_v8hf */
11223 :
11224 : default:
11225 : return -1;
11226 : }
11227 :
11228 : case 220:
11229 : switch (pattern476 (x2))
11230 : {
11231 : case 0:
11232 : if (!
11233 : #line 7564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11234 : (TARGET_AVX512FP16 && (64 == 64 || TARGET_AVX512VL) && 1))
11235 : return -1;
11236 : return 4374; /* fma_fcmaddc_v32hf_maskz_1 */
11237 :
11238 : case 1:
11239 : if (!(
11240 : #line 7564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11241 : (TARGET_AVX512FP16 && (32 == 64 || TARGET_AVX512VL) && 1) &&
11242 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11243 : (TARGET_AVX512VL)))
11244 : return -1;
11245 : return 4379; /* fma_fcmaddc_v16hf_maskz_1 */
11246 :
11247 : case 2:
11248 : if (!(
11249 : #line 7564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11250 : (TARGET_AVX512FP16 && (16 == 64 || TARGET_AVX512VL) && 1) &&
11251 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11252 : (TARGET_AVX512VL)))
11253 : return -1;
11254 : return 4383; /* fma_fcmaddc_v8hf_maskz_1 */
11255 :
11256 : case 3:
11257 : if (!
11258 : #line 7702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11259 : (TARGET_AVX512FP16 && 1))
11260 : return -1;
11261 : return 4410; /* avx512bw_fcmaddc_v32hf_mask */
11262 :
11263 : case 4:
11264 : if (!(
11265 : #line 7702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11266 : (TARGET_AVX512FP16 && 1) &&
11267 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11268 : (TARGET_AVX512VL)))
11269 : return -1;
11270 : return 4413; /* avx512vl_fcmaddc_v16hf_mask */
11271 :
11272 : case 5:
11273 : if (!(
11274 : #line 7702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11275 : (TARGET_AVX512FP16 && 1) &&
11276 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11277 : (TARGET_AVX512VL)))
11278 : return -1;
11279 : return 4415; /* avx512fp16_fcmaddc_v8hf_mask */
11280 :
11281 : case 6:
11282 : if (!
11283 : #line 7891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11284 : (TARGET_AVX512FP16))
11285 : return -1;
11286 : return 4436; /* avx512fp16_fma_fcmaddcsh_v8hf */
11287 :
11288 : default:
11289 : return -1;
11290 : }
11291 :
11292 : case 168:
11293 : return recog_144 (x1, insn, pnum_clobbers);
11294 :
11295 : case 122:
11296 : x5 = XVECEXP (x3, 0, 0);
11297 : operands[1] = x5;
11298 : x6 = XVECEXP (x3, 0, 1);
11299 : operands[2] = x6;
11300 : x7 = XVECEXP (x3, 0, 2);
11301 : operands[3] = x7;
11302 : if (!const_0_to_255_mul_8_operand (operands[3], E_SImode))
11303 : return -1;
11304 : x8 = XEXP (x2, 1);
11305 : operands[4] = x8;
11306 : x4 = XEXP (x2, 2);
11307 : operands[5] = x4;
11308 : switch (GET_MODE (operands[0]))
11309 : {
11310 : case E_V64QImode:
11311 : if (pattern482 (x2,
11312 : E_V64QImode,
11313 : E_DImode) != 0
11314 : || !(
11315 : #line 23758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11316 : (TARGET_AVX512BW && (64 == 64 || TARGET_AVX512VL)) &&
11317 : #line 626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11318 : (TARGET_AVX512BW)))
11319 : return -1;
11320 : return 8715; /* avx512bw_palignrv64qi_mask */
11321 :
11322 : case E_V32QImode:
11323 : if (pattern482 (x2,
11324 : E_V32QImode,
11325 : E_SImode) != 0
11326 : || !(
11327 : #line 23758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11328 : (TARGET_AVX512BW && (32 == 64 || TARGET_AVX512VL)) &&
11329 : #line 626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11330 : (TARGET_AVX2)))
11331 : return -1;
11332 : return 8716; /* avx2_palignrv32qi_mask */
11333 :
11334 : case E_V16QImode:
11335 : if (pattern482 (x2,
11336 : E_V16QImode,
11337 : E_HImode) != 0
11338 : || !
11339 : #line 23758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11340 : (TARGET_AVX512BW && (16 == 64 || TARGET_AVX512VL)))
11341 : return -1;
11342 : return 8717; /* ssse3_palignrv16qi_mask */
11343 :
11344 : default:
11345 : return -1;
11346 : }
11347 :
11348 : case 129:
11349 : switch (pattern478 (x2,
11350 : E_SImode))
11351 : {
11352 : case 0:
11353 : if (!(
11354 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11355 : (TARGET_AVX512F) &&
11356 : #line 24356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11357 : (TARGET_AVX10_2)))
11358 : return -1;
11359 : return 8798; /* avx10_2_mpsadbw_mask */
11360 :
11361 : case 1:
11362 : if (!(
11363 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11364 : (TARGET_AVX512F) && (
11365 : #line 24368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11366 : (TARGET_AVX10_2) &&
11367 : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11368 : (TARGET_AVX))))
11369 : return -1;
11370 : return 8800; /* avx2_mpsadbw_mask */
11371 :
11372 : case 2:
11373 : if (!(
11374 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11375 : (TARGET_AVX512F) &&
11376 : #line 24368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11377 : (TARGET_AVX10_2)))
11378 : return -1;
11379 : return 8802; /* sse4_1_mpsadbw_mask */
11380 :
11381 : default:
11382 : return -1;
11383 : }
11384 :
11385 : case 156:
11386 : return recog_136 (x1, insn, pnum_clobbers);
11387 :
11388 : case 195:
11389 : return recog_141 (x1, insn, pnum_clobbers);
11390 :
11391 : case 167:
11392 : x4 = XEXP (x2, 2);
11393 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
11394 : return -1;
11395 : x5 = XVECEXP (x3, 0, 0);
11396 : operands[1] = x5;
11397 : x6 = XVECEXP (x3, 0, 1);
11398 : operands[2] = x6;
11399 : x7 = XVECEXP (x3, 0, 2);
11400 : operands[3] = x7;
11401 : if (!const_0_to_15_operand (operands[3], E_SImode))
11402 : return -1;
11403 : switch (pattern462 (x2))
11404 : {
11405 : case 0:
11406 : if (!(
11407 : #line 30956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11408 : (TARGET_AVX512F) &&
11409 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11410 : (TARGET_AVX512FP16)))
11411 : return -1;
11412 : return 10146; /* avx512f_vgetmantv8hf */
11413 :
11414 : case 1:
11415 : if (!
11416 : #line 30956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11417 : (TARGET_AVX512F))
11418 : return -1;
11419 : return 10150; /* avx512f_vgetmantv4sf */
11420 :
11421 : case 2:
11422 : if (!(
11423 : #line 30956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11424 : (TARGET_AVX512F) &&
11425 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11426 : (TARGET_SSE2)))
11427 : return -1;
11428 : return 10154; /* avx512f_vgetmantv2df */
11429 :
11430 : default:
11431 : return -1;
11432 : }
11433 :
11434 : case 187:
11435 : x5 = XVECEXP (x3, 0, 0);
11436 : operands[1] = x5;
11437 : x6 = XVECEXP (x3, 0, 1);
11438 : operands[2] = x6;
11439 : x7 = XVECEXP (x3, 0, 2);
11440 : operands[3] = x7;
11441 : if (!const_0_to_255_operand (operands[3], E_SImode))
11442 : return -1;
11443 : x8 = XEXP (x2, 1);
11444 : operands[4] = x8;
11445 : x4 = XEXP (x2, 2);
11446 : operands[5] = x4;
11447 : switch (GET_MODE (operands[0]))
11448 : {
11449 : case E_V8HImode:
11450 : if (pattern1286 (x2,
11451 : E_QImode,
11452 : E_V8HImode,
11453 : E_V16QImode) != 0
11454 : || !(
11455 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11456 : (TARGET_AVX512F) && (
11457 : #line 30977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11458 : (TARGET_AVX512BW) &&
11459 : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11460 : (TARGET_AVX512VL))))
11461 : return -1;
11462 : return 10159; /* avx512bw_dbpsadbwv8hi_mask */
11463 :
11464 : case E_V16HImode:
11465 : if (pattern1286 (x2,
11466 : E_HImode,
11467 : E_V16HImode,
11468 : E_V32QImode) != 0
11469 : || !(
11470 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11471 : (TARGET_AVX512F) && (
11472 : #line 30977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11473 : (TARGET_AVX512BW) &&
11474 : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11475 : (TARGET_AVX512VL))))
11476 : return -1;
11477 : return 10161; /* avx512bw_dbpsadbwv16hi_mask */
11478 :
11479 : case E_V32HImode:
11480 : if (pattern1286 (x2,
11481 : E_SImode,
11482 : E_V32HImode,
11483 : E_V64QImode) != 0
11484 : || !(
11485 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11486 : (TARGET_AVX512F) &&
11487 : #line 30977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11488 : (TARGET_AVX512BW)))
11489 : return -1;
11490 : return 10163; /* avx512bw_dbpsadbwv32hi_mask */
11491 :
11492 : default:
11493 : return -1;
11494 : }
11495 :
11496 : case 196:
11497 : switch (pattern481 (x2))
11498 : {
11499 : case 0:
11500 : if (!
11501 : #line 31300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11502 : (TARGET_AVX512IFMA))
11503 : return -1;
11504 : return 10219; /* vpmadd52luqv8di_maskz_1 */
11505 :
11506 : case 1:
11507 : if (!(
11508 : #line 31300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11509 : (TARGET_AVX512IFMA) &&
11510 : #line 617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11511 : (TARGET_AVX512VL)))
11512 : return -1;
11513 : return 10221; /* vpmadd52luqv4di_maskz_1 */
11514 :
11515 : case 2:
11516 : if (!(
11517 : #line 31300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11518 : (TARGET_AVX512IFMA) &&
11519 : #line 617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11520 : (TARGET_AVX512VL)))
11521 : return -1;
11522 : return 10223; /* vpmadd52luqv2di_maskz_1 */
11523 :
11524 : case 3:
11525 : if (!
11526 : #line 31317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11527 : (TARGET_AVX512IFMA))
11528 : return -1;
11529 : return 10225; /* vpmadd52luqv8di_mask */
11530 :
11531 : case 4:
11532 : if (!(
11533 : #line 31317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11534 : (TARGET_AVX512IFMA) &&
11535 : #line 617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11536 : (TARGET_AVX512VL)))
11537 : return -1;
11538 : return 10227; /* vpmadd52luqv4di_mask */
11539 :
11540 : case 5:
11541 : if (!(
11542 : #line 31317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11543 : (TARGET_AVX512IFMA) &&
11544 : #line 617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11545 : (TARGET_AVX512VL)))
11546 : return -1;
11547 : return 10229; /* vpmadd52luqv2di_mask */
11548 :
11549 : default:
11550 : return -1;
11551 : }
11552 :
11553 : case 197:
11554 : switch (pattern481 (x2))
11555 : {
11556 : case 0:
11557 : if (!
11558 : #line 31300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11559 : (TARGET_AVX512IFMA))
11560 : return -1;
11561 : return 10220; /* vpmadd52huqv8di_maskz_1 */
11562 :
11563 : case 1:
11564 : if (!(
11565 : #line 31300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11566 : (TARGET_AVX512IFMA) &&
11567 : #line 617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11568 : (TARGET_AVX512VL)))
11569 : return -1;
11570 : return 10222; /* vpmadd52huqv4di_maskz_1 */
11571 :
11572 : case 2:
11573 : if (!(
11574 : #line 31300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11575 : (TARGET_AVX512IFMA) &&
11576 : #line 617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11577 : (TARGET_AVX512VL)))
11578 : return -1;
11579 : return 10224; /* vpmadd52huqv2di_maskz_1 */
11580 :
11581 : case 3:
11582 : if (!
11583 : #line 31317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11584 : (TARGET_AVX512IFMA))
11585 : return -1;
11586 : return 10226; /* vpmadd52huqv8di_mask */
11587 :
11588 : case 4:
11589 : if (!(
11590 : #line 31317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11591 : (TARGET_AVX512IFMA) &&
11592 : #line 617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11593 : (TARGET_AVX512VL)))
11594 : return -1;
11595 : return 10228; /* vpmadd52huqv4di_mask */
11596 :
11597 : case 5:
11598 : if (!(
11599 : #line 31317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11600 : (TARGET_AVX512IFMA) &&
11601 : #line 617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11602 : (TARGET_AVX512VL)))
11603 : return -1;
11604 : return 10230; /* vpmadd52huqv2di_mask */
11605 :
11606 : default:
11607 : return -1;
11608 : }
11609 :
11610 : case 199:
11611 : switch (pattern478 (x2,
11612 : E_VOIDmode))
11613 : {
11614 : case 0:
11615 : if (!(
11616 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11617 : (TARGET_AVX512F) && (
11618 : #line 31406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11619 : (TARGET_GFNI) &&
11620 : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11621 : (TARGET_AVX512F))))
11622 : return -1;
11623 : return 10270; /* vgf2p8affineinvqb_v64qi_mask */
11624 :
11625 : case 1:
11626 : if (!(
11627 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11628 : (TARGET_AVX512F) && (
11629 : #line 31406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11630 : (TARGET_GFNI) &&
11631 : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11632 : (TARGET_AVX))))
11633 : return -1;
11634 : return 10272; /* vgf2p8affineinvqb_v32qi_mask */
11635 :
11636 : case 2:
11637 : if (!(
11638 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11639 : (TARGET_AVX512F) &&
11640 : #line 31406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11641 : (TARGET_GFNI)))
11642 : return -1;
11643 : return 10274; /* vgf2p8affineinvqb_v16qi_mask */
11644 :
11645 : default:
11646 : return -1;
11647 : }
11648 :
11649 : case 200:
11650 : switch (pattern478 (x2,
11651 : E_VOIDmode))
11652 : {
11653 : case 0:
11654 : if (!(
11655 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11656 : (TARGET_AVX512F) && (
11657 : #line 31423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11658 : (TARGET_GFNI) &&
11659 : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11660 : (TARGET_AVX512F))))
11661 : return -1;
11662 : return 10276; /* vgf2p8affineqb_v64qi_mask */
11663 :
11664 : case 1:
11665 : if (!(
11666 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11667 : (TARGET_AVX512F) && (
11668 : #line 31423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11669 : (TARGET_GFNI) &&
11670 : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11671 : (TARGET_AVX))))
11672 : return -1;
11673 : return 10278; /* vgf2p8affineqb_v32qi_mask */
11674 :
11675 : case 2:
11676 : if (!(
11677 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11678 : (TARGET_AVX512F) &&
11679 : #line 31423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11680 : (TARGET_GFNI)))
11681 : return -1;
11682 : return 10280; /* vgf2p8affineqb_v16qi_mask */
11683 :
11684 : default:
11685 : return -1;
11686 : }
11687 :
11688 : case 203:
11689 : return recog_145 (x1, insn, pnum_clobbers);
11690 :
11691 : case 202:
11692 : return recog_146 (x1, insn, pnum_clobbers);
11693 :
11694 : case 204:
11695 : return recog_140 (x1, insn, pnum_clobbers);
11696 :
11697 : case 205:
11698 : return recog_139 (x1, insn, pnum_clobbers);
11699 :
11700 : case 206:
11701 : switch (pattern488 (x2))
11702 : {
11703 : case 0:
11704 : if (!
11705 : #line 31669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11706 : (TARGET_AVX512VNNI))
11707 : return -1;
11708 : return 10380; /* vpdpbusd_v16si_mask */
11709 :
11710 : case 1:
11711 : if (!(
11712 : #line 31669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11713 : (TARGET_AVX512VNNI) &&
11714 : #line 664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11715 : (TARGET_AVX512VL)))
11716 : return -1;
11717 : return 10381; /* vpdpbusd_v8si_mask */
11718 :
11719 : case 2:
11720 : if (!(
11721 : #line 31669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11722 : (TARGET_AVX512VNNI) &&
11723 : #line 664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11724 : (TARGET_AVX512VL)))
11725 : return -1;
11726 : return 10382; /* vpdpbusd_v4si_mask */
11727 :
11728 : case 3:
11729 : if (!
11730 : #line 31698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11731 : (TARGET_AVX512VNNI))
11732 : return -1;
11733 : return 10383; /* vpdpbusd_v16si_maskz_1 */
11734 :
11735 : case 4:
11736 : if (!(
11737 : #line 31698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11738 : (TARGET_AVX512VNNI) &&
11739 : #line 664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11740 : (TARGET_AVX512VL)))
11741 : return -1;
11742 : return 10384; /* vpdpbusd_v8si_maskz_1 */
11743 :
11744 : case 5:
11745 : if (!(
11746 : #line 31698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11747 : (TARGET_AVX512VNNI) &&
11748 : #line 664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11749 : (TARGET_AVX512VL)))
11750 : return -1;
11751 : return 10385; /* vpdpbusd_v4si_maskz_1 */
11752 :
11753 : default:
11754 : return -1;
11755 : }
11756 :
11757 : case 207:
11758 : switch (pattern488 (x2))
11759 : {
11760 : case 0:
11761 : if (!
11762 : #line 31738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11763 : (TARGET_AVX512VNNI))
11764 : return -1;
11765 : return 10389; /* vpdpbusds_v16si_mask */
11766 :
11767 : case 1:
11768 : if (!(
11769 : #line 31738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11770 : (TARGET_AVX512VNNI) &&
11771 : #line 664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11772 : (TARGET_AVX512VL)))
11773 : return -1;
11774 : return 10390; /* vpdpbusds_v8si_mask */
11775 :
11776 : case 2:
11777 : if (!(
11778 : #line 31738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11779 : (TARGET_AVX512VNNI) &&
11780 : #line 664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11781 : (TARGET_AVX512VL)))
11782 : return -1;
11783 : return 10391; /* vpdpbusds_v4si_mask */
11784 :
11785 : case 3:
11786 : if (!
11787 : #line 31767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11788 : (TARGET_AVX512VNNI))
11789 : return -1;
11790 : return 10392; /* vpdpbusds_v16si_maskz_1 */
11791 :
11792 : case 4:
11793 : if (!(
11794 : #line 31767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11795 : (TARGET_AVX512VNNI) &&
11796 : #line 664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11797 : (TARGET_AVX512VL)))
11798 : return -1;
11799 : return 10393; /* vpdpbusds_v8si_maskz_1 */
11800 :
11801 : case 5:
11802 : if (!(
11803 : #line 31767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11804 : (TARGET_AVX512VNNI) &&
11805 : #line 664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11806 : (TARGET_AVX512VL)))
11807 : return -1;
11808 : return 10394; /* vpdpbusds_v4si_maskz_1 */
11809 :
11810 : default:
11811 : return -1;
11812 : }
11813 :
11814 : case 208:
11815 : switch (pattern488 (x2))
11816 : {
11817 : case 0:
11818 : if (!
11819 : #line 31807 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11820 : (TARGET_AVX512VNNI))
11821 : return -1;
11822 : return 10398; /* vpdpwssd_v16si_mask */
11823 :
11824 : case 1:
11825 : if (!(
11826 : #line 31807 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11827 : (TARGET_AVX512VNNI) &&
11828 : #line 664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11829 : (TARGET_AVX512VL)))
11830 : return -1;
11831 : return 10399; /* vpdpwssd_v8si_mask */
11832 :
11833 : case 2:
11834 : if (!(
11835 : #line 31807 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11836 : (TARGET_AVX512VNNI) &&
11837 : #line 664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11838 : (TARGET_AVX512VL)))
11839 : return -1;
11840 : return 10400; /* vpdpwssd_v4si_mask */
11841 :
11842 : case 3:
11843 : if (!
11844 : #line 31836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11845 : (TARGET_AVX512VNNI))
11846 : return -1;
11847 : return 10401; /* vpdpwssd_v16si_maskz_1 */
11848 :
11849 : case 4:
11850 : if (!(
11851 : #line 31836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11852 : (TARGET_AVX512VNNI) &&
11853 : #line 664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11854 : (TARGET_AVX512VL)))
11855 : return -1;
11856 : return 10402; /* vpdpwssd_v8si_maskz_1 */
11857 :
11858 : case 5:
11859 : if (!(
11860 : #line 31836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11861 : (TARGET_AVX512VNNI) &&
11862 : #line 664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11863 : (TARGET_AVX512VL)))
11864 : return -1;
11865 : return 10403; /* vpdpwssd_v4si_maskz_1 */
11866 :
11867 : default:
11868 : return -1;
11869 : }
11870 :
11871 : case 209:
11872 : switch (pattern488 (x2))
11873 : {
11874 : case 0:
11875 : if (!
11876 : #line 31876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11877 : (TARGET_AVX512VNNI))
11878 : return -1;
11879 : return 10407; /* vpdpwssds_v16si_mask */
11880 :
11881 : case 1:
11882 : if (!(
11883 : #line 31876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11884 : (TARGET_AVX512VNNI) &&
11885 : #line 664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11886 : (TARGET_AVX512VL)))
11887 : return -1;
11888 : return 10408; /* vpdpwssds_v8si_mask */
11889 :
11890 : case 2:
11891 : if (!(
11892 : #line 31876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11893 : (TARGET_AVX512VNNI) &&
11894 : #line 664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11895 : (TARGET_AVX512VL)))
11896 : return -1;
11897 : return 10409; /* vpdpwssds_v4si_mask */
11898 :
11899 : case 3:
11900 : if (!
11901 : #line 31905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11902 : (TARGET_AVX512VNNI))
11903 : return -1;
11904 : return 10410; /* vpdpwssds_v16si_maskz_1 */
11905 :
11906 : case 4:
11907 : if (!(
11908 : #line 31905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11909 : (TARGET_AVX512VNNI) &&
11910 : #line 664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11911 : (TARGET_AVX512VL)))
11912 : return -1;
11913 : return 10411; /* vpdpwssds_v8si_maskz_1 */
11914 :
11915 : case 5:
11916 : if (!(
11917 : #line 31905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11918 : (TARGET_AVX512VNNI) &&
11919 : #line 664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11920 : (TARGET_AVX512VL)))
11921 : return -1;
11922 : return 10412; /* vpdpwssds_v4si_maskz_1 */
11923 :
11924 : default:
11925 : return -1;
11926 : }
11927 :
11928 : case 217:
11929 : return recog_142 (x1, insn, pnum_clobbers);
11930 :
11931 : case 228:
11932 : switch (pattern490 (x2))
11933 : {
11934 : case 0:
11935 : if (!
11936 : #line 32669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11937 : (TARGET_AVX10_2))
11938 : return -1;
11939 : return 10493; /* vpdpbssd_v16si_mask */
11940 :
11941 : case 1:
11942 : if (!
11943 : #line 32669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11944 : (TARGET_AVX10_2))
11945 : return -1;
11946 : return 10499; /* vpdpbssd_v8si_mask */
11947 :
11948 : case 2:
11949 : if (!
11950 : #line 32669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11951 : (TARGET_AVX10_2))
11952 : return -1;
11953 : return 10505; /* vpdpbssd_v4si_mask */
11954 :
11955 : case 3:
11956 : if (!
11957 : #line 32696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11958 : (TARGET_AVX10_2))
11959 : return -1;
11960 : return 10511; /* *vpdpbssd_v16si_maskz */
11961 :
11962 : case 4:
11963 : if (!
11964 : #line 32696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11965 : (TARGET_AVX10_2))
11966 : return -1;
11967 : return 10517; /* *vpdpbssd_v8si_maskz */
11968 :
11969 : case 5:
11970 : if (!
11971 : #line 32696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11972 : (TARGET_AVX10_2))
11973 : return -1;
11974 : return 10523; /* *vpdpbssd_v4si_maskz */
11975 :
11976 : default:
11977 : return -1;
11978 : }
11979 :
11980 : case 229:
11981 : switch (pattern490 (x2))
11982 : {
11983 : case 0:
11984 : if (!
11985 : #line 32669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11986 : (TARGET_AVX10_2))
11987 : return -1;
11988 : return 10494; /* vpdpbssds_v16si_mask */
11989 :
11990 : case 1:
11991 : if (!
11992 : #line 32669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11993 : (TARGET_AVX10_2))
11994 : return -1;
11995 : return 10500; /* vpdpbssds_v8si_mask */
11996 :
11997 : case 2:
11998 : if (!
11999 : #line 32669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12000 : (TARGET_AVX10_2))
12001 : return -1;
12002 : return 10506; /* vpdpbssds_v4si_mask */
12003 :
12004 : case 3:
12005 : if (!
12006 : #line 32696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12007 : (TARGET_AVX10_2))
12008 : return -1;
12009 : return 10512; /* *vpdpbssds_v16si_maskz */
12010 :
12011 : case 4:
12012 : if (!
12013 : #line 32696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12014 : (TARGET_AVX10_2))
12015 : return -1;
12016 : return 10518; /* *vpdpbssds_v8si_maskz */
12017 :
12018 : case 5:
12019 : if (!
12020 : #line 32696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12021 : (TARGET_AVX10_2))
12022 : return -1;
12023 : return 10524; /* *vpdpbssds_v4si_maskz */
12024 :
12025 : default:
12026 : return -1;
12027 : }
12028 :
12029 : case 230:
12030 : switch (pattern490 (x2))
12031 : {
12032 : case 0:
12033 : if (!
12034 : #line 32669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12035 : (TARGET_AVX10_2))
12036 : return -1;
12037 : return 10495; /* vpdpbsud_v16si_mask */
12038 :
12039 : case 1:
12040 : if (!
12041 : #line 32669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12042 : (TARGET_AVX10_2))
12043 : return -1;
12044 : return 10501; /* vpdpbsud_v8si_mask */
12045 :
12046 : case 2:
12047 : if (!
12048 : #line 32669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12049 : (TARGET_AVX10_2))
12050 : return -1;
12051 : return 10507; /* vpdpbsud_v4si_mask */
12052 :
12053 : case 3:
12054 : if (!
12055 : #line 32696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12056 : (TARGET_AVX10_2))
12057 : return -1;
12058 : return 10513; /* *vpdpbsud_v16si_maskz */
12059 :
12060 : case 4:
12061 : if (!
12062 : #line 32696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12063 : (TARGET_AVX10_2))
12064 : return -1;
12065 : return 10519; /* *vpdpbsud_v8si_maskz */
12066 :
12067 : case 5:
12068 : if (!
12069 : #line 32696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12070 : (TARGET_AVX10_2))
12071 : return -1;
12072 : return 10525; /* *vpdpbsud_v4si_maskz */
12073 :
12074 : default:
12075 : return -1;
12076 : }
12077 :
12078 : case 231:
12079 : switch (pattern490 (x2))
12080 : {
12081 : case 0:
12082 : if (!
12083 : #line 32669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12084 : (TARGET_AVX10_2))
12085 : return -1;
12086 : return 10496; /* vpdpbsuds_v16si_mask */
12087 :
12088 : case 1:
12089 : if (!
12090 : #line 32669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12091 : (TARGET_AVX10_2))
12092 : return -1;
12093 : return 10502; /* vpdpbsuds_v8si_mask */
12094 :
12095 : case 2:
12096 : if (!
12097 : #line 32669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12098 : (TARGET_AVX10_2))
12099 : return -1;
12100 : return 10508; /* vpdpbsuds_v4si_mask */
12101 :
12102 : case 3:
12103 : if (!
12104 : #line 32696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12105 : (TARGET_AVX10_2))
12106 : return -1;
12107 : return 10514; /* *vpdpbsuds_v16si_maskz */
12108 :
12109 : case 4:
12110 : if (!
12111 : #line 32696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12112 : (TARGET_AVX10_2))
12113 : return -1;
12114 : return 10520; /* *vpdpbsuds_v8si_maskz */
12115 :
12116 : case 5:
12117 : if (!
12118 : #line 32696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12119 : (TARGET_AVX10_2))
12120 : return -1;
12121 : return 10526; /* *vpdpbsuds_v4si_maskz */
12122 :
12123 : default:
12124 : return -1;
12125 : }
12126 :
12127 : case 232:
12128 : switch (pattern490 (x2))
12129 : {
12130 : case 0:
12131 : if (!
12132 : #line 32669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12133 : (TARGET_AVX10_2))
12134 : return -1;
12135 : return 10497; /* vpdpbuud_v16si_mask */
12136 :
12137 : case 1:
12138 : if (!
12139 : #line 32669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12140 : (TARGET_AVX10_2))
12141 : return -1;
12142 : return 10503; /* vpdpbuud_v8si_mask */
12143 :
12144 : case 2:
12145 : if (!
12146 : #line 32669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12147 : (TARGET_AVX10_2))
12148 : return -1;
12149 : return 10509; /* vpdpbuud_v4si_mask */
12150 :
12151 : case 3:
12152 : if (!
12153 : #line 32696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12154 : (TARGET_AVX10_2))
12155 : return -1;
12156 : return 10515; /* *vpdpbuud_v16si_maskz */
12157 :
12158 : case 4:
12159 : if (!
12160 : #line 32696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12161 : (TARGET_AVX10_2))
12162 : return -1;
12163 : return 10521; /* *vpdpbuud_v8si_maskz */
12164 :
12165 : case 5:
12166 : if (!
12167 : #line 32696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12168 : (TARGET_AVX10_2))
12169 : return -1;
12170 : return 10527; /* *vpdpbuud_v4si_maskz */
12171 :
12172 : default:
12173 : return -1;
12174 : }
12175 :
12176 : case 233:
12177 : switch (pattern490 (x2))
12178 : {
12179 : case 0:
12180 : if (!
12181 : #line 32669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12182 : (TARGET_AVX10_2))
12183 : return -1;
12184 : return 10498; /* vpdpbuuds_v16si_mask */
12185 :
12186 : case 1:
12187 : if (!
12188 : #line 32669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12189 : (TARGET_AVX10_2))
12190 : return -1;
12191 : return 10504; /* vpdpbuuds_v8si_mask */
12192 :
12193 : case 2:
12194 : if (!
12195 : #line 32669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12196 : (TARGET_AVX10_2))
12197 : return -1;
12198 : return 10510; /* vpdpbuuds_v4si_mask */
12199 :
12200 : case 3:
12201 : if (!
12202 : #line 32696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12203 : (TARGET_AVX10_2))
12204 : return -1;
12205 : return 10516; /* *vpdpbuuds_v16si_maskz */
12206 :
12207 : case 4:
12208 : if (!
12209 : #line 32696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12210 : (TARGET_AVX10_2))
12211 : return -1;
12212 : return 10522; /* *vpdpbuuds_v8si_maskz */
12213 :
12214 : case 5:
12215 : if (!
12216 : #line 32696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12217 : (TARGET_AVX10_2))
12218 : return -1;
12219 : return 10528; /* *vpdpbuuds_v4si_maskz */
12220 :
12221 : default:
12222 : return -1;
12223 : }
12224 :
12225 : case 234:
12226 : switch (pattern490 (x2))
12227 : {
12228 : case 0:
12229 : if (!
12230 : #line 33081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12231 : (TARGET_AVX10_2))
12232 : return -1;
12233 : return 10645; /* vpdpwusd_v16si_mask */
12234 :
12235 : case 1:
12236 : if (!
12237 : #line 33081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12238 : (TARGET_AVX10_2))
12239 : return -1;
12240 : return 10651; /* vpdpwusd_v8si_mask */
12241 :
12242 : case 2:
12243 : if (!
12244 : #line 33081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12245 : (TARGET_AVX10_2))
12246 : return -1;
12247 : return 10657; /* vpdpwusd_v4si_mask */
12248 :
12249 : case 3:
12250 : if (!
12251 : #line 33108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12252 : (TARGET_AVX10_2))
12253 : return -1;
12254 : return 10663; /* *vpdpwusd_v16si_maskz */
12255 :
12256 : case 4:
12257 : if (!
12258 : #line 33108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12259 : (TARGET_AVX10_2))
12260 : return -1;
12261 : return 10669; /* *vpdpwusd_v8si_maskz */
12262 :
12263 : case 5:
12264 : if (!
12265 : #line 33108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12266 : (TARGET_AVX10_2))
12267 : return -1;
12268 : return 10675; /* *vpdpwusd_v4si_maskz */
12269 :
12270 : default:
12271 : return -1;
12272 : }
12273 :
12274 : case 235:
12275 : switch (pattern490 (x2))
12276 : {
12277 : case 0:
12278 : if (!
12279 : #line 33081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12280 : (TARGET_AVX10_2))
12281 : return -1;
12282 : return 10646; /* vpdpwusds_v16si_mask */
12283 :
12284 : case 1:
12285 : if (!
12286 : #line 33081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12287 : (TARGET_AVX10_2))
12288 : return -1;
12289 : return 10652; /* vpdpwusds_v8si_mask */
12290 :
12291 : case 2:
12292 : if (!
12293 : #line 33081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12294 : (TARGET_AVX10_2))
12295 : return -1;
12296 : return 10658; /* vpdpwusds_v4si_mask */
12297 :
12298 : case 3:
12299 : if (!
12300 : #line 33108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12301 : (TARGET_AVX10_2))
12302 : return -1;
12303 : return 10664; /* *vpdpwusds_v16si_maskz */
12304 :
12305 : case 4:
12306 : if (!
12307 : #line 33108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12308 : (TARGET_AVX10_2))
12309 : return -1;
12310 : return 10670; /* *vpdpwusds_v8si_maskz */
12311 :
12312 : case 5:
12313 : if (!
12314 : #line 33108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12315 : (TARGET_AVX10_2))
12316 : return -1;
12317 : return 10676; /* *vpdpwusds_v4si_maskz */
12318 :
12319 : default:
12320 : return -1;
12321 : }
12322 :
12323 : case 236:
12324 : switch (pattern490 (x2))
12325 : {
12326 : case 0:
12327 : if (!
12328 : #line 33081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12329 : (TARGET_AVX10_2))
12330 : return -1;
12331 : return 10647; /* vpdpwsud_v16si_mask */
12332 :
12333 : case 1:
12334 : if (!
12335 : #line 33081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12336 : (TARGET_AVX10_2))
12337 : return -1;
12338 : return 10653; /* vpdpwsud_v8si_mask */
12339 :
12340 : case 2:
12341 : if (!
12342 : #line 33081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12343 : (TARGET_AVX10_2))
12344 : return -1;
12345 : return 10659; /* vpdpwsud_v4si_mask */
12346 :
12347 : case 3:
12348 : if (!
12349 : #line 33108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12350 : (TARGET_AVX10_2))
12351 : return -1;
12352 : return 10665; /* *vpdpwsud_v16si_maskz */
12353 :
12354 : case 4:
12355 : if (!
12356 : #line 33108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12357 : (TARGET_AVX10_2))
12358 : return -1;
12359 : return 10671; /* *vpdpwsud_v8si_maskz */
12360 :
12361 : case 5:
12362 : if (!
12363 : #line 33108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12364 : (TARGET_AVX10_2))
12365 : return -1;
12366 : return 10677; /* *vpdpwsud_v4si_maskz */
12367 :
12368 : default:
12369 : return -1;
12370 : }
12371 :
12372 : case 237:
12373 : switch (pattern490 (x2))
12374 : {
12375 : case 0:
12376 : if (!
12377 : #line 33081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12378 : (TARGET_AVX10_2))
12379 : return -1;
12380 : return 10648; /* vpdpwsuds_v16si_mask */
12381 :
12382 : case 1:
12383 : if (!
12384 : #line 33081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12385 : (TARGET_AVX10_2))
12386 : return -1;
12387 : return 10654; /* vpdpwsuds_v8si_mask */
12388 :
12389 : case 2:
12390 : if (!
12391 : #line 33081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12392 : (TARGET_AVX10_2))
12393 : return -1;
12394 : return 10660; /* vpdpwsuds_v4si_mask */
12395 :
12396 : case 3:
12397 : if (!
12398 : #line 33108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12399 : (TARGET_AVX10_2))
12400 : return -1;
12401 : return 10666; /* *vpdpwsuds_v16si_maskz */
12402 :
12403 : case 4:
12404 : if (!
12405 : #line 33108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12406 : (TARGET_AVX10_2))
12407 : return -1;
12408 : return 10672; /* *vpdpwsuds_v8si_maskz */
12409 :
12410 : case 5:
12411 : if (!
12412 : #line 33108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12413 : (TARGET_AVX10_2))
12414 : return -1;
12415 : return 10678; /* *vpdpwsuds_v4si_maskz */
12416 :
12417 : default:
12418 : return -1;
12419 : }
12420 :
12421 : case 238:
12422 : switch (pattern490 (x2))
12423 : {
12424 : case 0:
12425 : if (!
12426 : #line 33081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12427 : (TARGET_AVX10_2))
12428 : return -1;
12429 : return 10649; /* vpdpwuud_v16si_mask */
12430 :
12431 : case 1:
12432 : if (!
12433 : #line 33081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12434 : (TARGET_AVX10_2))
12435 : return -1;
12436 : return 10655; /* vpdpwuud_v8si_mask */
12437 :
12438 : case 2:
12439 : if (!
12440 : #line 33081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12441 : (TARGET_AVX10_2))
12442 : return -1;
12443 : return 10661; /* vpdpwuud_v4si_mask */
12444 :
12445 : case 3:
12446 : if (!
12447 : #line 33108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12448 : (TARGET_AVX10_2))
12449 : return -1;
12450 : return 10667; /* *vpdpwuud_v16si_maskz */
12451 :
12452 : case 4:
12453 : if (!
12454 : #line 33108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12455 : (TARGET_AVX10_2))
12456 : return -1;
12457 : return 10673; /* *vpdpwuud_v8si_maskz */
12458 :
12459 : case 5:
12460 : if (!
12461 : #line 33108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12462 : (TARGET_AVX10_2))
12463 : return -1;
12464 : return 10679; /* *vpdpwuud_v4si_maskz */
12465 :
12466 : default:
12467 : return -1;
12468 : }
12469 :
12470 : case 239:
12471 : switch (pattern490 (x2))
12472 : {
12473 : case 0:
12474 : if (!
12475 : #line 33081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12476 : (TARGET_AVX10_2))
12477 : return -1;
12478 : return 10650; /* vpdpwuuds_v16si_mask */
12479 :
12480 : case 1:
12481 : if (!
12482 : #line 33081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12483 : (TARGET_AVX10_2))
12484 : return -1;
12485 : return 10656; /* vpdpwuuds_v8si_mask */
12486 :
12487 : case 2:
12488 : if (!
12489 : #line 33081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12490 : (TARGET_AVX10_2))
12491 : return -1;
12492 : return 10662; /* vpdpwuuds_v4si_mask */
12493 :
12494 : case 3:
12495 : if (!
12496 : #line 33108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12497 : (TARGET_AVX10_2))
12498 : return -1;
12499 : return 10668; /* *vpdpwuuds_v16si_maskz */
12500 :
12501 : case 4:
12502 : if (!
12503 : #line 33108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12504 : (TARGET_AVX10_2))
12505 : return -1;
12506 : return 10674; /* *vpdpwuuds_v8si_maskz */
12507 :
12508 : case 5:
12509 : if (!
12510 : #line 33108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12511 : (TARGET_AVX10_2))
12512 : return -1;
12513 : return 10680; /* *vpdpwuuds_v4si_maskz */
12514 :
12515 : default:
12516 : return -1;
12517 : }
12518 :
12519 : case 245:
12520 : return recog_143 (x1, insn, pnum_clobbers);
12521 :
12522 : case 278:
12523 : x5 = XVECEXP (x3, 0, 0);
12524 : operands[1] = x5;
12525 : x6 = XVECEXP (x3, 0, 1);
12526 : operands[2] = x6;
12527 : x7 = XVECEXP (x3, 0, 2);
12528 : operands[3] = x7;
12529 : if (!const_0_to_255_operand (operands[3], E_SImode))
12530 : return -1;
12531 : x8 = XEXP (x2, 1);
12532 : operands[4] = x8;
12533 : x4 = XEXP (x2, 2);
12534 : operands[5] = x4;
12535 : switch (GET_MODE (operands[0]))
12536 : {
12537 : case E_V32BFmode:
12538 : if (pattern1287 (x2,
12539 : E_SImode,
12540 : E_V32BFmode) != 0
12541 : || !(
12542 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12543 : (TARGET_AVX512F) &&
12544 : #line 33714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12545 : (TARGET_AVX10_2)))
12546 : return -1;
12547 : return 11003; /* avx10_2_minmaxbf16_v32bf_mask */
12548 :
12549 : case E_V16BFmode:
12550 : if (pattern1287 (x2,
12551 : E_HImode,
12552 : E_V16BFmode) != 0
12553 : || !(
12554 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12555 : (TARGET_AVX512F) &&
12556 : #line 33714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12557 : (TARGET_AVX10_2)))
12558 : return -1;
12559 : return 11005; /* avx10_2_minmaxbf16_v16bf_mask */
12560 :
12561 : case E_V8BFmode:
12562 : if (pattern1287 (x2,
12563 : E_QImode,
12564 : E_V8BFmode) != 0
12565 : || !(
12566 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12567 : (TARGET_AVX512F) &&
12568 : #line 33714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12569 : (TARGET_AVX10_2)))
12570 : return -1;
12571 : return 11007; /* avx10_2_minmaxbf16_v8bf_mask */
12572 :
12573 : default:
12574 : return -1;
12575 : }
12576 :
12577 : case 279:
12578 : return recog_138 (x1, insn, pnum_clobbers);
12579 :
12580 : default:
12581 : return -1;
12582 : }
12583 : }
12584 :
12585 : int
12586 : recog_172 (rtx x1 ATTRIBUTE_UNUSED,
12587 : rtx_insn *insn ATTRIBUTE_UNUSED,
12588 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12589 : {
12590 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12591 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12592 : int res ATTRIBUTE_UNUSED;
12593 : x2 = XEXP (x1, 1);
12594 : x3 = XEXP (x2, 0);
12595 : x4 = XEXP (x3, 1);
12596 : x5 = XVECEXP (x4, 0, 1);
12597 : operands[3] = x5;
12598 : x6 = XVECEXP (x4, 0, 2);
12599 : operands[4] = x6;
12600 : x7 = XVECEXP (x4, 0, 3);
12601 : operands[5] = x7;
12602 : x8 = XEXP (x2, 1);
12603 : operands[6] = x8;
12604 : x9 = XEXP (x2, 2);
12605 : operands[7] = x9;
12606 : if (!register_operand (operands[7], E_QImode))
12607 : return -1;
12608 : switch (GET_MODE (operands[0]))
12609 : {
12610 : case E_V4SFmode:
12611 : if (!nonimmediate_operand (operands[0], E_V4SFmode)
12612 : || GET_MODE (x2) != E_V4SFmode
12613 : || GET_MODE (x3) != E_V4SFmode
12614 : || pattern1694 (
12615 : E_V16SFmode) != 0
12616 : || !nonimm_or_0_operand (operands[6], E_V4SFmode)
12617 : || !
12618 : #line 12896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12619 : (TARGET_AVX512F
12620 : && INTVAL (operands[2]) % 4 == 0
12621 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
12622 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
12623 : && INTVAL (operands[4]) == INTVAL (operands[5]) - 1
12624 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[6]))))
12625 : return -1;
12626 : return 5360; /* avx512f_vextractf32x4_1_mask */
12627 :
12628 : case E_V4SImode:
12629 : if (GET_MODE (x2) != E_V4SImode
12630 : || GET_MODE (x3) != E_V4SImode
12631 : || !nonimm_or_0_operand (operands[6], E_V4SImode))
12632 : return -1;
12633 : if (nonimmediate_operand (operands[0], E_V4SImode)
12634 : && pattern1694 (
12635 : E_V16SImode) == 0
12636 : &&
12637 : #line 12896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12638 : (TARGET_AVX512F
12639 : && INTVAL (operands[2]) % 4 == 0
12640 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
12641 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
12642 : && INTVAL (operands[4]) == INTVAL (operands[5]) - 1
12643 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[6]))))
12644 : return 5361; /* avx512f_vextracti32x4_1_mask */
12645 : if (!register_operand (operands[0], E_V4SImode)
12646 : || !vector_operand (operands[1], E_V4SImode)
12647 : || !const_0_to_3_operand (operands[2], E_VOIDmode)
12648 : || !const_0_to_3_operand (operands[3], E_VOIDmode)
12649 : || !const_0_to_3_operand (operands[4], E_VOIDmode)
12650 : || !const_0_to_3_operand (operands[5], E_VOIDmode)
12651 : || !(
12652 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12653 : (TARGET_AVX512F) &&
12654 : #line 21172 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12655 : (TARGET_SSE2 && TARGET_AVX512VL)))
12656 : return -1;
12657 : return 8517; /* sse2_pshufd_1_mask */
12658 :
12659 : default:
12660 : return -1;
12661 : }
12662 : }
12663 :
12664 : int
12665 : recog_175 (rtx x1 ATTRIBUTE_UNUSED,
12666 : rtx_insn *insn ATTRIBUTE_UNUSED,
12667 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12668 : {
12669 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12670 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12671 : rtx x10, x11, x12;
12672 : int res ATTRIBUTE_UNUSED;
12673 : x2 = XEXP (x1, 1);
12674 : x3 = XEXP (x2, 0);
12675 : x4 = XEXP (x3, 1);
12676 : x5 = XVECEXP (x4, 0, 1);
12677 : operands[3] = x5;
12678 : x6 = XVECEXP (x4, 0, 2);
12679 : operands[4] = x6;
12680 : x7 = XVECEXP (x4, 0, 3);
12681 : operands[5] = x7;
12682 : x8 = XVECEXP (x4, 0, 5);
12683 : operands[7] = x8;
12684 : x9 = XVECEXP (x4, 0, 6);
12685 : operands[8] = x9;
12686 : x10 = XVECEXP (x4, 0, 7);
12687 : operands[9] = x10;
12688 : x11 = XEXP (x2, 1);
12689 : operands[10] = x11;
12690 : x12 = XEXP (x2, 2);
12691 : operands[11] = x12;
12692 : if (!register_operand (operands[11], E_QImode))
12693 : return -1;
12694 : switch (GET_MODE (operands[0]))
12695 : {
12696 : case E_V8DFmode:
12697 : if (pattern1755 (x2,
12698 : E_V8DFmode) != 0
12699 : || !(
12700 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12701 : (TARGET_AVX512F) &&
12702 : #line 20749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12703 : (TARGET_AVX512F
12704 : && (INTVAL (operands[2]) & 1) == 0
12705 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
12706 : && (INTVAL (operands[4]) & 1) == 0
12707 : && INTVAL (operands[4]) == INTVAL (operands[5]) - 1
12708 : && (INTVAL (operands[6]) & 1) == 0
12709 : && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
12710 : && (INTVAL (operands[8]) & 1) == 0
12711 : && INTVAL (operands[8]) == INTVAL (operands[9]) - 1)))
12712 : return -1;
12713 : return 8497; /* *avx512f_shuf_f64x2_1_mask_1 */
12714 :
12715 : case E_V8DImode:
12716 : if (pattern1755 (x2,
12717 : E_V8DImode) != 0
12718 : || !(
12719 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12720 : (TARGET_AVX512F) &&
12721 : #line 20749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12722 : (TARGET_AVX512F
12723 : && (INTVAL (operands[2]) & 1) == 0
12724 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
12725 : && (INTVAL (operands[4]) & 1) == 0
12726 : && INTVAL (operands[4]) == INTVAL (operands[5]) - 1
12727 : && (INTVAL (operands[6]) & 1) == 0
12728 : && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
12729 : && (INTVAL (operands[8]) & 1) == 0
12730 : && INTVAL (operands[8]) == INTVAL (operands[9]) - 1)))
12731 : return -1;
12732 : return 8499; /* *avx512f_shuf_i64x2_1_mask_1 */
12733 :
12734 : case E_V8SImode:
12735 : if (pattern764 (x2,
12736 : E_V8SImode) != 0
12737 : || pattern1838 () != 0
12738 : || !nonimm_or_0_operand (operands[10], E_V8SImode)
12739 : || !(
12740 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12741 : (TARGET_AVX512F) &&
12742 : #line 21110 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12743 : (TARGET_AVX2
12744 : && TARGET_AVX512VL
12745 : && INTVAL (operands[2]) + 4 == INTVAL (operands[6])
12746 : && INTVAL (operands[3]) + 4 == INTVAL (operands[7])
12747 : && INTVAL (operands[4]) + 4 == INTVAL (operands[8])
12748 : && INTVAL (operands[5]) + 4 == INTVAL (operands[9]))))
12749 : return -1;
12750 : return 8515; /* avx2_pshufd_1_mask */
12751 :
12752 : default:
12753 : return -1;
12754 : }
12755 : }
12756 :
12757 : int
12758 : recog_183 (rtx x1 ATTRIBUTE_UNUSED,
12759 : rtx_insn *insn ATTRIBUTE_UNUSED,
12760 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12761 : {
12762 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12763 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12764 : rtx x10, x11, x12;
12765 : int res ATTRIBUTE_UNUSED;
12766 : x2 = XEXP (x1, 1);
12767 : x3 = XEXP (x2, 0);
12768 : x4 = XEXP (x3, 0);
12769 : switch (GET_CODE (x4))
12770 : {
12771 : case PLUS:
12772 : switch (pattern314 (x2))
12773 : {
12774 : case 0:
12775 : if (!(
12776 : #line 2724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12777 : (TARGET_SSE) &&
12778 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12779 : (TARGET_AVX512FP16)))
12780 : return -1;
12781 : return 2824; /* *avx512fp16_vmaddv8hf3 */
12782 :
12783 : case 1:
12784 : if (!
12785 : #line 2724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12786 : (TARGET_SSE))
12787 : return -1;
12788 : return 2826; /* *sse_vmaddv4sf3 */
12789 :
12790 : case 2:
12791 : if (!(
12792 : #line 2724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12793 : (TARGET_SSE) &&
12794 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12795 : (TARGET_SSE2)))
12796 : return -1;
12797 : return 2828; /* *sse2_vmaddv2df3 */
12798 :
12799 : default:
12800 : return -1;
12801 : }
12802 :
12803 : case MINUS:
12804 : switch (pattern314 (x2))
12805 : {
12806 : case 0:
12807 : if (!(
12808 : #line 2724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12809 : (TARGET_SSE) &&
12810 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12811 : (TARGET_AVX512FP16)))
12812 : return -1;
12813 : return 2825; /* *avx512fp16_vmsubv8hf3 */
12814 :
12815 : case 1:
12816 : if (!
12817 : #line 2724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12818 : (TARGET_SSE))
12819 : return -1;
12820 : return 2827; /* *sse_vmsubv4sf3 */
12821 :
12822 : case 2:
12823 : if (!(
12824 : #line 2724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12825 : (TARGET_SSE) &&
12826 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12827 : (TARGET_SSE2)))
12828 : return -1;
12829 : return 2829; /* *sse2_vmsubv2df3 */
12830 :
12831 : default:
12832 : return -1;
12833 : }
12834 :
12835 : case MULT:
12836 : switch (pattern314 (x2))
12837 : {
12838 : case 0:
12839 : if (!(
12840 : #line 2814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12841 : (TARGET_SSE) &&
12842 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12843 : (TARGET_AVX512FP16)))
12844 : return -1;
12845 : return 2890; /* *avx512fp16_vmmulv8hf3 */
12846 :
12847 : case 1:
12848 : if (!
12849 : #line 2814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12850 : (TARGET_SSE))
12851 : return -1;
12852 : return 2892; /* *sse_vmmulv4sf3 */
12853 :
12854 : case 2:
12855 : if (!(
12856 : #line 2814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12857 : (TARGET_SSE) &&
12858 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12859 : (TARGET_SSE2)))
12860 : return -1;
12861 : return 2894; /* *sse2_vmmulv2df3 */
12862 :
12863 : default:
12864 : return -1;
12865 : }
12866 :
12867 : case DIV:
12868 : switch (pattern314 (x2))
12869 : {
12870 : case 0:
12871 : if (!(
12872 : #line 2814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12873 : (TARGET_SSE) &&
12874 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12875 : (TARGET_AVX512FP16)))
12876 : return -1;
12877 : return 2891; /* *avx512fp16_vmdivv8hf3 */
12878 :
12879 : case 1:
12880 : if (!
12881 : #line 2814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12882 : (TARGET_SSE))
12883 : return -1;
12884 : return 2893; /* *sse_vmdivv4sf3 */
12885 :
12886 : case 2:
12887 : if (!(
12888 : #line 2814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12889 : (TARGET_SSE) &&
12890 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12891 : (TARGET_SSE2)))
12892 : return -1;
12893 : return 2895; /* *sse2_vmdivv2df3 */
12894 :
12895 : default:
12896 : return -1;
12897 : }
12898 :
12899 : case UNSPEC:
12900 : x5 = XEXP (x2, 2);
12901 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12902 : return -1;
12903 : switch (XVECLEN (x4, 0))
12904 : {
12905 : case 1:
12906 : x6 = XVECEXP (x4, 0, 0);
12907 : operands[1] = x6;
12908 : x7 = XEXP (x2, 1);
12909 : operands[2] = x7;
12910 : switch (XINT (x4, 1))
12911 : {
12912 : case 55:
12913 : switch (GET_MODE (operands[0]))
12914 : {
12915 : case E_V4SFmode:
12916 : if (pattern1129 (x2,
12917 : E_V4SFmode,
12918 : E_SFmode) != 0
12919 : || !
12920 : #line 2991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12921 : (TARGET_SSE))
12922 : return -1;
12923 : return 2947; /* *sse_vmrcpv4sf2 */
12924 :
12925 : case E_V8HFmode:
12926 : if (pattern1129 (x2,
12927 : E_V8HFmode,
12928 : E_HFmode) != 0
12929 : || !
12930 : #line 3036 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12931 : (TARGET_AVX512FP16))
12932 : return -1;
12933 : return 2956; /* *avx512fp16_vmrcpv8hf2 */
12934 :
12935 : default:
12936 : return -1;
12937 : }
12938 :
12939 : case 56:
12940 : switch (GET_MODE (operands[0]))
12941 : {
12942 : case E_V4SFmode:
12943 : if (pattern1129 (x2,
12944 : E_V4SFmode,
12945 : E_SFmode) != 0
12946 : || !
12947 : #line 3272 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12948 : (TARGET_SSE))
12949 : return -1;
12950 : return 3046; /* *sse_vmrsqrtv4sf2 */
12951 :
12952 : case E_V8HFmode:
12953 : if (pattern1129 (x2,
12954 : E_V8HFmode,
12955 : E_HFmode) != 0
12956 : || !
12957 : #line 3303 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12958 : (TARGET_AVX512FP16))
12959 : return -1;
12960 : return 3049; /* *avx512fp16_vmrsqrtv8hf2 */
12961 :
12962 : default:
12963 : return -1;
12964 : }
12965 :
12966 : default:
12967 : return -1;
12968 : }
12969 :
12970 : case 2:
12971 : switch (XINT (x4, 1))
12972 : {
12973 : case 64:
12974 : switch (pattern779 (x2))
12975 : {
12976 : case 0:
12977 : if (!(
12978 : #line 3520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12979 : (TARGET_SSE) &&
12980 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12981 : (TARGET_AVX512FP16)))
12982 : return -1;
12983 : return 3168; /* *ieee_maxv8hf3 */
12984 :
12985 : case 1:
12986 : if (!
12987 : #line 3520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12988 : (TARGET_SSE))
12989 : return -1;
12990 : return 3170; /* *ieee_maxv4sf3 */
12991 :
12992 : case 2:
12993 : if (!(
12994 : #line 3520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12995 : (TARGET_SSE) &&
12996 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12997 : (TARGET_SSE2)))
12998 : return -1;
12999 : return 3172; /* *ieee_maxv2df3 */
13000 :
13001 : default:
13002 : return -1;
13003 : }
13004 :
13005 : case 63:
13006 : switch (pattern779 (x2))
13007 : {
13008 : case 0:
13009 : if (!(
13010 : #line 3520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13011 : (TARGET_SSE) &&
13012 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13013 : (TARGET_AVX512FP16)))
13014 : return -1;
13015 : return 3169; /* *ieee_minv8hf3 */
13016 :
13017 : case 1:
13018 : if (!
13019 : #line 3520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13020 : (TARGET_SSE))
13021 : return -1;
13022 : return 3171; /* *ieee_minv4sf3 */
13023 :
13024 : case 2:
13025 : if (!(
13026 : #line 3520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13027 : (TARGET_SSE) &&
13028 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13029 : (TARGET_SSE2)))
13030 : return -1;
13031 : return 3173; /* *ieee_minv2df3 */
13032 :
13033 : default:
13034 : return -1;
13035 : }
13036 :
13037 : case 95:
13038 : x6 = XVECEXP (x4, 0, 0);
13039 : operands[2] = x6;
13040 : x8 = XVECEXP (x4, 0, 1);
13041 : operands[3] = x8;
13042 : x7 = XEXP (x2, 1);
13043 : operands[1] = x7;
13044 : switch (GET_MODE (operands[0]))
13045 : {
13046 : case E_V8HFmode:
13047 : if (pattern1227 (x2,
13048 : E_V8HFmode,
13049 : E_HFmode) != 0)
13050 : return -1;
13051 : if (vector_operand (operands[2], E_HFmode)
13052 : && const_0_to_255_operand (operands[3], E_SImode)
13053 : && (
13054 : #line 14657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13055 : (TARGET_AVX512F) &&
13056 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13057 : (TARGET_AVX512FP16)))
13058 : return 7226; /* *avx512f_rndscalev8hf */
13059 : if (!nonimmediate_operand (operands[2], E_HFmode)
13060 : || !const_0_to_15_operand (operands[3], E_SImode)
13061 : || !(
13062 : #line 26450 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13063 : (TARGET_SSE4_1) &&
13064 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13065 : (TARGET_AVX512FP16)))
13066 : return -1;
13067 : return 9059; /* *sse4_1_roundsh */
13068 :
13069 : case E_V4SFmode:
13070 : if (pattern1227 (x2,
13071 : E_V4SFmode,
13072 : E_SFmode) != 0)
13073 : return -1;
13074 : if (vector_operand (operands[2], E_SFmode)
13075 : && const_0_to_255_operand (operands[3], E_SImode)
13076 : &&
13077 : #line 14657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13078 : (TARGET_AVX512F))
13079 : return 7228; /* *avx512f_rndscalev4sf */
13080 : if (!nonimmediate_operand (operands[2], E_SFmode)
13081 : || !const_0_to_15_operand (operands[3], E_SImode)
13082 : || !
13083 : #line 26450 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13084 : (TARGET_SSE4_1))
13085 : return -1;
13086 : return 9060; /* *sse4_1_roundss */
13087 :
13088 : case E_V2DFmode:
13089 : if (pattern1227 (x2,
13090 : E_V2DFmode,
13091 : E_DFmode) != 0)
13092 : return -1;
13093 : if (vector_operand (operands[2], E_DFmode)
13094 : && const_0_to_255_operand (operands[3], E_SImode)
13095 : && (
13096 : #line 14657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13097 : (TARGET_AVX512F) &&
13098 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13099 : (TARGET_SSE2)))
13100 : return 7230; /* *avx512f_rndscalev2df */
13101 : if (!nonimmediate_operand (operands[2], E_DFmode)
13102 : || !const_0_to_15_operand (operands[3], E_SImode)
13103 : || !(
13104 : #line 26450 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13105 : (TARGET_SSE4_1) &&
13106 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13107 : (TARGET_SSE2)))
13108 : return -1;
13109 : return 9061; /* *sse4_1_roundsd */
13110 :
13111 : default:
13112 : return -1;
13113 : }
13114 :
13115 : default:
13116 : return -1;
13117 : }
13118 :
13119 : default:
13120 : return -1;
13121 : }
13122 :
13123 : case SQRT:
13124 : x5 = XEXP (x2, 2);
13125 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
13126 : return -1;
13127 : x9 = XEXP (x4, 0);
13128 : operands[1] = x9;
13129 : x7 = XEXP (x2, 1);
13130 : operands[2] = x7;
13131 : switch (GET_MODE (operands[0]))
13132 : {
13133 : case E_V8HFmode:
13134 : if (pattern897 (x2,
13135 : E_V8HFmode,
13136 : E_HFmode) != 0
13137 : || !(
13138 : #line 3150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13139 : (TARGET_SSE) &&
13140 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13141 : (TARGET_AVX512FP16)))
13142 : return -1;
13143 : return 3009; /* *avx512fp16_vmsqrtv8hf2 */
13144 :
13145 : case E_V4SFmode:
13146 : if (pattern897 (x2,
13147 : E_V4SFmode,
13148 : E_SFmode) != 0
13149 : || !
13150 : #line 3150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13151 : (TARGET_SSE))
13152 : return -1;
13153 : return 3013; /* *sse_vmsqrtv4sf2 */
13154 :
13155 : case E_V2DFmode:
13156 : if (pattern897 (x2,
13157 : E_V2DFmode,
13158 : E_DFmode) != 0
13159 : || !(
13160 : #line 3150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13161 : (TARGET_SSE) &&
13162 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13163 : (TARGET_SSE2)))
13164 : return -1;
13165 : return 3017; /* *sse2_vmsqrtv2df2 */
13166 :
13167 : default:
13168 : return -1;
13169 : }
13170 :
13171 : case FLOAT:
13172 : x5 = XEXP (x2, 2);
13173 : if (GET_CODE (x5) != CONST_INT)
13174 : return -1;
13175 : x9 = XEXP (x4, 0);
13176 : operands[2] = x9;
13177 : x7 = XEXP (x2, 1);
13178 : operands[1] = x7;
13179 : switch (XWINT (x5, 0))
13180 : {
13181 : case 1L:
13182 : switch (GET_MODE (operands[0]))
13183 : {
13184 : case E_V8HFmode:
13185 : switch (pattern898 (x2,
13186 : E_V8HFmode,
13187 : E_HFmode))
13188 : {
13189 : case 0:
13190 : if (!
13191 : #line 8242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13192 : (TARGET_AVX512FP16))
13193 : return -1;
13194 : return 4602; /* avx512fp16_vcvtsi2sh */
13195 :
13196 : case 1:
13197 : if (!(
13198 : #line 8242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13199 : (TARGET_AVX512FP16) &&
13200 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
13201 : (TARGET_64BIT)))
13202 : return -1;
13203 : return 4606; /* avx512fp16_vcvtsi2shq */
13204 :
13205 : default:
13206 : return -1;
13207 : }
13208 :
13209 : case E_V4SFmode:
13210 : switch (pattern898 (x2,
13211 : E_V4SFmode,
13212 : E_SFmode))
13213 : {
13214 : case 0:
13215 : if (!
13216 : #line 8908 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13217 : (TARGET_SSE))
13218 : return -1;
13219 : return 4835; /* sse_cvtsi2ss */
13220 :
13221 : case 1:
13222 : if (!(
13223 : #line 8908 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13224 : (TARGET_SSE) &&
13225 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
13226 : (TARGET_64BIT)))
13227 : return -1;
13228 : return 4837; /* sse_cvtsi2ssq */
13229 :
13230 : default:
13231 : return -1;
13232 : }
13233 :
13234 : case E_V2DFmode:
13235 : switch (pattern898 (x2,
13236 : E_V2DFmode,
13237 : E_DFmode))
13238 : {
13239 : case 0:
13240 : if (!
13241 : #line 9370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13242 : (TARGET_SSE2))
13243 : return -1;
13244 : return 4947; /* sse2_cvtsi2sd */
13245 :
13246 : case 1:
13247 : if (!
13248 : #line 9393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13249 : (TARGET_SSE2 && TARGET_64BIT))
13250 : return -1;
13251 : return 4948; /* sse2_cvtsi2sdq */
13252 :
13253 : default:
13254 : return -1;
13255 : }
13256 :
13257 : default:
13258 : return -1;
13259 : }
13260 :
13261 : case 3L:
13262 : if (pnum_clobbers == NULL
13263 : || pattern780 (x2,
13264 : E_V2SFmode,
13265 : E_V4SFmode) != 0
13266 : || !register_mmxmem_operand (operands[2], E_V2SImode)
13267 : || !register_operand (operands[1], E_V4SFmode)
13268 : || !
13269 : #line 8753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13270 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSE))
13271 : return -1;
13272 : *pnum_clobbers = 1;
13273 : return 4831; /* sse_cvtpi2ps */
13274 :
13275 : default:
13276 : return -1;
13277 : }
13278 :
13279 : case UNSIGNED_FLOAT:
13280 : x5 = XEXP (x2, 2);
13281 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
13282 : return -1;
13283 : x9 = XEXP (x4, 0);
13284 : operands[2] = x9;
13285 : x7 = XEXP (x2, 1);
13286 : operands[1] = x7;
13287 : switch (GET_MODE (operands[0]))
13288 : {
13289 : case E_V8HFmode:
13290 : switch (pattern898 (x2,
13291 : E_V8HFmode,
13292 : E_HFmode))
13293 : {
13294 : case 0:
13295 : if (!
13296 : #line 8242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13297 : (TARGET_AVX512FP16))
13298 : return -1;
13299 : return 4604; /* avx512fp16_vcvtusi2sh */
13300 :
13301 : case 1:
13302 : if (!(
13303 : #line 8242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13304 : (TARGET_AVX512FP16) &&
13305 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
13306 : (TARGET_64BIT)))
13307 : return -1;
13308 : return 4608; /* avx512fp16_vcvtusi2shq */
13309 :
13310 : default:
13311 : return -1;
13312 : }
13313 :
13314 : case E_V4SFmode:
13315 : switch (pattern898 (x2,
13316 : E_V4SFmode,
13317 : E_SFmode))
13318 : {
13319 : case 0:
13320 : if (!
13321 : #line 9005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13322 : (TARGET_AVX512F && 1))
13323 : return -1;
13324 : return 4853; /* cvtusi2ss32 */
13325 :
13326 : case 1:
13327 : if (!
13328 : #line 9019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13329 : (TARGET_AVX512F && TARGET_64BIT))
13330 : return -1;
13331 : return 4856; /* cvtusi2ss64 */
13332 :
13333 : default:
13334 : return -1;
13335 : }
13336 :
13337 : case E_V2DFmode:
13338 : switch (pattern898 (x2,
13339 : E_V2DFmode,
13340 : E_DFmode))
13341 : {
13342 : case 0:
13343 : if (!(
13344 : #line 9005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13345 : (TARGET_AVX512F && 1) &&
13346 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13347 : (TARGET_SSE2)))
13348 : return -1;
13349 : return 4855; /* cvtusi2sd32 */
13350 :
13351 : case 1:
13352 : if (!(
13353 : #line 9019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13354 : (TARGET_AVX512F && TARGET_64BIT) &&
13355 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13356 : (TARGET_SSE2)))
13357 : return -1;
13358 : return 4858; /* cvtusi2sd64 */
13359 :
13360 : default:
13361 : return -1;
13362 : }
13363 :
13364 : default:
13365 : return -1;
13366 : }
13367 :
13368 : case FLOAT_EXTEND:
13369 : x5 = XEXP (x2, 2);
13370 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
13371 : return -1;
13372 : x9 = XEXP (x4, 0);
13373 : switch (GET_CODE (x9))
13374 : {
13375 : case VEC_SELECT:
13376 : if (GET_MODE (x9) != E_HFmode)
13377 : return -1;
13378 : x10 = XEXP (x9, 1);
13379 : if (GET_CODE (x10) != PARALLEL
13380 : || XVECLEN (x10, 0) != 1)
13381 : return -1;
13382 : x11 = XVECEXP (x10, 0, 0);
13383 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
13384 : return -1;
13385 : x12 = XEXP (x9, 0);
13386 : operands[1] = x12;
13387 : if (!register_operand (operands[1], E_V8HFmode))
13388 : return -1;
13389 : x7 = XEXP (x2, 1);
13390 : operands[2] = x7;
13391 : switch (GET_MODE (operands[0]))
13392 : {
13393 : case E_V2DFmode:
13394 : if (pattern1472 (x2,
13395 : E_V2DFmode,
13396 : E_DFmode) != 0
13397 : || !
13398 : #line 8689 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13399 : (TARGET_AVX512FP16))
13400 : return -1;
13401 : return 4807; /* avx512fp16_vcvtsh2sd */
13402 :
13403 : case E_V4SFmode:
13404 : if (pattern1472 (x2,
13405 : E_V4SFmode,
13406 : E_SFmode) != 0
13407 : || !
13408 : #line 8689 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13409 : (TARGET_AVX512FP16))
13410 : return -1;
13411 : return 4811; /* avx512fp16_vcvtsh2ss */
13412 :
13413 : default:
13414 : return -1;
13415 : }
13416 :
13417 : case REG:
13418 : case SUBREG:
13419 : case MEM:
13420 : switch (GET_MODE (operands[0]))
13421 : {
13422 : case E_V2DFmode:
13423 : if (pattern780 (x2,
13424 : E_DFmode,
13425 : E_V2DFmode) != 0)
13426 : return -1;
13427 : x7 = XEXP (x2, 1);
13428 : if (!register_operand (x7, E_V2DFmode))
13429 : return -1;
13430 : switch (GET_MODE (x9))
13431 : {
13432 : case E_HFmode:
13433 : operands[1] = x9;
13434 : if (!memory_operand (operands[1], E_HFmode))
13435 : return -1;
13436 : operands[2] = x7;
13437 : if (!
13438 : #line 8703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13439 : (TARGET_AVX512FP16))
13440 : return -1;
13441 : return 4815; /* avx512fp16_vcvtsh2sd_mem */
13442 :
13443 : case E_SFmode:
13444 : operands[2] = x9;
13445 : if (!nonimmediate_operand (operands[2], E_SFmode))
13446 : return -1;
13447 : operands[1] = x7;
13448 : if (!
13449 : #line 10457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13450 : (TARGET_SSE2))
13451 : return -1;
13452 : return 5196; /* *sse2_vd_cvtss2sd */
13453 :
13454 : default:
13455 : return -1;
13456 : }
13457 :
13458 : case E_V4SFmode:
13459 : if (pattern780 (x2,
13460 : E_SFmode,
13461 : E_V4SFmode) != 0)
13462 : return -1;
13463 : operands[1] = x9;
13464 : if (!memory_operand (operands[1], E_HFmode))
13465 : return -1;
13466 : x7 = XEXP (x2, 1);
13467 : operands[2] = x7;
13468 : if (!register_operand (operands[2], E_V4SFmode)
13469 : || !
13470 : #line 8703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13471 : (TARGET_AVX512FP16))
13472 : return -1;
13473 : return 4817; /* avx512fp16_vcvtsh2ss_mem */
13474 :
13475 : default:
13476 : return -1;
13477 : }
13478 :
13479 : default:
13480 : return -1;
13481 : }
13482 :
13483 : case FLOAT_TRUNCATE:
13484 : x5 = XEXP (x2, 2);
13485 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
13486 : return -1;
13487 : x9 = XEXP (x4, 0);
13488 : switch (GET_CODE (x9))
13489 : {
13490 : case VEC_SELECT:
13491 : x10 = XEXP (x9, 1);
13492 : if (GET_CODE (x10) != PARALLEL
13493 : || XVECLEN (x10, 0) != 1)
13494 : return -1;
13495 : x11 = XVECEXP (x10, 0, 0);
13496 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
13497 : || pattern780 (x2,
13498 : E_HFmode,
13499 : E_V8HFmode) != 0)
13500 : return -1;
13501 : x12 = XEXP (x9, 0);
13502 : operands[1] = x12;
13503 : x7 = XEXP (x2, 1);
13504 : operands[2] = x7;
13505 : if (!register_operand (operands[2], E_V8HFmode))
13506 : return -1;
13507 : switch (GET_MODE (x9))
13508 : {
13509 : case E_DFmode:
13510 : if (!register_operand (operands[1], E_V2DFmode)
13511 : || !
13512 : #line 8719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13513 : (TARGET_AVX512FP16))
13514 : return -1;
13515 : return 4819; /* avx512fp16_vcvtsd2sh */
13516 :
13517 : case E_SFmode:
13518 : if (!register_operand (operands[1], E_V4SFmode)
13519 : || !
13520 : #line 8719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13521 : (TARGET_AVX512FP16))
13522 : return -1;
13523 : return 4823; /* avx512fp16_vcvtss2sh */
13524 :
13525 : default:
13526 : return -1;
13527 : }
13528 :
13529 : case REG:
13530 : case SUBREG:
13531 : case MEM:
13532 : switch (GET_MODE (operands[0]))
13533 : {
13534 : case E_V8HFmode:
13535 : if (!register_operand (operands[0], E_V8HFmode)
13536 : || GET_MODE (x2) != E_V8HFmode
13537 : || GET_MODE (x3) != E_V8HFmode
13538 : || GET_MODE (x4) != E_HFmode)
13539 : return -1;
13540 : operands[1] = x9;
13541 : x7 = XEXP (x2, 1);
13542 : operands[2] = x7;
13543 : if (!register_operand (operands[2], E_V8HFmode))
13544 : return -1;
13545 : switch (GET_MODE (operands[1]))
13546 : {
13547 : case E_SFmode:
13548 : if (!memory_operand (operands[1], E_SFmode)
13549 : || !
13550 : #line 8733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13551 : (TARGET_AVX512FP16))
13552 : return -1;
13553 : return 4827; /* avx512fp16_vcvtss2sh_mem */
13554 :
13555 : case E_DFmode:
13556 : if (!memory_operand (operands[1], E_DFmode)
13557 : || !
13558 : #line 8733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13559 : (TARGET_AVX512FP16))
13560 : return -1;
13561 : return 4829; /* avx512fp16_vcvtsd2sh_mem */
13562 :
13563 : default:
13564 : return -1;
13565 : }
13566 :
13567 : case E_V4SFmode:
13568 : if (!register_operand (operands[0], E_V4SFmode)
13569 : || GET_MODE (x2) != E_V4SFmode
13570 : || GET_MODE (x3) != E_V4SFmode)
13571 : return -1;
13572 : operands[2] = x9;
13573 : x7 = XEXP (x2, 1);
13574 : operands[1] = x7;
13575 : if (!register_operand (operands[1], E_V4SFmode))
13576 : return -1;
13577 : switch (GET_MODE (x4))
13578 : {
13579 : case E_V2SFmode:
13580 : if (!nonimmediate_operand (operands[2], E_V2DFmode)
13581 : || !
13582 : #line 10392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13583 : (TARGET_SSE2))
13584 : return -1;
13585 : return 5187; /* sse2_cvtsd2ss */
13586 :
13587 : case E_SFmode:
13588 : if (!nonimmediate_operand (operands[2], E_DFmode)
13589 : || !
13590 : #line 10413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13591 : (TARGET_SSE2))
13592 : return -1;
13593 : return 5191; /* *sse2_vd_cvtsd2ss */
13594 :
13595 : default:
13596 : return -1;
13597 : }
13598 :
13599 : default:
13600 : return -1;
13601 : }
13602 :
13603 : default:
13604 : return -1;
13605 : }
13606 :
13607 : case CONST_INT:
13608 : case CONST_WIDE_INT:
13609 : case CONST_POLY_INT:
13610 : case CONST_FIXED:
13611 : case CONST_DOUBLE:
13612 : case CONST_VECTOR:
13613 : case CONST:
13614 : case REG:
13615 : case SUBREG:
13616 : case MEM:
13617 : case LABEL_REF:
13618 : case SYMBOL_REF:
13619 : case HIGH:
13620 : return recog_152 (x1, insn, pnum_clobbers);
13621 :
13622 : case VEC_SELECT:
13623 : return recog_153 (x1, insn, pnum_clobbers);
13624 :
13625 : case ZERO_EXTEND:
13626 : switch (pattern317 (x2))
13627 : {
13628 : case 0:
13629 : if (!(
13630 : #line 12476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13631 : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) &&
13632 : #line 791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13633 : (TARGET_AVX512F)))
13634 : return -1;
13635 : return 5331; /* *vec_setv16si_0_zero_extendhi */
13636 :
13637 : case 1:
13638 : if (!
13639 : #line 12476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13640 : (TARGET_AVX512FP16 && ix86_pre_reload_split ()))
13641 : return -1;
13642 : return 5332; /* *vec_setv8si_0_zero_extendhi */
13643 :
13644 : case 2:
13645 : if (!
13646 : #line 12476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13647 : (TARGET_AVX512FP16 && ix86_pre_reload_split ()))
13648 : return -1;
13649 : return 5333; /* *vec_setv4si_0_zero_extendhi */
13650 :
13651 : case 3:
13652 : if (!(
13653 : #line 12476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13654 : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) &&
13655 : #line 792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13656 : (TARGET_AVX512F)))
13657 : return -1;
13658 : return 5334; /* *vec_setv8di_0_zero_extendhi */
13659 :
13660 : case 4:
13661 : if (!(
13662 : #line 12590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13663 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
13664 : #line 611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13665 : (TARGET_AVX512F)))
13666 : return -1;
13667 : return 5346; /* *vec_setv8di_0_zero_extendsi */
13668 :
13669 : case 5:
13670 : if (!
13671 : #line 12476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13672 : (TARGET_AVX512FP16 && ix86_pre_reload_split ()))
13673 : return -1;
13674 : return 5335; /* *vec_setv4di_0_zero_extendhi */
13675 :
13676 : case 6:
13677 : if (!(
13678 : #line 12590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13679 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
13680 : #line 611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13681 : (TARGET_AVX)))
13682 : return -1;
13683 : return 5347; /* *vec_setv4di_0_zero_extendsi */
13684 :
13685 : case 7:
13686 : if (!
13687 : #line 12476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13688 : (TARGET_AVX512FP16 && ix86_pre_reload_split ()))
13689 : return -1;
13690 : return 5336; /* *vec_setv2di_0_zero_extendhi */
13691 :
13692 : case 8:
13693 : if (!
13694 : #line 12590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13695 : (TARGET_SSE2 && ix86_pre_reload_split ()))
13696 : return -1;
13697 : return 5348; /* *vec_setv2di_0_zero_extendsi */
13698 :
13699 : default:
13700 : return -1;
13701 : }
13702 :
13703 : default:
13704 : return -1;
13705 : }
13706 : }
13707 :
13708 : int
13709 : recog_203 (rtx x1 ATTRIBUTE_UNUSED,
13710 : rtx_insn *insn ATTRIBUTE_UNUSED,
13711 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13712 : {
13713 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13714 : rtx x2;
13715 : int res ATTRIBUTE_UNUSED;
13716 : x2 = XEXP (x1, 1);
13717 : switch (pattern140 (x2))
13718 : {
13719 : case 0:
13720 : switch (pattern904 (x2))
13721 : {
13722 : case 0:
13723 : if (!(
13724 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13725 : (TARGET_AVX512F) && (
13726 : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13727 : (TARGET_AVX512FP16) &&
13728 : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13729 : (TARGET_AVX512VL))))
13730 : return -1;
13731 : return 4530; /* avx512fp16_vcvtuw2ph_v8hi_mask */
13732 :
13733 : case 1:
13734 : if (!(
13735 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13736 : (TARGET_AVX512F) && (
13737 : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13738 : (TARGET_AVX512FP16) &&
13739 : #line 684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13740 : (TARGET_AVX512VL))))
13741 : return -1;
13742 : return 4554; /* avx512fp16_vcvtudq2ph_v8si_mask */
13743 :
13744 : case 2:
13745 : if (!(
13746 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13747 : (TARGET_AVX512F) &&
13748 : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13749 : (TARGET_AVX512FP16)))
13750 : return -1;
13751 : return 4570; /* avx512fp16_vcvtuqq2ph_v8di_mask */
13752 :
13753 : default:
13754 : return -1;
13755 : }
13756 :
13757 : case 1:
13758 : switch (pattern905 (x2))
13759 : {
13760 : case 0:
13761 : if (!(
13762 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13763 : (TARGET_AVX512F) && (
13764 : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13765 : (TARGET_AVX512FP16) &&
13766 : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13767 : (TARGET_AVX512VL))))
13768 : return -1;
13769 : return 4538; /* avx512fp16_vcvtuw2ph_v16hi_mask */
13770 :
13771 : case 1:
13772 : if (!(
13773 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13774 : (TARGET_AVX512F) &&
13775 : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13776 : (TARGET_AVX512FP16)))
13777 : return -1;
13778 : return 4562; /* avx512fp16_vcvtudq2ph_v16si_mask */
13779 :
13780 : default:
13781 : return -1;
13782 : }
13783 :
13784 : case 2:
13785 : if (pattern141 (x2,
13786 : E_V32HFmode,
13787 : E_SImode,
13788 : E_V32HImode) != 0
13789 : || !(
13790 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13791 : (TARGET_AVX512F) &&
13792 : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13793 : (TARGET_AVX512FP16)))
13794 : return -1;
13795 : return 4546; /* avx512fp16_vcvtuw2ph_v32hi_mask */
13796 :
13797 : case 3:
13798 : if (pattern155 (x2,
13799 : E_V16SFmode,
13800 : E_V16SImode,
13801 : E_HImode) != 0
13802 : || !
13803 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13804 : (TARGET_AVX512F))
13805 : return -1;
13806 : return 4870; /* floatunsv16siv16sf2_mask */
13807 :
13808 : case 4:
13809 : switch (pattern906 (x2,
13810 : E_V8SFmode))
13811 : {
13812 : case 0:
13813 : if (!(
13814 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13815 : (TARGET_AVX512F) && (
13816 : #line 9042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13817 : (TARGET_AVX512F) &&
13818 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13819 : (TARGET_AVX512VL))))
13820 : return -1;
13821 : return 4874; /* floatunsv8siv8sf2_mask */
13822 :
13823 : case 1:
13824 : if (!(
13825 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13826 : (TARGET_AVX512F) &&
13827 : #line 9577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13828 : (TARGET_AVX512DQ && 1)))
13829 : return -1;
13830 : return 5022; /* floatunsv8div8sf2_mask */
13831 :
13832 : default:
13833 : return -1;
13834 : }
13835 :
13836 : case 5:
13837 : switch (pattern907 (x2,
13838 : E_V4SFmode))
13839 : {
13840 : case 0:
13841 : if (!(
13842 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13843 : (TARGET_AVX512F) && (
13844 : #line 9042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13845 : (TARGET_AVX512F) &&
13846 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13847 : (TARGET_AVX512VL))))
13848 : return -1;
13849 : return 4878; /* floatunsv4siv4sf2_mask */
13850 :
13851 : case 1:
13852 : if (!(
13853 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13854 : (TARGET_AVX512F) && (
13855 : #line 9577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13856 : (TARGET_AVX512DQ && 1) &&
13857 : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13858 : (TARGET_AVX512VL))))
13859 : return -1;
13860 : return 5027; /* floatunsv4div4sf2_mask */
13861 :
13862 : default:
13863 : return -1;
13864 : }
13865 :
13866 : case 6:
13867 : if (pattern142 (x2,
13868 : E_V8DFmode,
13869 : E_QImode) != 0)
13870 : return -1;
13871 : switch (GET_MODE (operands[1]))
13872 : {
13873 : case E_V8DImode:
13874 : if (!nonimmediate_operand (operands[1], E_V8DImode)
13875 : || !(
13876 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13877 : (TARGET_AVX512F) &&
13878 : #line 9563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13879 : (TARGET_AVX512DQ)))
13880 : return -1;
13881 : return 4998; /* floatunsv8div8df2_mask */
13882 :
13883 : case E_V8SImode:
13884 : if (!nonimmediate_operand (operands[1], E_V8SImode)
13885 : || !
13886 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13887 : (TARGET_AVX512F))
13888 : return -1;
13889 : return 5035; /* floatunsv8siv8df2_mask */
13890 :
13891 : default:
13892 : return -1;
13893 : }
13894 :
13895 : case 7:
13896 : if (pattern142 (x2,
13897 : E_V4DFmode,
13898 : E_QImode) != 0)
13899 : return -1;
13900 : switch (GET_MODE (operands[1]))
13901 : {
13902 : case E_V4DImode:
13903 : if (!nonimmediate_operand (operands[1], E_V4DImode)
13904 : || !(
13905 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13906 : (TARGET_AVX512F) && (
13907 : #line 9563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13908 : (TARGET_AVX512DQ) &&
13909 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13910 : (TARGET_AVX512VL))))
13911 : return -1;
13912 : return 5006; /* floatunsv4div4df2_mask */
13913 :
13914 : case E_V4SImode:
13915 : if (!nonimmediate_operand (operands[1], E_V4SImode)
13916 : || !(
13917 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13918 : (TARGET_AVX512F) && (
13919 : #line 9727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13920 : (TARGET_AVX512F) &&
13921 : #line 469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13922 : (TARGET_AVX512VL))))
13923 : return -1;
13924 : return 5037; /* floatunsv4siv4df2_mask */
13925 :
13926 : default:
13927 : return -1;
13928 : }
13929 :
13930 : case 8:
13931 : if (pattern155 (x2,
13932 : E_V2DFmode,
13933 : E_V2DImode,
13934 : E_QImode) != 0
13935 : || !(
13936 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13937 : (TARGET_AVX512F) && (
13938 : #line 9563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13939 : (TARGET_AVX512DQ) &&
13940 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13941 : (TARGET_AVX512VL))))
13942 : return -1;
13943 : return 5014; /* floatunsv2div2df2_mask */
13944 :
13945 : case 9:
13946 : if (!(
13947 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13948 : (TARGET_AVX512F) &&
13949 : #line 9739 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13950 : (TARGET_AVX512VL)))
13951 : return -1;
13952 : return 5039; /* floatunsv2siv2df2_mask */
13953 :
13954 : default:
13955 : return -1;
13956 : }
13957 : }
13958 :
13959 : int
13960 : recog_210 (rtx x1 ATTRIBUTE_UNUSED,
13961 : rtx_insn *insn ATTRIBUTE_UNUSED,
13962 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13963 : {
13964 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13965 : rtx x2, x3;
13966 : int res ATTRIBUTE_UNUSED;
13967 : x2 = XEXP (x1, 1);
13968 : x3 = XVECEXP (x2, 0, 0);
13969 : operands[1] = x3;
13970 : switch (GET_MODE (operands[0]))
13971 : {
13972 : case E_V16SFmode:
13973 : if (!memory_operand (operands[0], E_V16SFmode)
13974 : || GET_MODE (x2) != E_V16SFmode
13975 : || !register_operand (operands[1], E_V16SFmode)
13976 : || !(
13977 : #line 2050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13978 : (TARGET_SSE) &&
13979 : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13980 : (TARGET_AVX512F)))
13981 : return -1;
13982 : return 2623; /* avx512f_movntv16sf */
13983 :
13984 : case E_V8SFmode:
13985 : if (!memory_operand (operands[0], E_V8SFmode)
13986 : || GET_MODE (x2) != E_V8SFmode
13987 : || !register_operand (operands[1], E_V8SFmode)
13988 : || !(
13989 : #line 2050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13990 : (TARGET_SSE) &&
13991 : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13992 : (TARGET_AVX)))
13993 : return -1;
13994 : return 2624; /* avx_movntv8sf */
13995 :
13996 : case E_V4SFmode:
13997 : if (!memory_operand (operands[0], E_V4SFmode)
13998 : || GET_MODE (x2) != E_V4SFmode
13999 : || !register_operand (operands[1], E_V4SFmode)
14000 : || !
14001 : #line 2050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14002 : (TARGET_SSE))
14003 : return -1;
14004 : return 2625; /* sse_movntv4sf */
14005 :
14006 : case E_V8DFmode:
14007 : if (!memory_operand (operands[0], E_V8DFmode)
14008 : || GET_MODE (x2) != E_V8DFmode
14009 : || !register_operand (operands[1], E_V8DFmode)
14010 : || !(
14011 : #line 2050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14012 : (TARGET_SSE) &&
14013 : #line 383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14014 : (TARGET_AVX512F)))
14015 : return -1;
14016 : return 2626; /* avx512f_movntv8df */
14017 :
14018 : case E_V4DFmode:
14019 : if (!memory_operand (operands[0], E_V4DFmode)
14020 : || GET_MODE (x2) != E_V4DFmode
14021 : || !register_operand (operands[1], E_V4DFmode)
14022 : || !(
14023 : #line 2050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14024 : (TARGET_SSE) &&
14025 : #line 383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14026 : (TARGET_AVX)))
14027 : return -1;
14028 : return 2627; /* avx_movntv4df */
14029 :
14030 : case E_V2DFmode:
14031 : if (!memory_operand (operands[0], E_V2DFmode)
14032 : || GET_MODE (x2) != E_V2DFmode
14033 : || !register_operand (operands[1], E_V2DFmode)
14034 : || !(
14035 : #line 2050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14036 : (TARGET_SSE) &&
14037 : #line 384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14038 : (TARGET_SSE2)))
14039 : return -1;
14040 : return 2628; /* sse2_movntv2df */
14041 :
14042 : case E_V64QImode:
14043 : if (!memory_operand (operands[0], E_V64QImode)
14044 : || GET_MODE (x2) != E_V64QImode
14045 : || !register_operand (operands[1], E_V64QImode)
14046 : || !(
14047 : #line 2062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14048 : (TARGET_SSE2) &&
14049 : #line 590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14050 : (TARGET_AVX512F)))
14051 : return -1;
14052 : return 2629; /* avx512f_movntv64qi */
14053 :
14054 : case E_V32QImode:
14055 : if (!memory_operand (operands[0], E_V32QImode)
14056 : || GET_MODE (x2) != E_V32QImode
14057 : || !register_operand (operands[1], E_V32QImode)
14058 : || !(
14059 : #line 2062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14060 : (TARGET_SSE2) &&
14061 : #line 590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14062 : (TARGET_AVX)))
14063 : return -1;
14064 : return 2630; /* avx_movntv32qi */
14065 :
14066 : case E_V16QImode:
14067 : if (!memory_operand (operands[0], E_V16QImode)
14068 : || GET_MODE (x2) != E_V16QImode
14069 : || !register_operand (operands[1], E_V16QImode)
14070 : || !
14071 : #line 2062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14072 : (TARGET_SSE2))
14073 : return -1;
14074 : return 2631; /* sse2_movntv16qi */
14075 :
14076 : case E_V32HImode:
14077 : if (!memory_operand (operands[0], E_V32HImode)
14078 : || GET_MODE (x2) != E_V32HImode
14079 : || !register_operand (operands[1], E_V32HImode)
14080 : || !(
14081 : #line 2062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14082 : (TARGET_SSE2) &&
14083 : #line 591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14084 : (TARGET_AVX512F)))
14085 : return -1;
14086 : return 2632; /* avx512f_movntv32hi */
14087 :
14088 : case E_V16HImode:
14089 : if (!memory_operand (operands[0], E_V16HImode)
14090 : || GET_MODE (x2) != E_V16HImode
14091 : || !register_operand (operands[1], E_V16HImode)
14092 : || !(
14093 : #line 2062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14094 : (TARGET_SSE2) &&
14095 : #line 591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14096 : (TARGET_AVX)))
14097 : return -1;
14098 : return 2633; /* avx_movntv16hi */
14099 :
14100 : case E_V8HImode:
14101 : if (!memory_operand (operands[0], E_V8HImode)
14102 : || GET_MODE (x2) != E_V8HImode
14103 : || !register_operand (operands[1], E_V8HImode)
14104 : || !
14105 : #line 2062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14106 : (TARGET_SSE2))
14107 : return -1;
14108 : return 2634; /* sse2_movntv8hi */
14109 :
14110 : case E_V16SImode:
14111 : if (!memory_operand (operands[0], E_V16SImode)
14112 : || GET_MODE (x2) != E_V16SImode
14113 : || !register_operand (operands[1], E_V16SImode)
14114 : || !(
14115 : #line 2062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14116 : (TARGET_SSE2) &&
14117 : #line 592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14118 : (TARGET_AVX512F)))
14119 : return -1;
14120 : return 2635; /* avx512f_movntv16si */
14121 :
14122 : case E_V8SImode:
14123 : if (!memory_operand (operands[0], E_V8SImode)
14124 : || GET_MODE (x2) != E_V8SImode
14125 : || !register_operand (operands[1], E_V8SImode)
14126 : || !(
14127 : #line 2062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14128 : (TARGET_SSE2) &&
14129 : #line 592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14130 : (TARGET_AVX)))
14131 : return -1;
14132 : return 2636; /* avx_movntv8si */
14133 :
14134 : case E_V4SImode:
14135 : if (!memory_operand (operands[0], E_V4SImode)
14136 : || GET_MODE (x2) != E_V4SImode
14137 : || !register_operand (operands[1], E_V4SImode)
14138 : || !
14139 : #line 2062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14140 : (TARGET_SSE2))
14141 : return -1;
14142 : return 2637; /* sse2_movntv4si */
14143 :
14144 : case E_V8DImode:
14145 : if (!memory_operand (operands[0], E_V8DImode)
14146 : || GET_MODE (x2) != E_V8DImode
14147 : || !register_operand (operands[1], E_V8DImode)
14148 : || !(
14149 : #line 2062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14150 : (TARGET_SSE2) &&
14151 : #line 593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14152 : (TARGET_AVX512F)))
14153 : return -1;
14154 : return 2638; /* avx512f_movntv8di */
14155 :
14156 : case E_V4DImode:
14157 : if (!memory_operand (operands[0], E_V4DImode)
14158 : || GET_MODE (x2) != E_V4DImode
14159 : || !register_operand (operands[1], E_V4DImode)
14160 : || !(
14161 : #line 2062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14162 : (TARGET_SSE2) &&
14163 : #line 593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14164 : (TARGET_AVX)))
14165 : return -1;
14166 : return 2639; /* avx_movntv4di */
14167 :
14168 : case E_V2DImode:
14169 : if (!memory_operand (operands[0], E_V2DImode)
14170 : || GET_MODE (x2) != E_V2DImode
14171 : || !register_operand (operands[1], E_V2DImode)
14172 : || !
14173 : #line 2062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14174 : (TARGET_SSE2))
14175 : return -1;
14176 : return 2640; /* sse2_movntv2di */
14177 :
14178 : default:
14179 : return -1;
14180 : }
14181 : }
14182 :
14183 : int
14184 : recog_219 (rtx x1 ATTRIBUTE_UNUSED,
14185 : rtx_insn *insn ATTRIBUTE_UNUSED,
14186 : int *pnum_clobbers ATTRIBUTE_UNUSED)
14187 : {
14188 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14189 : rtx x2, x3;
14190 : int res ATTRIBUTE_UNUSED;
14191 : x2 = XEXP (x1, 1);
14192 : x3 = XVECEXP (x2, 0, 0);
14193 : operands[1] = x3;
14194 : switch (GET_MODE (operands[0]))
14195 : {
14196 : case E_V16SImode:
14197 : if (!register_operand (operands[0], E_V16SImode)
14198 : || GET_MODE (x2) != E_V16SImode
14199 : || !nonimmediate_operand (operands[1], E_V16SImode)
14200 : || !
14201 : #line 31001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14202 : (TARGET_AVX512CD))
14203 : return -1;
14204 : return 10176; /* *conflictv16si */
14205 :
14206 : case E_V8SImode:
14207 : if (!register_operand (operands[0], E_V8SImode)
14208 : || GET_MODE (x2) != E_V8SImode
14209 : || !nonimmediate_operand (operands[1], E_V8SImode)
14210 : || !(
14211 : #line 31001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14212 : (TARGET_AVX512CD) &&
14213 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14214 : (TARGET_AVX512VL)))
14215 : return -1;
14216 : return 10178; /* *conflictv8si */
14217 :
14218 : case E_V4SImode:
14219 : if (!register_operand (operands[0], E_V4SImode)
14220 : || GET_MODE (x2) != E_V4SImode
14221 : || !nonimmediate_operand (operands[1], E_V4SImode)
14222 : || !(
14223 : #line 31001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14224 : (TARGET_AVX512CD) &&
14225 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14226 : (TARGET_AVX512VL)))
14227 : return -1;
14228 : return 10180; /* *conflictv4si */
14229 :
14230 : case E_V8DImode:
14231 : if (!register_operand (operands[0], E_V8DImode)
14232 : || GET_MODE (x2) != E_V8DImode
14233 : || !nonimmediate_operand (operands[1], E_V8DImode)
14234 : || !
14235 : #line 31001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14236 : (TARGET_AVX512CD))
14237 : return -1;
14238 : return 10182; /* *conflictv8di */
14239 :
14240 : case E_V4DImode:
14241 : if (!register_operand (operands[0], E_V4DImode)
14242 : || GET_MODE (x2) != E_V4DImode
14243 : || !nonimmediate_operand (operands[1], E_V4DImode)
14244 : || !(
14245 : #line 31001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14246 : (TARGET_AVX512CD) &&
14247 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14248 : (TARGET_AVX512VL)))
14249 : return -1;
14250 : return 10184; /* *conflictv4di */
14251 :
14252 : case E_V2DImode:
14253 : if (!register_operand (operands[0], E_V2DImode)
14254 : || GET_MODE (x2) != E_V2DImode
14255 : || !nonimmediate_operand (operands[1], E_V2DImode)
14256 : || !(
14257 : #line 31001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14258 : (TARGET_AVX512CD) &&
14259 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14260 : (TARGET_AVX512VL)))
14261 : return -1;
14262 : return 10186; /* *conflictv2di */
14263 :
14264 : default:
14265 : return -1;
14266 : }
14267 : }
14268 :
14269 : int
14270 : recog_227 (rtx x1 ATTRIBUTE_UNUSED,
14271 : rtx_insn *insn ATTRIBUTE_UNUSED,
14272 : int *pnum_clobbers ATTRIBUTE_UNUSED)
14273 : {
14274 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14275 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
14276 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
14277 : rtx x18, x19;
14278 : int res ATTRIBUTE_UNUSED;
14279 : x2 = XEXP (x1, 1);
14280 : x3 = XVECEXP (x2, 0, 0);
14281 : x4 = XEXP (x3, 0);
14282 : x5 = XEXP (x4, 0);
14283 : switch (GET_CODE (x5))
14284 : {
14285 : case PLUS:
14286 : switch (pattern785 (x2))
14287 : {
14288 : case 0:
14289 : if (!(
14290 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14291 : (TARGET_AVX512F) && (
14292 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14293 : (TARGET_AVX512F) && (
14294 : #line 2750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14295 : (TARGET_SSE) &&
14296 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14297 : (TARGET_AVX512FP16)))))
14298 : return -1;
14299 : return 2833; /* avx512fp16_vmaddv8hf3_mask_round */
14300 :
14301 : case 1:
14302 : if (!(
14303 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14304 : (TARGET_AVX512F) && (
14305 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14306 : (TARGET_AVX512F) &&
14307 : #line 2750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14308 : (TARGET_SSE))))
14309 : return -1;
14310 : return 2841; /* sse_vmaddv4sf3_mask_round */
14311 :
14312 : case 2:
14313 : if (!(
14314 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14315 : (TARGET_AVX512F) && (
14316 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14317 : (TARGET_AVX512F) && (
14318 : #line 2750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14319 : (TARGET_SSE) &&
14320 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14321 : (TARGET_SSE2)))))
14322 : return -1;
14323 : return 2849; /* sse2_vmaddv2df3_mask_round */
14324 :
14325 : default:
14326 : return -1;
14327 : }
14328 :
14329 : case MINUS:
14330 : switch (pattern785 (x2))
14331 : {
14332 : case 0:
14333 : if (!(
14334 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14335 : (TARGET_AVX512F) && (
14336 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14337 : (TARGET_AVX512F) && (
14338 : #line 2750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14339 : (TARGET_SSE) &&
14340 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14341 : (TARGET_AVX512FP16)))))
14342 : return -1;
14343 : return 2837; /* avx512fp16_vmsubv8hf3_mask_round */
14344 :
14345 : case 1:
14346 : if (!(
14347 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14348 : (TARGET_AVX512F) && (
14349 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14350 : (TARGET_AVX512F) &&
14351 : #line 2750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14352 : (TARGET_SSE))))
14353 : return -1;
14354 : return 2845; /* sse_vmsubv4sf3_mask_round */
14355 :
14356 : case 2:
14357 : if (!(
14358 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14359 : (TARGET_AVX512F) && (
14360 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14361 : (TARGET_AVX512F) && (
14362 : #line 2750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14363 : (TARGET_SSE) &&
14364 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14365 : (TARGET_SSE2)))))
14366 : return -1;
14367 : return 2853; /* sse2_vmsubv2df3_mask_round */
14368 :
14369 : default:
14370 : return -1;
14371 : }
14372 :
14373 : case MULT:
14374 : switch (pattern785 (x2))
14375 : {
14376 : case 0:
14377 : if (!(
14378 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14379 : (TARGET_AVX512F) && (
14380 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14381 : (TARGET_AVX512F) && (
14382 : #line 2841 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14383 : (TARGET_SSE) &&
14384 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14385 : (TARGET_AVX512FP16)))))
14386 : return -1;
14387 : return 2899; /* avx512fp16_vmmulv8hf3_mask_round */
14388 :
14389 : case 1:
14390 : if (!(
14391 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14392 : (TARGET_AVX512F) && (
14393 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14394 : (TARGET_AVX512F) &&
14395 : #line 2841 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14396 : (TARGET_SSE))))
14397 : return -1;
14398 : return 2907; /* sse_vmmulv4sf3_mask_round */
14399 :
14400 : case 2:
14401 : if (!(
14402 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14403 : (TARGET_AVX512F) && (
14404 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14405 : (TARGET_AVX512F) && (
14406 : #line 2841 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14407 : (TARGET_SSE) &&
14408 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14409 : (TARGET_SSE2)))))
14410 : return -1;
14411 : return 2915; /* sse2_vmmulv2df3_mask_round */
14412 :
14413 : default:
14414 : return -1;
14415 : }
14416 :
14417 : case DIV:
14418 : switch (pattern785 (x2))
14419 : {
14420 : case 0:
14421 : if (!(
14422 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14423 : (TARGET_AVX512F) && (
14424 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14425 : (TARGET_AVX512F) && (
14426 : #line 2841 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14427 : (TARGET_SSE) &&
14428 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14429 : (TARGET_AVX512FP16)))))
14430 : return -1;
14431 : return 2903; /* avx512fp16_vmdivv8hf3_mask_round */
14432 :
14433 : case 1:
14434 : if (!(
14435 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14436 : (TARGET_AVX512F) && (
14437 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14438 : (TARGET_AVX512F) &&
14439 : #line 2841 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14440 : (TARGET_SSE))))
14441 : return -1;
14442 : return 2911; /* sse_vmdivv4sf3_mask_round */
14443 :
14444 : case 2:
14445 : if (!(
14446 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14447 : (TARGET_AVX512F) && (
14448 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14449 : (TARGET_AVX512F) && (
14450 : #line 2841 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14451 : (TARGET_SSE) &&
14452 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14453 : (TARGET_SSE2)))))
14454 : return -1;
14455 : return 2919; /* sse2_vmdivv2df3_mask_round */
14456 :
14457 : default:
14458 : return -1;
14459 : }
14460 :
14461 : case SQRT:
14462 : x6 = XEXP (x3, 2);
14463 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
14464 : return -1;
14465 : x7 = XEXP (x5, 0);
14466 : operands[1] = x7;
14467 : x8 = XEXP (x4, 1);
14468 : operands[3] = x8;
14469 : x9 = XEXP (x4, 2);
14470 : operands[4] = x9;
14471 : if (!register_operand (operands[4], E_QImode))
14472 : return -1;
14473 : x10 = XEXP (x3, 1);
14474 : operands[2] = x10;
14475 : x11 = XVECEXP (x2, 0, 1);
14476 : operands[5] = x11;
14477 : if (!const_4_or_8_to_11_operand (operands[5], E_SImode))
14478 : return -1;
14479 : switch (GET_MODE (operands[0]))
14480 : {
14481 : case E_V8HFmode:
14482 : if (pattern1562 (x2,
14483 : E_V8HFmode) != 0
14484 : || !(
14485 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14486 : (TARGET_AVX512F) && (
14487 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14488 : (TARGET_AVX512F) && (
14489 : #line 3130 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14490 : (TARGET_SSE) &&
14491 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14492 : (TARGET_AVX512FP16)))))
14493 : return -1;
14494 : return 3000; /* avx512fp16_vmsqrtv8hf2_mask_round */
14495 :
14496 : case E_V4SFmode:
14497 : if (pattern1562 (x2,
14498 : E_V4SFmode) != 0
14499 : || !(
14500 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14501 : (TARGET_AVX512F) && (
14502 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14503 : (TARGET_AVX512F) &&
14504 : #line 3130 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14505 : (TARGET_SSE))))
14506 : return -1;
14507 : return 3004; /* sse_vmsqrtv4sf2_mask_round */
14508 :
14509 : case E_V2DFmode:
14510 : if (pattern1562 (x2,
14511 : E_V2DFmode) != 0
14512 : || !(
14513 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14514 : (TARGET_AVX512F) && (
14515 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14516 : (TARGET_AVX512F) && (
14517 : #line 3130 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14518 : (TARGET_SSE) &&
14519 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14520 : (TARGET_SSE2)))))
14521 : return -1;
14522 : return 3008; /* sse2_vmsqrtv2df2_mask_round */
14523 :
14524 : default:
14525 : return -1;
14526 : }
14527 :
14528 : case VEC_DUPLICATE:
14529 : x11 = XVECEXP (x2, 0, 1);
14530 : operands[5] = x11;
14531 : x7 = XEXP (x5, 0);
14532 : switch (GET_CODE (x7))
14533 : {
14534 : case SQRT:
14535 : x6 = XEXP (x3, 2);
14536 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
14537 : return -1;
14538 : x12 = XEXP (x7, 0);
14539 : operands[1] = x12;
14540 : x8 = XEXP (x4, 1);
14541 : operands[3] = x8;
14542 : x9 = XEXP (x4, 2);
14543 : operands[4] = x9;
14544 : if (!register_operand (operands[4], E_QImode))
14545 : return -1;
14546 : x10 = XEXP (x3, 1);
14547 : operands[2] = x10;
14548 : if (!const_4_or_8_to_11_operand (operands[5], E_SImode))
14549 : return -1;
14550 : switch (GET_MODE (operands[0]))
14551 : {
14552 : case E_V8HFmode:
14553 : if (pattern1600 (x2,
14554 : E_V8HFmode,
14555 : E_HFmode) != 0
14556 : || !(
14557 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14558 : (TARGET_AVX512F) && (
14559 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14560 : (TARGET_AVX512F) && (
14561 : #line 3150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14562 : (TARGET_SSE) &&
14563 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14564 : (TARGET_AVX512FP16)))))
14565 : return -1;
14566 : return 3012; /* *avx512fp16_vmsqrtv8hf2_mask_round */
14567 :
14568 : case E_V4SFmode:
14569 : if (pattern1600 (x2,
14570 : E_V4SFmode,
14571 : E_SFmode) != 0
14572 : || !(
14573 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14574 : (TARGET_AVX512F) && (
14575 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14576 : (TARGET_AVX512F) &&
14577 : #line 3150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14578 : (TARGET_SSE))))
14579 : return -1;
14580 : return 3016; /* *sse_vmsqrtv4sf2_mask_round */
14581 :
14582 : case E_V2DFmode:
14583 : if (pattern1600 (x2,
14584 : E_V2DFmode,
14585 : E_DFmode) != 0
14586 : || !(
14587 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14588 : (TARGET_AVX512F) && (
14589 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14590 : (TARGET_AVX512F) && (
14591 : #line 3150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14592 : (TARGET_SSE) &&
14593 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14594 : (TARGET_SSE2)))))
14595 : return -1;
14596 : return 3020; /* *sse2_vmsqrtv2df2_mask_round */
14597 :
14598 : default:
14599 : return -1;
14600 : }
14601 :
14602 : case FLOAT_EXTEND:
14603 : x12 = XEXP (x7, 0);
14604 : if (GET_CODE (x12) != VEC_SELECT
14605 : || GET_MODE (x12) != E_HFmode
14606 : || pattern1230 (x3) != 0)
14607 : return -1;
14608 : x13 = XEXP (x12, 0);
14609 : operands[1] = x13;
14610 : if (!register_operand (operands[1], E_V8HFmode))
14611 : return -1;
14612 : x8 = XEXP (x4, 1);
14613 : operands[3] = x8;
14614 : x9 = XEXP (x4, 2);
14615 : operands[4] = x9;
14616 : if (!register_operand (operands[4], E_QImode))
14617 : return -1;
14618 : x10 = XEXP (x3, 1);
14619 : operands[2] = x10;
14620 : if (!const48_operand (operands[5], E_SImode))
14621 : return -1;
14622 : switch (GET_MODE (operands[0]))
14623 : {
14624 : case E_V2DFmode:
14625 : if (pattern1790 (x2,
14626 : E_V2DFmode,
14627 : E_DFmode) != 0
14628 : || !(
14629 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14630 : (TARGET_AVX512F) && (
14631 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14632 : (TARGET_AVX512F) &&
14633 : #line 8689 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14634 : (TARGET_AVX512FP16))))
14635 : return -1;
14636 : return 4810; /* avx512fp16_vcvtsh2sd_mask_round */
14637 :
14638 : case E_V4SFmode:
14639 : if (pattern1790 (x2,
14640 : E_V4SFmode,
14641 : E_SFmode) != 0
14642 : || !(
14643 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14644 : (TARGET_AVX512F) && (
14645 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14646 : (TARGET_AVX512F) &&
14647 : #line 8689 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14648 : (TARGET_AVX512FP16))))
14649 : return -1;
14650 : return 4814; /* avx512fp16_vcvtsh2ss_mask_round */
14651 :
14652 : default:
14653 : return -1;
14654 : }
14655 :
14656 : case FLOAT_TRUNCATE:
14657 : if (!const_4_or_8_to_11_operand (operands[5], E_SImode))
14658 : return -1;
14659 : x12 = XEXP (x7, 0);
14660 : switch (GET_CODE (x12))
14661 : {
14662 : case VEC_SELECT:
14663 : if (pattern1230 (x3) != 0
14664 : || pattern1483 (x2,
14665 : E_HFmode,
14666 : E_V8HFmode) != 0)
14667 : return -1;
14668 : x13 = XEXP (x12, 0);
14669 : operands[1] = x13;
14670 : x8 = XEXP (x4, 1);
14671 : operands[3] = x8;
14672 : if (!nonimm_or_0_operand (operands[3], E_V8HFmode))
14673 : return -1;
14674 : x9 = XEXP (x4, 2);
14675 : operands[4] = x9;
14676 : if (!register_operand (operands[4], E_QImode))
14677 : return -1;
14678 : x10 = XEXP (x3, 1);
14679 : operands[2] = x10;
14680 : if (!register_operand (operands[2], E_V8HFmode))
14681 : return -1;
14682 : switch (GET_MODE (x12))
14683 : {
14684 : case E_DFmode:
14685 : if (!register_operand (operands[1], E_V2DFmode)
14686 : || !(
14687 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14688 : (TARGET_AVX512F) && (
14689 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14690 : (TARGET_AVX512F) &&
14691 : #line 8719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14692 : (TARGET_AVX512FP16))))
14693 : return -1;
14694 : return 4822; /* avx512fp16_vcvtsd2sh_mask_round */
14695 :
14696 : case E_SFmode:
14697 : if (!register_operand (operands[1], E_V4SFmode)
14698 : || !(
14699 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14700 : (TARGET_AVX512F) && (
14701 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14702 : (TARGET_AVX512F) &&
14703 : #line 8719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14704 : (TARGET_AVX512FP16))))
14705 : return -1;
14706 : return 4826; /* avx512fp16_vcvtss2sh_mask_round */
14707 :
14708 : default:
14709 : return -1;
14710 : }
14711 :
14712 : case REG:
14713 : case SUBREG:
14714 : case MEM:
14715 : operands[2] = x12;
14716 : if (!nonimmediate_operand (operands[2], E_V2DFmode))
14717 : return -1;
14718 : x9 = XEXP (x4, 2);
14719 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
14720 : || pattern1483 (x2,
14721 : E_V2SFmode,
14722 : E_V4SFmode) != 0)
14723 : return -1;
14724 : x8 = XEXP (x4, 1);
14725 : operands[1] = x8;
14726 : if (!register_operand (operands[1], E_V4SFmode))
14727 : return -1;
14728 : x10 = XEXP (x3, 1);
14729 : operands[3] = x10;
14730 : if (!nonimm_or_0_operand (operands[3], E_V4SFmode))
14731 : return -1;
14732 : x6 = XEXP (x3, 2);
14733 : operands[4] = x6;
14734 : if (!register_operand (operands[4], E_QImode)
14735 : || !(
14736 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14737 : (TARGET_AVX512F) && (
14738 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14739 : (TARGET_AVX512F) &&
14740 : #line 10392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14741 : (TARGET_SSE2))))
14742 : return -1;
14743 : return 5190; /* sse2_cvtsd2ss_mask_round */
14744 :
14745 : default:
14746 : return -1;
14747 : }
14748 :
14749 : default:
14750 : return -1;
14751 : }
14752 :
14753 : case SMAX:
14754 : switch (pattern786 (x2))
14755 : {
14756 : case 0:
14757 : if (!(
14758 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14759 : (TARGET_AVX512F) && (
14760 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14761 : (TARGET_AVX512F) && (
14762 : #line 3568 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14763 : (TARGET_SSE) &&
14764 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14765 : (TARGET_AVX512FP16)))))
14766 : return -1;
14767 : return 3177; /* *avx512fp16_vmsmaxv8hf3_mask_round */
14768 :
14769 : case 1:
14770 : if (!(
14771 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14772 : (TARGET_AVX512F) && (
14773 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14774 : (TARGET_AVX512F) &&
14775 : #line 3568 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14776 : (TARGET_SSE))))
14777 : return -1;
14778 : return 3185; /* *sse_vmsmaxv4sf3_mask_round */
14779 :
14780 : case 2:
14781 : if (!(
14782 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14783 : (TARGET_AVX512F) && (
14784 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14785 : (TARGET_AVX512F) && (
14786 : #line 3568 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14787 : (TARGET_SSE) &&
14788 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14789 : (TARGET_SSE2)))))
14790 : return -1;
14791 : return 3193; /* *sse2_vmsmaxv2df3_mask_round */
14792 :
14793 : default:
14794 : return -1;
14795 : }
14796 :
14797 : case SMIN:
14798 : switch (pattern786 (x2))
14799 : {
14800 : case 0:
14801 : if (!(
14802 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14803 : (TARGET_AVX512F) && (
14804 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14805 : (TARGET_AVX512F) && (
14806 : #line 3568 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14807 : (TARGET_SSE) &&
14808 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14809 : (TARGET_AVX512FP16)))))
14810 : return -1;
14811 : return 3181; /* *avx512fp16_vmsminv8hf3_mask_round */
14812 :
14813 : case 1:
14814 : if (!(
14815 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14816 : (TARGET_AVX512F) && (
14817 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14818 : (TARGET_AVX512F) &&
14819 : #line 3568 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14820 : (TARGET_SSE))))
14821 : return -1;
14822 : return 3189; /* *sse_vmsminv4sf3_mask_round */
14823 :
14824 : case 2:
14825 : if (!(
14826 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14827 : (TARGET_AVX512F) && (
14828 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14829 : (TARGET_AVX512F) && (
14830 : #line 3568 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14831 : (TARGET_SSE) &&
14832 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14833 : (TARGET_SSE2)))))
14834 : return -1;
14835 : return 3197; /* *sse2_vmsminv2df3_mask_round */
14836 :
14837 : default:
14838 : return -1;
14839 : }
14840 :
14841 : case UNSPEC:
14842 : switch (XVECLEN (x5, 0))
14843 : {
14844 : case 2:
14845 : x6 = XEXP (x3, 2);
14846 : if (GET_CODE (x6) != CONST_INT)
14847 : return -1;
14848 : switch (XINT (x5, 1))
14849 : {
14850 : case 64:
14851 : switch (pattern1142 (x2))
14852 : {
14853 : case 0:
14854 : if (!(
14855 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14856 : (TARGET_AVX512F) && (
14857 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14858 : (TARGET_AVX512F) && (
14859 : #line 3588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14860 : (TARGET_SSE) &&
14861 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14862 : (TARGET_AVX512FP16)))))
14863 : return -1;
14864 : return 3201; /* avx512fp16_ieee_vmmaxv8hf3_mask_round */
14865 :
14866 : case 1:
14867 : if (!(
14868 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14869 : (TARGET_AVX512F) && (
14870 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14871 : (TARGET_AVX512F) &&
14872 : #line 3588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14873 : (TARGET_SSE))))
14874 : return -1;
14875 : return 3209; /* sse_ieee_vmmaxv4sf3_mask_round */
14876 :
14877 : case 2:
14878 : if (!(
14879 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14880 : (TARGET_AVX512F) && (
14881 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14882 : (TARGET_AVX512F) && (
14883 : #line 3588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14884 : (TARGET_SSE) &&
14885 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14886 : (TARGET_SSE2)))))
14887 : return -1;
14888 : return 3217; /* sse2_ieee_vmmaxv2df3_mask_round */
14889 :
14890 : default:
14891 : return -1;
14892 : }
14893 :
14894 : case 63:
14895 : switch (pattern1142 (x2))
14896 : {
14897 : case 0:
14898 : if (!(
14899 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14900 : (TARGET_AVX512F) && (
14901 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14902 : (TARGET_AVX512F) && (
14903 : #line 3588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14904 : (TARGET_SSE) &&
14905 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14906 : (TARGET_AVX512FP16)))))
14907 : return -1;
14908 : return 3205; /* avx512fp16_ieee_vmminv8hf3_mask_round */
14909 :
14910 : case 1:
14911 : if (!(
14912 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14913 : (TARGET_AVX512F) && (
14914 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14915 : (TARGET_AVX512F) &&
14916 : #line 3588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14917 : (TARGET_SSE))))
14918 : return -1;
14919 : return 3213; /* sse_ieee_vmminv4sf3_mask_round */
14920 :
14921 : case 2:
14922 : if (!(
14923 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14924 : (TARGET_AVX512F) && (
14925 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14926 : (TARGET_AVX512F) && (
14927 : #line 3588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14928 : (TARGET_SSE) &&
14929 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14930 : (TARGET_SSE2)))))
14931 : return -1;
14932 : return 3221; /* sse2_ieee_vmminv2df3_mask_round */
14933 :
14934 : default:
14935 : return -1;
14936 : }
14937 :
14938 : case 222:
14939 : if (pattern1143 (x2) != 0
14940 : || !(
14941 : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14942 : (TARGET_AVX512F) && (
14943 : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14944 : (TARGET_AVX512F) &&
14945 : #line 7926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14946 : (TARGET_AVX512FP16))))
14947 : return -1;
14948 : return 4447; /* avx512fp16_fmulcsh_v8hf_mask_round */
14949 :
14950 : case 223:
14951 : if (pattern1143 (x2) != 0
14952 : || !(
14953 : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14954 : (TARGET_AVX512F) && (
14955 : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14956 : (TARGET_AVX512F) &&
14957 : #line 7926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14958 : (TARGET_AVX512FP16))))
14959 : return -1;
14960 : return 4451; /* avx512fp16_fcmulcsh_v8hf_mask_round */
14961 :
14962 : case 59:
14963 : if (XWINT (x6, 0) != 1L)
14964 : return -1;
14965 : x14 = XVECEXP (x5, 0, 0);
14966 : operands[1] = x14;
14967 : x15 = XVECEXP (x5, 0, 1);
14968 : operands[2] = x15;
14969 : x8 = XEXP (x4, 1);
14970 : operands[3] = x8;
14971 : x9 = XEXP (x4, 2);
14972 : operands[4] = x9;
14973 : if (!register_operand (operands[4], E_QImode))
14974 : return -1;
14975 : x11 = XVECEXP (x2, 0, 1);
14976 : operands[5] = x11;
14977 : if (!const_4_or_8_to_11_operand (operands[5], E_SImode))
14978 : return -1;
14979 : switch (pattern1667 (x2))
14980 : {
14981 : case 0:
14982 : if (!(
14983 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14984 : (TARGET_AVX512F) && (
14985 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14986 : (TARGET_AVX512F) && (
14987 : #line 14013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14988 : (TARGET_AVX512F) &&
14989 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14990 : (TARGET_AVX512FP16)))))
14991 : return -1;
14992 : return 5439; /* avx512f_vmscalefv8hf_mask_round */
14993 :
14994 : case 1:
14995 : if (!
14996 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14997 : (TARGET_AVX512F))
14998 : return -1;
14999 : return 5443; /* avx512f_vmscalefv4sf_mask_round */
15000 :
15001 : case 2:
15002 : if (!(
15003 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15004 : (TARGET_AVX512F) && (
15005 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15006 : (TARGET_AVX512F) && (
15007 : #line 14013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15008 : (TARGET_AVX512F) &&
15009 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15010 : (TARGET_SSE2)))))
15011 : return -1;
15012 : return 5447; /* avx512f_vmscalefv2df_mask_round */
15013 :
15014 : default:
15015 : return -1;
15016 : }
15017 :
15018 : case 166:
15019 : if (XWINT (x6, 0) != 1L)
15020 : return -1;
15021 : x14 = XVECEXP (x5, 0, 0);
15022 : operands[1] = x14;
15023 : x15 = XVECEXP (x5, 0, 1);
15024 : operands[2] = x15;
15025 : x8 = XEXP (x4, 1);
15026 : operands[3] = x8;
15027 : x9 = XEXP (x4, 2);
15028 : operands[4] = x9;
15029 : if (!register_operand (operands[4], E_QImode))
15030 : return -1;
15031 : x11 = XVECEXP (x2, 0, 1);
15032 : operands[5] = x11;
15033 : if (!const48_operand (operands[5], E_SImode))
15034 : return -1;
15035 : switch (pattern1667 (x2))
15036 : {
15037 : case 0:
15038 : if (!(
15039 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15040 : (TARGET_AVX512F) && (
15041 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15042 : (TARGET_AVX512F) && (
15043 : #line 14446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15044 : (TARGET_AVX512F) &&
15045 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15046 : (TARGET_AVX512FP16)))))
15047 : return -1;
15048 : return 7101; /* avx512f_sgetexpv8hf_mask_round */
15049 :
15050 : case 1:
15051 : if (!
15052 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15053 : (TARGET_AVX512F))
15054 : return -1;
15055 : return 7105; /* avx512f_sgetexpv4sf_mask_round */
15056 :
15057 : case 2:
15058 : if (!(
15059 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15060 : (TARGET_AVX512F) && (
15061 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15062 : (TARGET_AVX512F) && (
15063 : #line 14446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15064 : (TARGET_AVX512F) &&
15065 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15066 : (TARGET_SSE2)))))
15067 : return -1;
15068 : return 7109; /* avx512f_sgetexpv2df_mask_round */
15069 :
15070 : default:
15071 : return -1;
15072 : }
15073 :
15074 : case 95:
15075 : if (XWINT (x6, 0) != 1L)
15076 : return -1;
15077 : x14 = XVECEXP (x5, 0, 0);
15078 : operands[2] = x14;
15079 : x15 = XVECEXP (x5, 0, 1);
15080 : operands[3] = x15;
15081 : if (!const_0_to_255_operand (operands[3], E_SImode))
15082 : return -1;
15083 : x8 = XEXP (x4, 1);
15084 : operands[4] = x8;
15085 : x9 = XEXP (x4, 2);
15086 : operands[5] = x9;
15087 : if (!register_operand (operands[5], E_QImode))
15088 : return -1;
15089 : x10 = XEXP (x3, 1);
15090 : operands[1] = x10;
15091 : x11 = XVECEXP (x2, 0, 1);
15092 : operands[6] = x11;
15093 : if (!const48_operand (operands[6], E_SImode))
15094 : return -1;
15095 : switch (GET_MODE (operands[0]))
15096 : {
15097 : case E_V8HFmode:
15098 : if (pattern1756 (x2,
15099 : E_V8HFmode) != 0
15100 : || !(
15101 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15102 : (TARGET_AVX512F) && (
15103 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15104 : (TARGET_AVX512F) && (
15105 : #line 14641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15106 : (TARGET_AVX512F) &&
15107 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15108 : (TARGET_AVX512FP16)))))
15109 : return -1;
15110 : return 7217; /* avx512f_rndscalev8hf_mask_round */
15111 :
15112 : case E_V4SFmode:
15113 : if (pattern1756 (x2,
15114 : E_V4SFmode) != 0
15115 : || !
15116 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15117 : (TARGET_AVX512F))
15118 : return -1;
15119 : return 7221; /* avx512f_rndscalev4sf_mask_round */
15120 :
15121 : case E_V2DFmode:
15122 : if (pattern1756 (x2,
15123 : E_V2DFmode) != 0
15124 : || !(
15125 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15126 : (TARGET_AVX512F) && (
15127 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15128 : (TARGET_AVX512F) && (
15129 : #line 14641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15130 : (TARGET_AVX512F) &&
15131 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15132 : (TARGET_SSE2)))))
15133 : return -1;
15134 : return 7225; /* avx512f_rndscalev2df_mask_round */
15135 :
15136 : default:
15137 : return -1;
15138 : }
15139 :
15140 : default:
15141 : return -1;
15142 : }
15143 :
15144 : case 3:
15145 : x6 = XEXP (x3, 2);
15146 : if (GET_CODE (x6) != CONST_INT)
15147 : return -1;
15148 : x14 = XVECEXP (x5, 0, 0);
15149 : operands[1] = x14;
15150 : x15 = XVECEXP (x5, 0, 1);
15151 : operands[2] = x15;
15152 : x16 = XVECEXP (x5, 0, 2);
15153 : operands[3] = x16;
15154 : switch (XINT (x5, 1))
15155 : {
15156 : case 193:
15157 : switch (pattern1407 (x2))
15158 : {
15159 : case 0:
15160 : if (!(
15161 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15162 : (TARGET_AVX512F) && (
15163 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15164 : (TARGET_AVX512F) && (
15165 : #line 4310 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15166 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8HFmode))) &&
15167 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15168 : (TARGET_AVX512FP16)))))
15169 : return -1;
15170 : return 3275; /* reducesv8hf_mask_round */
15171 :
15172 : case 1:
15173 : if (!(
15174 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15175 : (TARGET_AVX512F) && (
15176 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15177 : (TARGET_AVX512F) &&
15178 : #line 4310 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15179 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4SFmode))))))
15180 : return -1;
15181 : return 3279; /* reducesv4sf_mask_round */
15182 :
15183 : case 2:
15184 : if (!(
15185 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15186 : (TARGET_AVX512F) && (
15187 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15188 : (TARGET_AVX512F) && (
15189 : #line 4310 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15190 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V2DFmode))) &&
15191 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15192 : (TARGET_SSE2)))))
15193 : return -1;
15194 : return 3283; /* reducesv2df_mask_round */
15195 :
15196 : default:
15197 : return -1;
15198 : }
15199 :
15200 : case 218:
15201 : switch (pattern1408 (x2))
15202 : {
15203 : case 0:
15204 : if (!(
15205 : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15206 : (TARGET_AVX512F) && (
15207 : #line 371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15208 : (TARGET_AVX512F) &&
15209 : #line 7891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15210 : (TARGET_AVX512FP16))))
15211 : return -1;
15212 : return 4435; /* avx512fp16_fma_fmaddcsh_v8hf_maskz_round */
15213 :
15214 : case 1:
15215 : if (!(
15216 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15217 : (TARGET_AVX512F) &&
15218 : #line 7911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15219 : (TARGET_AVX512FP16)))
15220 : return -1;
15221 : return 4441; /* avx512fp16_fmaddcsh_v8hf_mask_round */
15222 :
15223 : default:
15224 : return -1;
15225 : }
15226 :
15227 : case 220:
15228 : switch (pattern1408 (x2))
15229 : {
15230 : case 0:
15231 : if (!(
15232 : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15233 : (TARGET_AVX512F) && (
15234 : #line 371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15235 : (TARGET_AVX512F) &&
15236 : #line 7891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15237 : (TARGET_AVX512FP16))))
15238 : return -1;
15239 : return 4439; /* avx512fp16_fma_fcmaddcsh_v8hf_maskz_round */
15240 :
15241 : case 1:
15242 : if (!(
15243 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15244 : (TARGET_AVX512F) &&
15245 : #line 7911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15246 : (TARGET_AVX512FP16)))
15247 : return -1;
15248 : return 4443; /* avx512fp16_fcmaddcsh_v8hf_mask_round */
15249 :
15250 : default:
15251 : return -1;
15252 : }
15253 :
15254 : case 195:
15255 : if (XWINT (x6, 0) != 1L
15256 : || !const_0_to_15_operand (operands[3], E_SImode))
15257 : return -1;
15258 : x8 = XEXP (x4, 1);
15259 : operands[4] = x8;
15260 : x9 = XEXP (x4, 2);
15261 : operands[5] = x9;
15262 : if (!register_operand (operands[5], E_QImode))
15263 : return -1;
15264 : x11 = XVECEXP (x2, 0, 1);
15265 : operands[6] = x11;
15266 : if (!const48_operand (operands[6], E_SImode))
15267 : return -1;
15268 : x10 = XEXP (x3, 1);
15269 : if (!rtx_equal_p (x10, operands[1]))
15270 : return -1;
15271 : switch (GET_MODE (operands[0]))
15272 : {
15273 : case E_V4SFmode:
15274 : if (pattern1405 (x2,
15275 : E_V4SFmode) != 0
15276 : || !(
15277 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15278 : (TARGET_AVX512F) && (
15279 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15280 : (TARGET_AVX512F) &&
15281 : #line 30888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15282 : (TARGET_AVX512DQ))))
15283 : return -1;
15284 : return 10081; /* avx512dq_rangesv4sf_mask_round */
15285 :
15286 : case E_V2DFmode:
15287 : if (pattern1405 (x2,
15288 : E_V2DFmode) != 0
15289 : || !(
15290 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15291 : (TARGET_AVX512F) && (
15292 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15293 : (TARGET_AVX512F) && (
15294 : #line 30888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15295 : (TARGET_AVX512DQ) &&
15296 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15297 : (TARGET_SSE2)))))
15298 : return -1;
15299 : return 10085; /* avx512dq_rangesv2df_mask_round */
15300 :
15301 : default:
15302 : return -1;
15303 : }
15304 :
15305 : case 167:
15306 : if (XWINT (x6, 0) != 1L
15307 : || !const_0_to_15_operand (operands[3], E_SImode))
15308 : return -1;
15309 : switch (pattern1406 (x2))
15310 : {
15311 : case 0:
15312 : if (!(
15313 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15314 : (TARGET_AVX512F) && (
15315 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15316 : (TARGET_AVX512F) && (
15317 : #line 30956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15318 : (TARGET_AVX512F) &&
15319 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15320 : (TARGET_AVX512FP16)))))
15321 : return -1;
15322 : return 10149; /* avx512f_vgetmantv8hf_mask_round */
15323 :
15324 : case 1:
15325 : if (!
15326 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15327 : (TARGET_AVX512F))
15328 : return -1;
15329 : return 10153; /* avx512f_vgetmantv4sf_mask_round */
15330 :
15331 : case 2:
15332 : if (!(
15333 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15334 : (TARGET_AVX512F) && (
15335 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15336 : (TARGET_AVX512F) && (
15337 : #line 30956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15338 : (TARGET_AVX512F) &&
15339 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15340 : (TARGET_SSE2)))))
15341 : return -1;
15342 : return 10157; /* avx512f_vgetmantv2df_mask_round */
15343 :
15344 : default:
15345 : return -1;
15346 : }
15347 :
15348 : case 279:
15349 : switch (pattern1407 (x2))
15350 : {
15351 : case 0:
15352 : if (!(
15353 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15354 : (TARGET_AVX512F) && (
15355 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15356 : (TARGET_AVX512F) && (
15357 : #line 33741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15358 : (TARGET_AVX10_2) &&
15359 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15360 : (TARGET_AVX512FP16)))))
15361 : return -1;
15362 : return 11047; /* avx10_2_minmaxsv8hf_mask_round */
15363 :
15364 : case 1:
15365 : if (!(
15366 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15367 : (TARGET_AVX512F) && (
15368 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15369 : (TARGET_AVX512F) &&
15370 : #line 33741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15371 : (TARGET_AVX10_2))))
15372 : return -1;
15373 : return 11051; /* avx10_2_minmaxsv4sf_mask_round */
15374 :
15375 : case 2:
15376 : if (!(
15377 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15378 : (TARGET_AVX512F) && (
15379 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15380 : (TARGET_AVX512F) && (
15381 : #line 33741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15382 : (TARGET_AVX10_2) &&
15383 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15384 : (TARGET_SSE2)))))
15385 : return -1;
15386 : return 11055; /* avx10_2_minmaxsv2df_mask_round */
15387 :
15388 : default:
15389 : return -1;
15390 : }
15391 :
15392 : default:
15393 : return -1;
15394 : }
15395 :
15396 : case 4:
15397 : if (XINT (x5, 1) != 164)
15398 : return -1;
15399 : x14 = XVECEXP (x5, 0, 0);
15400 : operands[1] = x14;
15401 : x15 = XVECEXP (x5, 0, 1);
15402 : operands[2] = x15;
15403 : x16 = XVECEXP (x5, 0, 2);
15404 : operands[3] = x16;
15405 : x17 = XVECEXP (x5, 0, 3);
15406 : operands[4] = x17;
15407 : if (!const_0_to_255_operand (operands[4], E_SImode))
15408 : return -1;
15409 : x11 = XVECEXP (x2, 0, 1);
15410 : if (!const48_operand (x11, E_SImode))
15411 : return -1;
15412 : x8 = XEXP (x4, 1);
15413 : switch (GET_CODE (x8))
15414 : {
15415 : case CONST_INT:
15416 : case CONST_DOUBLE:
15417 : case CONST_VECTOR:
15418 : operands[5] = x8;
15419 : x6 = XEXP (x3, 2);
15420 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
15421 : return -1;
15422 : x9 = XEXP (x4, 2);
15423 : operands[6] = x9;
15424 : if (!register_operand (operands[6], E_QImode))
15425 : return -1;
15426 : operands[7] = x11;
15427 : x10 = XEXP (x3, 1);
15428 : if (!rtx_equal_p (x10, operands[2]))
15429 : return -1;
15430 : switch (GET_MODE (operands[0]))
15431 : {
15432 : case E_V4SFmode:
15433 : if (pattern1791 (x2,
15434 : E_V4SFmode,
15435 : E_V4SImode) != 0
15436 : || !
15437 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15438 : (TARGET_AVX512F))
15439 : return -1;
15440 : return 7169; /* avx512f_sfixupimmv4sf_maskz_1_round */
15441 :
15442 : case E_V2DFmode:
15443 : if (pattern1791 (x2,
15444 : E_V2DFmode,
15445 : E_V2DImode) != 0
15446 : || !(
15447 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15448 : (TARGET_AVX512F) && (
15449 : #line 154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15450 : (TARGET_AVX512F) && (
15451 : #line 14596 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15452 : (TARGET_AVX512F) &&
15453 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15454 : (TARGET_SSE2)))))
15455 : return -1;
15456 : return 7173; /* avx512f_sfixupimmv2df_maskz_1_round */
15457 :
15458 : default:
15459 : return -1;
15460 : }
15461 :
15462 : case REG:
15463 : case SUBREG:
15464 : if (!rtx_equal_p (x8, operands[2]))
15465 : return -1;
15466 : x9 = XEXP (x4, 2);
15467 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
15468 : return -1;
15469 : x6 = XEXP (x3, 2);
15470 : operands[5] = x6;
15471 : if (!register_operand (operands[5], E_QImode))
15472 : return -1;
15473 : operands[6] = x11;
15474 : x10 = XEXP (x3, 1);
15475 : if (!rtx_equal_p (x10, operands[1]))
15476 : return -1;
15477 : switch (GET_MODE (operands[0]))
15478 : {
15479 : case E_V4SFmode:
15480 : if (pattern1792 (x2,
15481 : E_V4SImode,
15482 : E_V4SFmode) != 0
15483 : || !
15484 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15485 : (TARGET_AVX512F))
15486 : return -1;
15487 : return 7175; /* avx512f_sfixupimmv4sf_mask_round */
15488 :
15489 : case E_V2DFmode:
15490 : if (pattern1792 (x2,
15491 : E_V2DImode,
15492 : E_V2DFmode) != 0
15493 : || !(
15494 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15495 : (TARGET_AVX512F) && (
15496 : #line 14615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15497 : (TARGET_AVX512F) &&
15498 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15499 : (TARGET_SSE2))))
15500 : return -1;
15501 : return 7177; /* avx512f_sfixupimmv2df_mask_round */
15502 :
15503 : default:
15504 : return -1;
15505 : }
15506 :
15507 : default:
15508 : return -1;
15509 : }
15510 :
15511 : default:
15512 : return -1;
15513 : }
15514 :
15515 : case FMA:
15516 : return recog_222 (x1, insn, pnum_clobbers);
15517 :
15518 : case FLOAT_EXTEND:
15519 : if (GET_MODE (x5) != E_V2DFmode)
15520 : return -1;
15521 : x7 = XEXP (x5, 0);
15522 : if (pattern911 (x7,
15523 : 2,
15524 : E_V2SFmode) != 0)
15525 : return -1;
15526 : x18 = XEXP (x7, 1);
15527 : x19 = XVECEXP (x18, 0, 1);
15528 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
15529 : return -1;
15530 : x9 = XEXP (x4, 2);
15531 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
15532 : || pattern1486 (x2,
15533 : E_V2DFmode) != 0)
15534 : return -1;
15535 : x12 = XEXP (x7, 0);
15536 : operands[2] = x12;
15537 : if (!register_operand (operands[2], E_V4SFmode))
15538 : return -1;
15539 : x8 = XEXP (x4, 1);
15540 : operands[1] = x8;
15541 : if (!register_operand (operands[1], E_V2DFmode))
15542 : return -1;
15543 : x10 = XEXP (x3, 1);
15544 : operands[3] = x10;
15545 : if (!nonimm_or_0_operand (operands[3], E_V2DFmode))
15546 : return -1;
15547 : x6 = XEXP (x3, 2);
15548 : operands[4] = x6;
15549 : if (!register_operand (operands[4], E_QImode))
15550 : return -1;
15551 : x11 = XVECEXP (x2, 0, 1);
15552 : operands[5] = x11;
15553 : if (!const48_operand (operands[5], E_SImode)
15554 : || !(
15555 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15556 : (TARGET_AVX512F) && (
15557 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15558 : (TARGET_AVX512F) &&
15559 : #line 10436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15560 : (TARGET_SSE2))))
15561 : return -1;
15562 : return 5195; /* sse2_cvtss2sd_mask_round */
15563 :
15564 : default:
15565 : return -1;
15566 : }
15567 : }
15568 :
15569 : int
15570 : recog_253 (rtx x1 ATTRIBUTE_UNUSED,
15571 : rtx_insn *insn ATTRIBUTE_UNUSED,
15572 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15573 : {
15574 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15575 : rtx x2, x3, x4, x5, x6;
15576 : int res ATTRIBUTE_UNUSED;
15577 : x2 = XEXP (x1, 0);
15578 : operands[0] = x2;
15579 : x3 = XEXP (x1, 1);
15580 : x4 = XVECEXP (x3, 0, 0);
15581 : switch (GET_CODE (x4))
15582 : {
15583 : case CONST_VECTOR:
15584 : switch (pattern499 (x3))
15585 : {
15586 : case 0:
15587 : if (!
15588 : #line 22093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15589 : (TARGET_AVX512VL && TARGET_AVX512VBMI
15590 : && ix86_pre_reload_split ()))
15591 : return -1;
15592 : return 8559; /* *vec_concatv16qi_permt2 */
15593 :
15594 : case 1:
15595 : if (!
15596 : #line 22118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15597 : (TARGET_AVX512VL && TARGET_AVX512BW
15598 : && ix86_pre_reload_split ()))
15599 : return -1;
15600 : return 8560; /* *vec_concatv8hi_permt2 */
15601 :
15602 : default:
15603 : return -1;
15604 : }
15605 :
15606 : case REG:
15607 : case SUBREG:
15608 : operands[1] = x4;
15609 : x5 = XVECEXP (x3, 0, 1);
15610 : operands[2] = x5;
15611 : x6 = XVECEXP (x3, 0, 2);
15612 : operands[3] = x6;
15613 : switch (GET_MODE (operands[0]))
15614 : {
15615 : case E_V16SImode:
15616 : if (pattern178 (x3,
15617 : E_V16SImode) != 0
15618 : || !
15619 : #line 29186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15620 : (TARGET_AVX512F))
15621 : return -1;
15622 : return 9486; /* avx512f_vpermt2varv16si3 */
15623 :
15624 : case E_V16SFmode:
15625 : if (pattern1040 (x3,
15626 : E_V16SFmode,
15627 : E_V16SImode) != 0
15628 : || !
15629 : #line 29186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15630 : (TARGET_AVX512F))
15631 : return -1;
15632 : return 9488; /* avx512f_vpermt2varv16sf3 */
15633 :
15634 : case E_V8DImode:
15635 : if (pattern178 (x3,
15636 : E_V8DImode) != 0
15637 : || !
15638 : #line 29186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15639 : (TARGET_AVX512F))
15640 : return -1;
15641 : return 9490; /* avx512f_vpermt2varv8di3 */
15642 :
15643 : case E_V8DFmode:
15644 : if (pattern1040 (x3,
15645 : E_V8DFmode,
15646 : E_V8DImode) != 0
15647 : || !
15648 : #line 29186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15649 : (TARGET_AVX512F))
15650 : return -1;
15651 : return 9492; /* avx512f_vpermt2varv8df3 */
15652 :
15653 : case E_V8SImode:
15654 : if (pattern178 (x3,
15655 : E_V8SImode) != 0
15656 : || !(
15657 : #line 29186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15658 : (TARGET_AVX512F) &&
15659 : #line 29093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15660 : (TARGET_AVX512VL)))
15661 : return -1;
15662 : return 9494; /* avx512vl_vpermt2varv8si3 */
15663 :
15664 : case E_V8SFmode:
15665 : if (pattern1040 (x3,
15666 : E_V8SFmode,
15667 : E_V8SImode) != 0
15668 : || !(
15669 : #line 29186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15670 : (TARGET_AVX512F) &&
15671 : #line 29093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15672 : (TARGET_AVX512VL)))
15673 : return -1;
15674 : return 9496; /* avx512vl_vpermt2varv8sf3 */
15675 :
15676 : case E_V4DImode:
15677 : if (pattern178 (x3,
15678 : E_V4DImode) != 0
15679 : || !(
15680 : #line 29186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15681 : (TARGET_AVX512F) &&
15682 : #line 29094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15683 : (TARGET_AVX512VL)))
15684 : return -1;
15685 : return 9498; /* avx512vl_vpermt2varv4di3 */
15686 :
15687 : case E_V4DFmode:
15688 : if (pattern1040 (x3,
15689 : E_V4DFmode,
15690 : E_V4DImode) != 0
15691 : || !(
15692 : #line 29186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15693 : (TARGET_AVX512F) &&
15694 : #line 29094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15695 : (TARGET_AVX512VL)))
15696 : return -1;
15697 : return 9500; /* avx512vl_vpermt2varv4df3 */
15698 :
15699 : case E_V4SImode:
15700 : if (pattern178 (x3,
15701 : E_V4SImode) != 0
15702 : || !(
15703 : #line 29186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15704 : (TARGET_AVX512F) &&
15705 : #line 29095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15706 : (TARGET_AVX512VL)))
15707 : return -1;
15708 : return 9502; /* avx512vl_vpermt2varv4si3 */
15709 :
15710 : case E_V4SFmode:
15711 : if (pattern1040 (x3,
15712 : E_V4SFmode,
15713 : E_V4SImode) != 0
15714 : || !(
15715 : #line 29186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15716 : (TARGET_AVX512F) &&
15717 : #line 29095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15718 : (TARGET_AVX512VL)))
15719 : return -1;
15720 : return 9504; /* avx512vl_vpermt2varv4sf3 */
15721 :
15722 : case E_V2DImode:
15723 : if (pattern178 (x3,
15724 : E_V2DImode) != 0
15725 : || !(
15726 : #line 29186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15727 : (TARGET_AVX512F) &&
15728 : #line 29096 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15729 : (TARGET_AVX512VL)))
15730 : return -1;
15731 : return 9506; /* avx512vl_vpermt2varv2di3 */
15732 :
15733 : case E_V2DFmode:
15734 : if (pattern1040 (x3,
15735 : E_V2DFmode,
15736 : E_V2DImode) != 0
15737 : || !(
15738 : #line 29186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15739 : (TARGET_AVX512F) &&
15740 : #line 29096 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15741 : (TARGET_AVX512VL)))
15742 : return -1;
15743 : return 9508; /* avx512vl_vpermt2varv2df3 */
15744 :
15745 : case E_V32HImode:
15746 : if (pattern178 (x3,
15747 : E_V32HImode) != 0
15748 : || !(
15749 : #line 29186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15750 : (TARGET_AVX512F) &&
15751 : #line 29097 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15752 : (TARGET_AVX512BW)))
15753 : return -1;
15754 : return 9510; /* avx512bw_vpermt2varv32hi3 */
15755 :
15756 : case E_V16HImode:
15757 : if (pattern178 (x3,
15758 : E_V16HImode) != 0
15759 : || !(
15760 : #line 29186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15761 : (TARGET_AVX512F) &&
15762 : #line 29098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15763 : (TARGET_AVX512BW && TARGET_AVX512VL)))
15764 : return -1;
15765 : return 9512; /* avx512vl_vpermt2varv16hi3 */
15766 :
15767 : case E_V8HImode:
15768 : if (pattern178 (x3,
15769 : E_V8HImode) != 0
15770 : || !(
15771 : #line 29186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15772 : (TARGET_AVX512F) &&
15773 : #line 29099 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15774 : (TARGET_AVX512BW && TARGET_AVX512VL)))
15775 : return -1;
15776 : return 9514; /* avx512vl_vpermt2varv8hi3 */
15777 :
15778 : case E_V64QImode:
15779 : if (pattern178 (x3,
15780 : E_V64QImode) != 0
15781 : || !(
15782 : #line 29186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15783 : (TARGET_AVX512F) &&
15784 : #line 29100 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15785 : (TARGET_AVX512VBMI)))
15786 : return -1;
15787 : return 9516; /* avx512bw_vpermt2varv64qi3 */
15788 :
15789 : case E_V32QImode:
15790 : if (pattern178 (x3,
15791 : E_V32QImode) != 0
15792 : || !(
15793 : #line 29186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15794 : (TARGET_AVX512F) &&
15795 : #line 29101 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15796 : (TARGET_AVX512VBMI && TARGET_AVX512VL)))
15797 : return -1;
15798 : return 9518; /* avx512vl_vpermt2varv32qi3 */
15799 :
15800 : case E_V16QImode:
15801 : if (pattern178 (x3,
15802 : E_V16QImode) != 0
15803 : || !(
15804 : #line 29186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15805 : (TARGET_AVX512F) &&
15806 : #line 29102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15807 : (TARGET_AVX512VBMI && TARGET_AVX512VL)))
15808 : return -1;
15809 : return 9520; /* avx512vl_vpermt2varv16qi3 */
15810 :
15811 : case E_V32HFmode:
15812 : if (pattern1040 (x3,
15813 : E_V32HFmode,
15814 : E_V32HImode) != 0
15815 : || !
15816 : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15817 : (TARGET_AVX512BW))
15818 : return -1;
15819 : return 9522; /* avx512bw_vpermt2varv32hf3 */
15820 :
15821 : case E_V16HFmode:
15822 : if (pattern1040 (x3,
15823 : E_V16HFmode,
15824 : E_V16HImode) != 0
15825 : || !(
15826 : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15827 : (TARGET_AVX512BW) &&
15828 : #line 548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15829 : (TARGET_AVX512VL)))
15830 : return -1;
15831 : return 9524; /* avx512vl_vpermt2varv16hf3 */
15832 :
15833 : case E_V8HFmode:
15834 : if (pattern1040 (x3,
15835 : E_V8HFmode,
15836 : E_V8HImode) != 0
15837 : || !(
15838 : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15839 : (TARGET_AVX512BW) &&
15840 : #line 548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15841 : (TARGET_AVX512VL)))
15842 : return -1;
15843 : return 9526; /* avx512fp16_vpermt2varv8hf3 */
15844 :
15845 : case E_V32BFmode:
15846 : if (pattern1040 (x3,
15847 : E_V32BFmode,
15848 : E_V32HImode) != 0
15849 : || !
15850 : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15851 : (TARGET_AVX512BW))
15852 : return -1;
15853 : return 9528; /* avx512bw_vpermt2varv32bf3 */
15854 :
15855 : case E_V16BFmode:
15856 : if (pattern1040 (x3,
15857 : E_V16BFmode,
15858 : E_V16HImode) != 0
15859 : || !(
15860 : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15861 : (TARGET_AVX512BW) &&
15862 : #line 549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15863 : (TARGET_AVX512VL)))
15864 : return -1;
15865 : return 9530; /* avx512vl_vpermt2varv16bf3 */
15866 :
15867 : case E_V8BFmode:
15868 : if (pattern1040 (x3,
15869 : E_V8BFmode,
15870 : E_V8HImode) != 0
15871 : || !(
15872 : #line 29202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15873 : (TARGET_AVX512BW) &&
15874 : #line 549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15875 : (TARGET_AVX512VL)))
15876 : return -1;
15877 : return 9532; /* avx512vl_vpermt2varv8bf3 */
15878 :
15879 : default:
15880 : return -1;
15881 : }
15882 :
15883 : default:
15884 : return -1;
15885 : }
15886 : }
15887 :
15888 : int
15889 : recog_254 (rtx x1 ATTRIBUTE_UNUSED,
15890 : rtx_insn *insn ATTRIBUTE_UNUSED,
15891 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15892 : {
15893 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15894 : rtx x2, x3, x4, x5, x6;
15895 : int res ATTRIBUTE_UNUSED;
15896 : x2 = XEXP (x1, 0);
15897 : operands[0] = x2;
15898 : x3 = XEXP (x1, 1);
15899 : x4 = XVECEXP (x3, 0, 0);
15900 : operands[1] = x4;
15901 : x5 = XVECEXP (x3, 0, 2);
15902 : operands[2] = x5;
15903 : x6 = XVECEXP (x3, 0, 1);
15904 : if (!rtx_equal_p (x6, operands[0]))
15905 : return -1;
15906 : switch (GET_MODE (operands[0]))
15907 : {
15908 : case E_V16SImode:
15909 : if (pattern919 (x3,
15910 : E_HImode,
15911 : E_V16SImode) != 0
15912 : || !
15913 : #line 30729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15914 : (TARGET_AVX512F))
15915 : return -1;
15916 : return 10008; /* avx512f_compressstorev16si_mask */
15917 :
15918 : case E_V16SFmode:
15919 : if (pattern919 (x3,
15920 : E_HImode,
15921 : E_V16SFmode) != 0
15922 : || !
15923 : #line 30729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15924 : (TARGET_AVX512F))
15925 : return -1;
15926 : return 10009; /* avx512f_compressstorev16sf_mask */
15927 :
15928 : case E_V8DImode:
15929 : if (pattern919 (x3,
15930 : E_QImode,
15931 : E_V8DImode) != 0
15932 : || !
15933 : #line 30729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15934 : (TARGET_AVX512F))
15935 : return -1;
15936 : return 10010; /* avx512f_compressstorev8di_mask */
15937 :
15938 : case E_V8DFmode:
15939 : if (pattern919 (x3,
15940 : E_QImode,
15941 : E_V8DFmode) != 0
15942 : || !
15943 : #line 30729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15944 : (TARGET_AVX512F))
15945 : return -1;
15946 : return 10011; /* avx512f_compressstorev8df_mask */
15947 :
15948 : case E_V8SImode:
15949 : if (pattern919 (x3,
15950 : E_QImode,
15951 : E_V8SImode) != 0
15952 : || !(
15953 : #line 30729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15954 : (TARGET_AVX512F) &&
15955 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15956 : (TARGET_AVX512VL)))
15957 : return -1;
15958 : return 10012; /* avx512vl_compressstorev8si_mask */
15959 :
15960 : case E_V8SFmode:
15961 : if (pattern919 (x3,
15962 : E_QImode,
15963 : E_V8SFmode) != 0
15964 : || !(
15965 : #line 30729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15966 : (TARGET_AVX512F) &&
15967 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15968 : (TARGET_AVX512VL)))
15969 : return -1;
15970 : return 10013; /* avx512vl_compressstorev8sf_mask */
15971 :
15972 : case E_V4DImode:
15973 : if (pattern919 (x3,
15974 : E_QImode,
15975 : E_V4DImode) != 0
15976 : || !(
15977 : #line 30729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15978 : (TARGET_AVX512F) &&
15979 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15980 : (TARGET_AVX512VL)))
15981 : return -1;
15982 : return 10014; /* avx512vl_compressstorev4di_mask */
15983 :
15984 : case E_V4DFmode:
15985 : if (pattern919 (x3,
15986 : E_QImode,
15987 : E_V4DFmode) != 0
15988 : || !(
15989 : #line 30729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15990 : (TARGET_AVX512F) &&
15991 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15992 : (TARGET_AVX512VL)))
15993 : return -1;
15994 : return 10015; /* avx512vl_compressstorev4df_mask */
15995 :
15996 : case E_V4SImode:
15997 : if (pattern919 (x3,
15998 : E_QImode,
15999 : E_V4SImode) != 0
16000 : || !(
16001 : #line 30729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16002 : (TARGET_AVX512F) &&
16003 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16004 : (TARGET_AVX512VL)))
16005 : return -1;
16006 : return 10016; /* avx512vl_compressstorev4si_mask */
16007 :
16008 : case E_V4SFmode:
16009 : if (pattern919 (x3,
16010 : E_QImode,
16011 : E_V4SFmode) != 0
16012 : || !(
16013 : #line 30729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16014 : (TARGET_AVX512F) &&
16015 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16016 : (TARGET_AVX512VL)))
16017 : return -1;
16018 : return 10017; /* avx512vl_compressstorev4sf_mask */
16019 :
16020 : case E_V2DImode:
16021 : if (pattern919 (x3,
16022 : E_QImode,
16023 : E_V2DImode) != 0
16024 : || !(
16025 : #line 30729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16026 : (TARGET_AVX512F) &&
16027 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16028 : (TARGET_AVX512VL)))
16029 : return -1;
16030 : return 10018; /* avx512vl_compressstorev2di_mask */
16031 :
16032 : case E_V2DFmode:
16033 : if (pattern919 (x3,
16034 : E_QImode,
16035 : E_V2DFmode) != 0
16036 : || !(
16037 : #line 30729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16038 : (TARGET_AVX512F) &&
16039 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16040 : (TARGET_AVX512VL)))
16041 : return -1;
16042 : return 10019; /* avx512vl_compressstorev2df_mask */
16043 :
16044 : case E_V64QImode:
16045 : if (pattern919 (x3,
16046 : E_DImode,
16047 : E_V64QImode) != 0
16048 : || !
16049 : #line 30744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16050 : (TARGET_AVX512VBMI2))
16051 : return -1;
16052 : return 10020; /* compressstorev64qi_mask */
16053 :
16054 : case E_V16QImode:
16055 : if (pattern919 (x3,
16056 : E_HImode,
16057 : E_V16QImode) != 0
16058 : || !(
16059 : #line 30744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16060 : (TARGET_AVX512VBMI2) &&
16061 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16062 : (TARGET_AVX512VL)))
16063 : return -1;
16064 : return 10021; /* compressstorev16qi_mask */
16065 :
16066 : case E_V32QImode:
16067 : if (pattern919 (x3,
16068 : E_SImode,
16069 : E_V32QImode) != 0
16070 : || !(
16071 : #line 30744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16072 : (TARGET_AVX512VBMI2) &&
16073 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16074 : (TARGET_AVX512VL)))
16075 : return -1;
16076 : return 10022; /* compressstorev32qi_mask */
16077 :
16078 : case E_V32HImode:
16079 : if (pattern919 (x3,
16080 : E_SImode,
16081 : E_V32HImode) != 0
16082 : || !
16083 : #line 30744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16084 : (TARGET_AVX512VBMI2))
16085 : return -1;
16086 : return 10023; /* compressstorev32hi_mask */
16087 :
16088 : case E_V16HImode:
16089 : if (pattern919 (x3,
16090 : E_HImode,
16091 : E_V16HImode) != 0
16092 : || !(
16093 : #line 30744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16094 : (TARGET_AVX512VBMI2) &&
16095 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16096 : (TARGET_AVX512VL)))
16097 : return -1;
16098 : return 10024; /* compressstorev16hi_mask */
16099 :
16100 : case E_V8HImode:
16101 : if (pattern919 (x3,
16102 : E_QImode,
16103 : E_V8HImode) != 0
16104 : || !(
16105 : #line 30744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16106 : (TARGET_AVX512VBMI2) &&
16107 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16108 : (TARGET_AVX512VL)))
16109 : return -1;
16110 : return 10025; /* compressstorev8hi_mask */
16111 :
16112 : default:
16113 : return -1;
16114 : }
16115 : }
16116 :
16117 : int
16118 : recog_263 (rtx x1 ATTRIBUTE_UNUSED,
16119 : rtx_insn *insn ATTRIBUTE_UNUSED,
16120 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16121 : {
16122 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16123 : rtx x2, x3, x4, x5, x6;
16124 : int res ATTRIBUTE_UNUSED;
16125 : x2 = XEXP (x1, 0);
16126 : operands[0] = x2;
16127 : x3 = XEXP (x1, 1);
16128 : x4 = XVECEXP (x3, 0, 0);
16129 : operands[1] = x4;
16130 : x5 = XVECEXP (x3, 0, 1);
16131 : operands[2] = x5;
16132 : x6 = XVECEXP (x3, 0, 2);
16133 : operands[3] = x6;
16134 : if (!const_int_operand (operands[3], E_SImode))
16135 : return -1;
16136 : switch (GET_MODE (operands[0]))
16137 : {
16138 : case E_V16QImode:
16139 : if (pattern64 (x3,
16140 : E_V16QImode) != 0
16141 : || !
16142 : #line 27998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16143 : (TARGET_XOP))
16144 : return -1;
16145 : return 9158; /* xop_pcom_tfv16qi3 */
16146 :
16147 : case E_V8HImode:
16148 : if (pattern64 (x3,
16149 : E_V8HImode) != 0
16150 : || !
16151 : #line 27998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16152 : (TARGET_XOP))
16153 : return -1;
16154 : return 9159; /* xop_pcom_tfv8hi3 */
16155 :
16156 : case E_V4SImode:
16157 : if (pattern64 (x3,
16158 : E_V4SImode) != 0
16159 : || !
16160 : #line 27998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16161 : (TARGET_XOP))
16162 : return -1;
16163 : return 9160; /* xop_pcom_tfv4si3 */
16164 :
16165 : case E_V2DImode:
16166 : if (pattern64 (x3,
16167 : E_V2DImode) != 0
16168 : || !
16169 : #line 27998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16170 : (TARGET_XOP))
16171 : return -1;
16172 : return 9161; /* xop_pcom_tfv2di3 */
16173 :
16174 : default:
16175 : return -1;
16176 : }
16177 : }
16178 :
16179 : int
16180 : recog_267 (rtx x1 ATTRIBUTE_UNUSED,
16181 : rtx_insn *insn ATTRIBUTE_UNUSED,
16182 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16183 : {
16184 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16185 : rtx x2, x3, x4, x5;
16186 : int res ATTRIBUTE_UNUSED;
16187 : x2 = XEXP (x1, 0);
16188 : operands[0] = x2;
16189 : x3 = XEXP (x1, 1);
16190 : x4 = XVECEXP (x3, 0, 0);
16191 : operands[1] = x4;
16192 : x5 = XVECEXP (x3, 0, 1);
16193 : operands[2] = x5;
16194 : switch (pattern679 (x3))
16195 : {
16196 : case 0:
16197 : if (
16198 : #line 7564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16199 : (TARGET_AVX512FP16 && 1 && 1))
16200 : return 4372; /* fma_fcmaddc_v32hf */
16201 : break;
16202 :
16203 : case 1:
16204 : if ((
16205 : #line 7564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16206 : (TARGET_AVX512FP16 && 1 && 1) &&
16207 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16208 : (TARGET_AVX512VL)))
16209 : return 4378; /* fma_fcmaddc_v16hf */
16210 : break;
16211 :
16212 : case 2:
16213 : if ((
16214 : #line 7564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16215 : (TARGET_AVX512FP16 && 1 && 1) &&
16216 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16217 : (TARGET_AVX512VL)))
16218 : return 4382; /* fma_fcmaddc_v8hf */
16219 : break;
16220 :
16221 : default:
16222 : break;
16223 : }
16224 : if (GET_CODE (x5) != SUBREG
16225 : || maybe_ne (SUBREG_BYTE (x5), 0))
16226 : return -1;
16227 : switch (pattern604 (x3))
16228 : {
16229 : case 0:
16230 : if (!
16231 : #line 7670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16232 : (TARGET_AVX512FP16 && ix86_pre_reload_split ()))
16233 : return -1;
16234 : return 4405; /* fma_v32hf_fcmaddc_bcst */
16235 :
16236 : case 1:
16237 : if (!(
16238 : #line 7670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16239 : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) &&
16240 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16241 : (TARGET_AVX512VL)))
16242 : return -1;
16243 : return 4406; /* fma_v16hf_fcmaddc_bcst */
16244 :
16245 : case 2:
16246 : if (!(
16247 : #line 7670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16248 : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) &&
16249 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16250 : (TARGET_AVX512VL)))
16251 : return -1;
16252 : return 4407; /* fma_v8hf_fcmaddc_bcst */
16253 :
16254 : default:
16255 : return -1;
16256 : }
16257 : }
16258 :
16259 : int
16260 : recog_274 (rtx x1 ATTRIBUTE_UNUSED,
16261 : rtx_insn *insn ATTRIBUTE_UNUSED,
16262 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16263 : {
16264 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16265 : rtx x2, x3, x4, x5, x6, x7, x8;
16266 : int res ATTRIBUTE_UNUSED;
16267 : x2 = XEXP (x1, 1);
16268 : x3 = XEXP (x2, 0);
16269 : x4 = XEXP (x3, 1);
16270 : if (GET_CODE (x4) != PARALLEL)
16271 : return -1;
16272 : x5 = XEXP (x3, 0);
16273 : operands[1] = x5;
16274 : x6 = XEXP (x2, 1);
16275 : operands[2] = x6;
16276 : switch (XVECLEN (x4, 0))
16277 : {
16278 : case 1:
16279 : x7 = XVECEXP (x4, 0, 0);
16280 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
16281 : return -1;
16282 : switch (GET_CODE (operands[2]))
16283 : {
16284 : case CONST_INT:
16285 : case CONST_DOUBLE:
16286 : case CONST_VECTOR:
16287 : switch (GET_MODE (operands[0]))
16288 : {
16289 : case E_V2DImode:
16290 : if (pattern1152 (x2,
16291 : E_DImode,
16292 : E_V2DImode) != 0
16293 : || !
16294 : #line 1875 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16295 : (TARGET_SSE2))
16296 : return -1;
16297 : return 2614; /* *sse2_movq128_v2di */
16298 :
16299 : case E_V2DFmode:
16300 : if (pattern1152 (x2,
16301 : E_DFmode,
16302 : E_V2DFmode) != 0
16303 : || !
16304 : #line 1875 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16305 : (TARGET_SSE2))
16306 : return -1;
16307 : return 2615; /* *sse2_movq128_v2df */
16308 :
16309 : default:
16310 : return -1;
16311 : }
16312 :
16313 : case REG:
16314 : case SUBREG:
16315 : case MEM:
16316 : if (!nonimmediate_operand (operands[2], E_DFmode)
16317 : || pattern1153 (x2,
16318 : E_V2DFmode,
16319 : E_DFmode) != 0
16320 : || !
16321 : #line 15130 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16322 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
16323 : return -1;
16324 : return 7257; /* sse2_loadhpd */
16325 :
16326 : default:
16327 : return -1;
16328 : }
16329 :
16330 : case 2:
16331 : x7 = XVECEXP (x4, 0, 0);
16332 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
16333 : return -1;
16334 : x8 = XVECEXP (x4, 0, 1);
16335 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
16336 : return -1;
16337 : switch (GET_MODE (operands[0]))
16338 : {
16339 : case E_V4SFmode:
16340 : if (pattern1153 (x2,
16341 : E_V4SFmode,
16342 : E_V2SFmode) != 0
16343 : || !nonimmediate_operand (operands[2], E_V2SFmode)
16344 : || !
16345 : #line 12010 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16346 : (TARGET_SSE))
16347 : return -1;
16348 : return 5296; /* sse_loadhps */
16349 :
16350 : case E_V4DImode:
16351 : if (pattern1154 (x2,
16352 : E_V2DImode,
16353 : E_V4DImode) != 0
16354 : || !
16355 : #line 29423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16356 : (TARGET_AVX && 1))
16357 : return -1;
16358 : return 9570; /* vec_set_hi_v4di */
16359 :
16360 : case E_V4DFmode:
16361 : if (pattern1154 (x2,
16362 : E_V2DFmode,
16363 : E_V4DFmode) != 0
16364 : || !
16365 : #line 29423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16366 : (TARGET_AVX && 1))
16367 : return -1;
16368 : return 9572; /* vec_set_hi_v4df */
16369 :
16370 : default:
16371 : return -1;
16372 : }
16373 :
16374 : case 8:
16375 : if (pattern683 (x4) != 0)
16376 : return -1;
16377 : switch (GET_MODE (operands[0]))
16378 : {
16379 : case E_V16SFmode:
16380 : if (pattern1154 (x2,
16381 : E_V8SFmode,
16382 : E_V16SFmode) != 0
16383 : || !
16384 : #line 20583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16385 : (TARGET_AVX512DQ))
16386 : return -1;
16387 : return 8476; /* vec_set_hi_v16sf */
16388 :
16389 : case E_V16SImode:
16390 : if (pattern1154 (x2,
16391 : E_V8SImode,
16392 : E_V16SImode) != 0
16393 : || !
16394 : #line 20583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16395 : (TARGET_AVX512DQ))
16396 : return -1;
16397 : return 8478; /* vec_set_hi_v16si */
16398 :
16399 : case E_V16HImode:
16400 : if (pattern1154 (x2,
16401 : E_V8HImode,
16402 : E_V16HImode) != 0
16403 : || !
16404 : #line 29522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16405 : (TARGET_AVX))
16406 : return -1;
16407 : return 9585; /* vec_set_hi_v16hi */
16408 :
16409 : case E_V16HFmode:
16410 : if (pattern1154 (x2,
16411 : E_V8HFmode,
16412 : E_V16HFmode) != 0
16413 : || !
16414 : #line 29522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16415 : (TARGET_AVX))
16416 : return -1;
16417 : return 9586; /* vec_set_hi_v16hf */
16418 :
16419 : case E_V16BFmode:
16420 : if (pattern1154 (x2,
16421 : E_V8BFmode,
16422 : E_V16BFmode) != 0
16423 : || !
16424 : #line 29522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16425 : (TARGET_AVX))
16426 : return -1;
16427 : return 9587; /* vec_set_hi_v16bf */
16428 :
16429 : default:
16430 : return -1;
16431 : }
16432 :
16433 : case 4:
16434 : if (pattern684 (x4,
16435 : 3,
16436 : 2,
16437 : 1) != 0)
16438 : return -1;
16439 : switch (GET_MODE (operands[0]))
16440 : {
16441 : case E_V8DFmode:
16442 : if (pattern1154 (x2,
16443 : E_V4DFmode,
16444 : E_V8DFmode) != 0
16445 : || !
16446 : #line 20615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16447 : (TARGET_AVX512F))
16448 : return -1;
16449 : return 8484; /* vec_set_hi_v8df */
16450 :
16451 : case E_V8DImode:
16452 : if (pattern1154 (x2,
16453 : E_V4DImode,
16454 : E_V8DImode) != 0
16455 : || !
16456 : #line 20615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16457 : (TARGET_AVX512F))
16458 : return -1;
16459 : return 8486; /* vec_set_hi_v8di */
16460 :
16461 : case E_V8SImode:
16462 : if (pattern1154 (x2,
16463 : E_V4SImode,
16464 : E_V8SImode) != 0
16465 : || !
16466 : #line 29473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16467 : (TARGET_AVX))
16468 : return -1;
16469 : return 9578; /* vec_set_hi_v8si */
16470 :
16471 : case E_V8SFmode:
16472 : if (pattern1154 (x2,
16473 : E_V4SFmode,
16474 : E_V8SFmode) != 0
16475 : || !
16476 : #line 29473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16477 : (TARGET_AVX))
16478 : return -1;
16479 : return 9580; /* vec_set_hi_v8sf */
16480 :
16481 : default:
16482 : return -1;
16483 : }
16484 :
16485 : case 16:
16486 : if (pattern797 (x4,
16487 : 6,
16488 : 5,
16489 : 4) != 0
16490 : || pattern1489 (x4,
16491 : 11,
16492 : 10,
16493 : 9,
16494 : 8,
16495 : 7) != 0
16496 : || pattern1154 (x2,
16497 : E_V16QImode,
16498 : E_V32QImode) != 0
16499 : || !
16500 : #line 29576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16501 : (TARGET_AVX))
16502 : return -1;
16503 : return 9589; /* vec_set_hi_v32qi */
16504 :
16505 : default:
16506 : return -1;
16507 : }
16508 : }
16509 :
16510 : int
16511 : recog_275 (rtx x1 ATTRIBUTE_UNUSED,
16512 : rtx_insn *insn ATTRIBUTE_UNUSED,
16513 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16514 : {
16515 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16516 : rtx x2, x3, x4, x5, x6;
16517 : int res ATTRIBUTE_UNUSED;
16518 : x2 = XEXP (x1, 1);
16519 : x3 = XEXP (x2, 0);
16520 : switch (XVECLEN (x3, 0))
16521 : {
16522 : case 1:
16523 : x4 = XVECEXP (x3, 0, 0);
16524 : operands[1] = x4;
16525 : switch (XINT (x3, 1))
16526 : {
16527 : case 47:
16528 : if (GET_MODE (x3) == E_V4SImode
16529 : && pattern800 (x2,
16530 : E_V4SImode,
16531 : E_V4DFmode,
16532 : E_V8SImode) == 0
16533 : &&
16534 : #line 9821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16535 : (TARGET_AVX))
16536 : return 5050; /* *avx_cvtpd2dq256_2 */
16537 : if (GET_MODE (x3) != E_V2SImode)
16538 : return -1;
16539 : x5 = XEXP (x2, 1);
16540 : if (GET_CODE (x5) != CONST_VECTOR
16541 : || pattern514 (x5,
16542 : E_V2SImode,
16543 : 2) != 0
16544 : || !register_operand (operands[0], E_V4SImode)
16545 : || GET_MODE (x2) != E_V4SImode
16546 : || !vector_operand (operands[1], E_V2DFmode)
16547 : || !
16548 : #line 9834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16549 : (TARGET_SSE2))
16550 : return -1;
16551 : return 5051; /* sse2_cvtpd2dq */
16552 :
16553 : case 157:
16554 : if (pattern681 (x2) != 0
16555 : || !
16556 : #line 9904 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16557 : (TARGET_AVX512VL))
16558 : return -1;
16559 : return 5062; /* fixuns_notruncv2dfv2si2 */
16560 :
16561 : case 174:
16562 : if (pattern681 (x2) != 0
16563 : || !
16564 : #line 9971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16565 : (TARGET_AVX512VL))
16566 : return -1;
16567 : return 5081; /* *unspec_fixuns_truncv2dfv2si2 */
16568 :
16569 : case 254:
16570 : if (GET_MODE (x3) != E_V8QImode
16571 : || pattern800 (x2,
16572 : E_V8QImode,
16573 : E_V8HFmode,
16574 : E_V16QImode) != 0
16575 : || !
16576 : #line 32940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16577 : (TARGET_AVX10_2))
16578 : return -1;
16579 : return 10597; /* *vcvtph2bf8v8hf */
16580 :
16581 : case 255:
16582 : if (GET_MODE (x3) != E_V8QImode
16583 : || pattern800 (x2,
16584 : E_V8QImode,
16585 : E_V8HFmode,
16586 : E_V16QImode) != 0
16587 : || !
16588 : #line 32940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16589 : (TARGET_AVX10_2))
16590 : return -1;
16591 : return 10598; /* *vcvtph2bf8sv8hf */
16592 :
16593 : case 256:
16594 : if (GET_MODE (x3) != E_V8QImode
16595 : || pattern800 (x2,
16596 : E_V8QImode,
16597 : E_V8HFmode,
16598 : E_V16QImode) != 0
16599 : || !
16600 : #line 32940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16601 : (TARGET_AVX10_2))
16602 : return -1;
16603 : return 10599; /* *vcvtph2hf8v8hf */
16604 :
16605 : case 257:
16606 : if (GET_MODE (x3) != E_V8QImode
16607 : || pattern800 (x2,
16608 : E_V8QImode,
16609 : E_V8HFmode,
16610 : E_V16QImode) != 0
16611 : || !
16612 : #line 32940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16613 : (TARGET_AVX10_2))
16614 : return -1;
16615 : return 10600; /* *vcvtph2hf8sv8hf */
16616 :
16617 : default:
16618 : return -1;
16619 : }
16620 :
16621 : case 2:
16622 : x4 = XVECEXP (x3, 0, 0);
16623 : operands[1] = x4;
16624 : x6 = XVECEXP (x3, 0, 1);
16625 : operands[2] = x6;
16626 : x5 = XEXP (x2, 1);
16627 : operands[3] = x5;
16628 : switch (XINT (x3, 1))
16629 : {
16630 : case 151:
16631 : if (GET_MODE (x3) != E_V4HImode
16632 : || !register_operand (operands[0], E_V8HImode)
16633 : || GET_MODE (x2) != E_V8HImode
16634 : || !register_operand (operands[1], E_V4SFmode)
16635 : || !const_0_to_255_operand (operands[2], E_SImode)
16636 : || !const0_operand (operands[3], E_V4HImode)
16637 : || !
16638 : #line 30192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16639 : ((TARGET_F16C || TARGET_AVX512VL) && 1))
16640 : return -1;
16641 : return 9761; /* *vcvtps2ph */
16642 :
16643 : case 246:
16644 : if (pattern925 (x2) != 0
16645 : || !
16646 : #line 32850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16647 : (TARGET_AVX10_2))
16648 : return -1;
16649 : return 10573; /* *vcvtbiasph2bf8v8hf */
16650 :
16651 : case 247:
16652 : if (pattern925 (x2) != 0
16653 : || !
16654 : #line 32850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16655 : (TARGET_AVX10_2))
16656 : return -1;
16657 : return 10574; /* *vcvtbiasph2bf8sv8hf */
16658 :
16659 : case 248:
16660 : if (pattern925 (x2) != 0
16661 : || !
16662 : #line 32850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16663 : (TARGET_AVX10_2))
16664 : return -1;
16665 : return 10575; /* *vcvtbiasph2hf8v8hf */
16666 :
16667 : case 249:
16668 : if (pattern925 (x2) != 0
16669 : || !
16670 : #line 32850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16671 : (TARGET_AVX10_2))
16672 : return -1;
16673 : return 10576; /* *vcvtbiasph2hf8sv8hf */
16674 :
16675 : default:
16676 : return -1;
16677 : }
16678 :
16679 : default:
16680 : return -1;
16681 : }
16682 : }
16683 :
16684 : int
16685 : recog_279 (rtx x1 ATTRIBUTE_UNUSED,
16686 : rtx_insn *insn ATTRIBUTE_UNUSED,
16687 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16688 : {
16689 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16690 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
16691 : int res ATTRIBUTE_UNUSED;
16692 : x2 = XEXP (x1, 1);
16693 : x3 = XEXP (x2, 1);
16694 : x4 = XVECEXP (x3, 0, 2);
16695 : if (GET_CODE (x4) != CONST_INT)
16696 : return -1;
16697 : x5 = XVECEXP (x3, 0, 3);
16698 : if (GET_CODE (x5) != CONST_INT)
16699 : return -1;
16700 : x6 = XVECEXP (x3, 0, 0);
16701 : switch (XWINT (x6, 0))
16702 : {
16703 : case 6L:
16704 : x7 = XVECEXP (x3, 0, 1);
16705 : if (XWINT (x7, 0) != 7L
16706 : || XWINT (x4, 0) != 2L
16707 : || XWINT (x5, 0) != 3L
16708 : || pattern1570 (x2) != 0
16709 : || !
16710 : #line 11448 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16711 : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
16712 : return -1;
16713 : return 5261; /* sse_movhlps */
16714 :
16715 : case 0L:
16716 : x7 = XVECEXP (x3, 0, 1);
16717 : switch (XWINT (x7, 0))
16718 : {
16719 : case 1L:
16720 : if (XWINT (x4, 0) != 4L
16721 : || XWINT (x5, 0) != 5L
16722 : || pattern1570 (x2) != 0
16723 : || !
16724 : #line 11493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16725 : (TARGET_SSE && ix86_binary_operator_ok (UNKNOWN, V4SFmode, operands)))
16726 : return -1;
16727 : return 5262; /* sse_movlhps */
16728 :
16729 : case 4L:
16730 : switch (XWINT (x4, 0))
16731 : {
16732 : case 1L:
16733 : if (XWINT (x5, 0) != 5L
16734 : || pattern1325 (x2,
16735 : E_V4SFmode,
16736 : E_V8SFmode) != 0
16737 : || !
16738 : #line 11710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16739 : (TARGET_SSE))
16740 : return -1;
16741 : return 5277; /* vec_interleave_lowv4sf */
16742 :
16743 : case 2L:
16744 : if (XWINT (x5, 0) != 6L)
16745 : return -1;
16746 : switch (GET_MODE (operands[0]))
16747 : {
16748 : case E_V4DFmode:
16749 : if (!register_operand (operands[0], E_V4DFmode)
16750 : || GET_MODE (x2) != E_V4DFmode)
16751 : return -1;
16752 : x8 = XEXP (x2, 0);
16753 : if (GET_MODE (x8) != E_V8DFmode)
16754 : return -1;
16755 : if (nonimmediate_operand (operands[1], E_V4DFmode))
16756 : {
16757 : x9 = XEXP (x8, 1);
16758 : if (rtx_equal_p (x9, operands[1])
16759 : &&
16760 : #line 13868 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16761 : (TARGET_AVX && 1))
16762 : return 5430; /* avx_movddup256 */
16763 : }
16764 : if (!register_operand (operands[1], E_V4DFmode))
16765 : return -1;
16766 : x9 = XEXP (x8, 1);
16767 : operands[2] = x9;
16768 : if (!nonimmediate_operand (operands[2], E_V4DFmode)
16769 : || !
16770 : #line 13884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16771 : (TARGET_AVX && 1))
16772 : return -1;
16773 : return 5432; /* avx_unpcklpd256 */
16774 :
16775 : case E_V4DImode:
16776 : if (pattern1636 (x2,
16777 : E_V4DImode,
16778 : E_V8DImode) != 0
16779 : || !
16780 : #line 14917 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16781 : (TARGET_AVX2 && 1))
16782 : return -1;
16783 : return 7245; /* avx2_interleave_lowv4di */
16784 :
16785 : default:
16786 : return -1;
16787 : }
16788 :
16789 : default:
16790 : return -1;
16791 : }
16792 :
16793 : case 0L:
16794 : if (XWINT (x4, 0) != 6L
16795 : || XWINT (x5, 0) != 6L
16796 : || pattern1571 (x2) != 0
16797 : || !
16798 : #line 11800 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16799 : (TARGET_SSE3 && 1))
16800 : return -1;
16801 : return 5286; /* sse3_movsldup */
16802 :
16803 : default:
16804 : return -1;
16805 : }
16806 :
16807 : case 2L:
16808 : x7 = XVECEXP (x3, 0, 1);
16809 : if (XWINT (x7, 0) != 6L
16810 : || XWINT (x4, 0) != 3L
16811 : || XWINT (x5, 0) != 7L
16812 : || pattern1325 (x2,
16813 : E_V4SFmode,
16814 : E_V8SFmode) != 0
16815 : || !
16816 : #line 11605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16817 : (TARGET_SSE && 1))
16818 : return -1;
16819 : return 5270; /* vec_interleave_highv4sf */
16820 :
16821 : case 1L:
16822 : if (XWINT (x5, 0) != 7L)
16823 : return -1;
16824 : x7 = XVECEXP (x3, 0, 1);
16825 : switch (XWINT (x7, 0))
16826 : {
16827 : case 1L:
16828 : if (XWINT (x4, 0) != 7L
16829 : || pattern1571 (x2) != 0
16830 : || !
16831 : #line 11747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16832 : (TARGET_SSE3 && 1))
16833 : return -1;
16834 : return 5280; /* sse3_movshdup */
16835 :
16836 : case 5L:
16837 : if (XWINT (x4, 0) != 3L)
16838 : return -1;
16839 : x8 = XEXP (x2, 0);
16840 : x9 = XEXP (x8, 1);
16841 : operands[2] = x9;
16842 : switch (GET_MODE (operands[0]))
16843 : {
16844 : case E_V4DFmode:
16845 : if (pattern1424 (x2,
16846 : E_V4DFmode,
16847 : E_V8DFmode) != 0
16848 : || !
16849 : #line 13736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16850 : (TARGET_AVX && 1))
16851 : return -1;
16852 : return 5422; /* avx_unpckhpd256 */
16853 :
16854 : case E_V4DImode:
16855 : if (pattern1424 (x2,
16856 : E_V4DImode,
16857 : E_V8DImode) != 0
16858 : || !
16859 : #line 14867 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16860 : (TARGET_AVX2 && 1))
16861 : return -1;
16862 : return 7239; /* avx2_interleave_highv4di */
16863 :
16864 : default:
16865 : return -1;
16866 : }
16867 :
16868 : default:
16869 : return -1;
16870 : }
16871 :
16872 : default:
16873 : return -1;
16874 : }
16875 : }
16876 :
16877 : int
16878 : recog_283 (rtx x1 ATTRIBUTE_UNUSED,
16879 : rtx_insn *insn ATTRIBUTE_UNUSED,
16880 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16881 : {
16882 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16883 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
16884 : rtx x10, x11, x12, x13;
16885 : int res ATTRIBUTE_UNUSED;
16886 : x2 = XEXP (x1, 1);
16887 : x3 = XEXP (x2, 1);
16888 : x4 = XVECEXP (x3, 0, 0);
16889 : if (GET_CODE (x4) != CONST_INT)
16890 : return -1;
16891 : x5 = XVECEXP (x3, 0, 1);
16892 : if (GET_CODE (x5) == CONST_INT)
16893 : {
16894 : res = recog_282 (x1, insn, pnum_clobbers);
16895 : if (res >= 0)
16896 : return res;
16897 : }
16898 : operands[3] = x4;
16899 : x6 = XEXP (x2, 0);
16900 : x7 = XEXP (x6, 1);
16901 : operands[2] = x7;
16902 : operands[4] = x5;
16903 : x8 = XVECEXP (x3, 0, 2);
16904 : operands[5] = x8;
16905 : x9 = XVECEXP (x3, 0, 3);
16906 : operands[6] = x9;
16907 : x10 = XVECEXP (x3, 0, 4);
16908 : operands[7] = x10;
16909 : x11 = XVECEXP (x3, 0, 5);
16910 : operands[8] = x11;
16911 : x12 = XVECEXP (x3, 0, 6);
16912 : operands[9] = x12;
16913 : x13 = XVECEXP (x3, 0, 7);
16914 : operands[10] = x13;
16915 : switch (GET_MODE (operands[0]))
16916 : {
16917 : case E_V8SFmode:
16918 : if (pattern1424 (x2,
16919 : E_V8SFmode,
16920 : E_V16SFmode) != 0)
16921 : return -1;
16922 : if (const_0_to_3_operand (operands[3], E_VOIDmode)
16923 : && const_0_to_3_operand (operands[4], E_VOIDmode)
16924 : && const_8_to_11_operand (operands[5], E_VOIDmode)
16925 : && const_8_to_11_operand (operands[6], E_VOIDmode)
16926 : && const_4_to_7_operand (operands[7], E_VOIDmode)
16927 : && const_4_to_7_operand (operands[8], E_VOIDmode)
16928 : && const_12_to_15_operand (operands[9], E_VOIDmode)
16929 : && const_12_to_15_operand (operands[10], E_VOIDmode)
16930 : &&
16931 : #line 11865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16932 : (TARGET_AVX
16933 : && 1
16934 : && (INTVAL (operands[3]) == (INTVAL (operands[7]) - 4)
16935 : && INTVAL (operands[4]) == (INTVAL (operands[8]) - 4)
16936 : && INTVAL (operands[5]) == (INTVAL (operands[9]) - 4)
16937 : && INTVAL (operands[6]) == (INTVAL (operands[10]) - 4))))
16938 : return 5290; /* avx_shufps256_1 */
16939 : if (!const_0_to_7_operand (operands[3], E_VOIDmode)
16940 : || pattern1700 () != 0
16941 : || !
16942 : #line 20812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16943 : (TARGET_AVX512VL
16944 : && (INTVAL (operands[3]) & 3) == 0
16945 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
16946 : && INTVAL (operands[3]) == INTVAL (operands[5]) - 2
16947 : && INTVAL (operands[3]) == INTVAL (operands[6]) - 3
16948 : && (INTVAL (operands[7]) & 3) == 0
16949 : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
16950 : && INTVAL (operands[7]) == INTVAL (operands[9]) - 2
16951 : && INTVAL (operands[7]) == INTVAL (operands[10]) - 3))
16952 : return -1;
16953 : return 8502; /* avx512vl_shuf_f32x4_1 */
16954 :
16955 : case E_V8DFmode:
16956 : if (pattern1424 (x2,
16957 : E_V8DFmode,
16958 : E_V16DFmode) != 0)
16959 : return -1;
16960 : if (const_0_to_1_operand (operands[3], E_VOIDmode)
16961 : && const_8_to_9_operand (operands[4], E_VOIDmode)
16962 : && const_2_to_3_operand (operands[5], E_VOIDmode)
16963 : && const_10_to_11_operand (operands[6], E_VOIDmode)
16964 : && const_4_to_5_operand (operands[7], E_VOIDmode)
16965 : && const_12_to_13_operand (operands[8], E_VOIDmode)
16966 : && const_6_to_7_operand (operands[9], E_VOIDmode)
16967 : && const_14_to_15_operand (operands[10], E_VOIDmode)
16968 : &&
16969 : #line 14751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16970 : (TARGET_AVX512F))
16971 : return 7234; /* avx512f_shufpd512_1 */
16972 : if (!const_0_to_7_operand (operands[3], E_VOIDmode)
16973 : || pattern1700 () != 0
16974 : || !
16975 : #line 20712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16976 : (TARGET_AVX512F
16977 : && (INTVAL (operands[3]) & 1) == 0
16978 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
16979 : && (INTVAL (operands[5]) & 1) == 0
16980 : && INTVAL (operands[5]) == INTVAL (operands[6]) - 1
16981 : && (INTVAL (operands[7]) & 1) == 0
16982 : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
16983 : && (INTVAL (operands[9]) & 1) == 0
16984 : && INTVAL (operands[9]) == INTVAL (operands[10]) - 1))
16985 : return -1;
16986 : return 8492; /* avx512f_shuf_f64x2_1 */
16987 :
16988 : case E_V8DImode:
16989 : if (pattern1701 (x2,
16990 : E_V8DImode,
16991 : E_V16DImode) != 0
16992 : || !
16993 : #line 20712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16994 : (TARGET_AVX512F
16995 : && (INTVAL (operands[3]) & 1) == 0
16996 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
16997 : && (INTVAL (operands[5]) & 1) == 0
16998 : && INTVAL (operands[5]) == INTVAL (operands[6]) - 1
16999 : && (INTVAL (operands[7]) & 1) == 0
17000 : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
17001 : && (INTVAL (operands[9]) & 1) == 0
17002 : && INTVAL (operands[9]) == INTVAL (operands[10]) - 1))
17003 : return -1;
17004 : return 8494; /* avx512f_shuf_i64x2_1 */
17005 :
17006 : case E_V8SImode:
17007 : if (pattern1701 (x2,
17008 : E_V8SImode,
17009 : E_V16SImode) != 0
17010 : || !
17011 : #line 20812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17012 : (TARGET_AVX512VL
17013 : && (INTVAL (operands[3]) & 3) == 0
17014 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
17015 : && INTVAL (operands[3]) == INTVAL (operands[5]) - 2
17016 : && INTVAL (operands[3]) == INTVAL (operands[6]) - 3
17017 : && (INTVAL (operands[7]) & 3) == 0
17018 : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
17019 : && INTVAL (operands[7]) == INTVAL (operands[9]) - 2
17020 : && INTVAL (operands[7]) == INTVAL (operands[10]) - 3))
17021 : return -1;
17022 : return 8500; /* avx512vl_shuf_i32x4_1 */
17023 :
17024 : default:
17025 : return -1;
17026 : }
17027 : }
17028 :
17029 : int
17030 : recog_286 (rtx x1 ATTRIBUTE_UNUSED,
17031 : rtx_insn *insn ATTRIBUTE_UNUSED,
17032 : int *pnum_clobbers ATTRIBUTE_UNUSED)
17033 : {
17034 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17035 : rtx x2, x3, x4, x5, x6, x7;
17036 : int res ATTRIBUTE_UNUSED;
17037 : x2 = XEXP (x1, 1);
17038 : x3 = XEXP (x2, 1);
17039 : x4 = XVECEXP (x3, 0, 0);
17040 : if (GET_CODE (x4) != CONST_INT)
17041 : return -1;
17042 : x5 = XVECEXP (x3, 0, 1);
17043 : if (GET_CODE (x5) == CONST_INT)
17044 : {
17045 : x6 = XEXP (x2, 0);
17046 : x7 = XEXP (x6, 1);
17047 : operands[2] = x7;
17048 : switch (XWINT (x4, 0))
17049 : {
17050 : case 1L:
17051 : if (XWINT (x5, 0) == 3L)
17052 : {
17053 : switch (GET_MODE (operands[0]))
17054 : {
17055 : case E_V2DFmode:
17056 : if (pattern1492 (x2,
17057 : E_V2DFmode,
17058 : E_V4DFmode) == 0
17059 : &&
17060 : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17061 : (TARGET_SSE2 && ix86_vec_interleave_v2df_operator_ok (operands, 1)))
17062 : return 5425; /* *vec_interleave_highv2df */
17063 : break;
17064 :
17065 : case E_V2DImode:
17066 : if (pattern1493 (x2,
17067 : E_V2DImode,
17068 : E_V4DImode) == 0
17069 : &&
17070 : #line 14897 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17071 : (TARGET_SSE2 && 1))
17072 : return 7243; /* vec_interleave_highv2di */
17073 : break;
17074 :
17075 : default:
17076 : break;
17077 : }
17078 : }
17079 : break;
17080 :
17081 : case 0L:
17082 : if (XWINT (x5, 0) == 2L)
17083 : {
17084 : switch (GET_MODE (operands[0]))
17085 : {
17086 : case E_V2DFmode:
17087 : if (pattern1492 (x2,
17088 : E_V2DFmode,
17089 : E_V4DFmode) == 0
17090 : &&
17091 : #line 13956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17092 : (TARGET_SSE2 && ix86_vec_interleave_v2df_operator_ok (operands, 0)))
17093 : return 5435; /* *vec_interleave_lowv2df */
17094 : break;
17095 :
17096 : case E_V2DImode:
17097 : if (pattern1493 (x2,
17098 : E_V2DImode,
17099 : E_V4DImode) == 0
17100 : &&
17101 : #line 14947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17102 : (TARGET_SSE2 && 1))
17103 : return 7249; /* vec_interleave_lowv2di */
17104 : break;
17105 :
17106 : default:
17107 : break;
17108 : }
17109 : }
17110 : break;
17111 :
17112 : default:
17113 : break;
17114 : }
17115 : }
17116 : operands[3] = x4;
17117 : if (!const_0_to_1_operand (operands[3], E_VOIDmode))
17118 : return -1;
17119 : x6 = XEXP (x2, 0);
17120 : x7 = XEXP (x6, 1);
17121 : operands[2] = x7;
17122 : operands[4] = x5;
17123 : if (!const_2_to_3_operand (operands[4], E_VOIDmode))
17124 : return -1;
17125 : switch (GET_MODE (operands[0]))
17126 : {
17127 : case E_V2DImode:
17128 : if (pattern1493 (x2,
17129 : E_V2DImode,
17130 : E_V4DImode) != 0
17131 : || !
17132 : #line 14965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17133 : (TARGET_SSE2))
17134 : return -1;
17135 : return 7251; /* sse2_shufpd_v2di */
17136 :
17137 : case E_V2DFmode:
17138 : if (pattern1493 (x2,
17139 : E_V2DFmode,
17140 : E_V4DFmode) != 0
17141 : || !
17142 : #line 14965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17143 : (TARGET_SSE2))
17144 : return -1;
17145 : return 7252; /* sse2_shufpd_v2df */
17146 :
17147 : default:
17148 : return -1;
17149 : }
17150 : }
17151 :
17152 : int
17153 : recog_288 (rtx x1 ATTRIBUTE_UNUSED,
17154 : rtx_insn *insn ATTRIBUTE_UNUSED,
17155 : int *pnum_clobbers ATTRIBUTE_UNUSED)
17156 : {
17157 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17158 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
17159 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
17160 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
17161 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
17162 : rtx x34, x35, x36, x37;
17163 : int res ATTRIBUTE_UNUSED;
17164 : x2 = XEXP (x1, 1);
17165 : x3 = XEXP (x2, 1);
17166 : if (pattern685 (x3) != 0)
17167 : return -1;
17168 : x4 = XEXP (x2, 0);
17169 : x5 = XEXP (x4, 1);
17170 : operands[2] = x5;
17171 : x6 = XVECEXP (x3, 0, 0);
17172 : switch (XWINT (x6, 0))
17173 : {
17174 : case 8L:
17175 : x7 = XVECEXP (x3, 0, 1);
17176 : if (XWINT (x7, 0) != 40L)
17177 : return -1;
17178 : x8 = XVECEXP (x3, 0, 2);
17179 : if (XWINT (x8, 0) != 9L)
17180 : return -1;
17181 : x9 = XVECEXP (x3, 0, 3);
17182 : if (XWINT (x9, 0) != 41L)
17183 : return -1;
17184 : x10 = XVECEXP (x3, 0, 4);
17185 : if (XWINT (x10, 0) != 10L)
17186 : return -1;
17187 : x11 = XVECEXP (x3, 0, 5);
17188 : if (XWINT (x11, 0) != 42L)
17189 : return -1;
17190 : x12 = XVECEXP (x3, 0, 6);
17191 : if (XWINT (x12, 0) != 11L)
17192 : return -1;
17193 : x13 = XVECEXP (x3, 0, 7);
17194 : if (XWINT (x13, 0) != 43L
17195 : || pattern1914 (x3) != 0)
17196 : return -1;
17197 : x14 = XVECEXP (x3, 0, 16);
17198 : if (XWINT (x14, 0) != 24L)
17199 : return -1;
17200 : x15 = XVECEXP (x3, 0, 17);
17201 : if (XWINT (x15, 0) != 56L)
17202 : return -1;
17203 : x16 = XVECEXP (x3, 0, 18);
17204 : if (XWINT (x16, 0) != 25L)
17205 : return -1;
17206 : x17 = XVECEXP (x3, 0, 19);
17207 : if (XWINT (x17, 0) != 57L)
17208 : return -1;
17209 : x18 = XVECEXP (x3, 0, 20);
17210 : if (XWINT (x18, 0) != 26L)
17211 : return -1;
17212 : x19 = XVECEXP (x3, 0, 21);
17213 : if (XWINT (x19, 0) != 58L)
17214 : return -1;
17215 : x20 = XVECEXP (x3, 0, 22);
17216 : if (XWINT (x20, 0) != 27L)
17217 : return -1;
17218 : x21 = XVECEXP (x3, 0, 23);
17219 : if (XWINT (x21, 0) != 59L
17220 : || pattern1920 (x3) != 0
17221 : || pattern1424 (x2,
17222 : E_V32QImode,
17223 : E_V64QImode) != 0
17224 : || !
17225 : #line 19919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17226 : (TARGET_AVX2 && 1 && 1))
17227 : return -1;
17228 : return 8396; /* avx2_interleave_highv32qi */
17229 :
17230 : case 0L:
17231 : x7 = XVECEXP (x3, 0, 1);
17232 : if (XWINT (x7, 0) != 32L)
17233 : return -1;
17234 : x8 = XVECEXP (x3, 0, 2);
17235 : if (XWINT (x8, 0) != 1L)
17236 : return -1;
17237 : x9 = XVECEXP (x3, 0, 3);
17238 : if (XWINT (x9, 0) != 33L)
17239 : return -1;
17240 : x10 = XVECEXP (x3, 0, 4);
17241 : if (XWINT (x10, 0) != 2L)
17242 : return -1;
17243 : x11 = XVECEXP (x3, 0, 5);
17244 : if (XWINT (x11, 0) != 34L)
17245 : return -1;
17246 : x12 = XVECEXP (x3, 0, 6);
17247 : if (XWINT (x12, 0) != 3L)
17248 : return -1;
17249 : x13 = XVECEXP (x3, 0, 7);
17250 : if (XWINT (x13, 0) != 35L)
17251 : return -1;
17252 : x14 = XVECEXP (x3, 0, 16);
17253 : if (XWINT (x14, 0) != 16L)
17254 : return -1;
17255 : x15 = XVECEXP (x3, 0, 17);
17256 : if (XWINT (x15, 0) != 48L)
17257 : return -1;
17258 : x16 = XVECEXP (x3, 0, 18);
17259 : if (XWINT (x16, 0) != 17L)
17260 : return -1;
17261 : x17 = XVECEXP (x3, 0, 19);
17262 : if (XWINT (x17, 0) != 49L)
17263 : return -1;
17264 : x18 = XVECEXP (x3, 0, 20);
17265 : if (XWINT (x18, 0) != 18L)
17266 : return -1;
17267 : x19 = XVECEXP (x3, 0, 21);
17268 : if (XWINT (x19, 0) != 50L)
17269 : return -1;
17270 : x20 = XVECEXP (x3, 0, 22);
17271 : if (XWINT (x20, 0) != 19L)
17272 : return -1;
17273 : x21 = XVECEXP (x3, 0, 23);
17274 : if (XWINT (x21, 0) != 51L)
17275 : return -1;
17276 : x22 = XVECEXP (x3, 0, 8);
17277 : switch (XWINT (x22, 0))
17278 : {
17279 : case 4L:
17280 : x23 = XVECEXP (x3, 0, 9);
17281 : if (XWINT (x23, 0) != 36L)
17282 : return -1;
17283 : x24 = XVECEXP (x3, 0, 10);
17284 : if (XWINT (x24, 0) != 5L)
17285 : return -1;
17286 : x25 = XVECEXP (x3, 0, 11);
17287 : if (XWINT (x25, 0) != 37L)
17288 : return -1;
17289 : x26 = XVECEXP (x3, 0, 12);
17290 : if (XWINT (x26, 0) != 6L)
17291 : return -1;
17292 : x27 = XVECEXP (x3, 0, 13);
17293 : if (XWINT (x27, 0) != 38L)
17294 : return -1;
17295 : x28 = XVECEXP (x3, 0, 14);
17296 : if (XWINT (x28, 0) != 7L)
17297 : return -1;
17298 : x29 = XVECEXP (x3, 0, 15);
17299 : if (XWINT (x29, 0) != 39L)
17300 : return -1;
17301 : x30 = XVECEXP (x3, 0, 24);
17302 : if (XWINT (x30, 0) != 20L)
17303 : return -1;
17304 : x31 = XVECEXP (x3, 0, 25);
17305 : if (XWINT (x31, 0) != 52L)
17306 : return -1;
17307 : x32 = XVECEXP (x3, 0, 26);
17308 : if (XWINT (x32, 0) != 21L)
17309 : return -1;
17310 : x33 = XVECEXP (x3, 0, 27);
17311 : if (XWINT (x33, 0) != 53L)
17312 : return -1;
17313 : x34 = XVECEXP (x3, 0, 28);
17314 : if (XWINT (x34, 0) != 22L)
17315 : return -1;
17316 : x35 = XVECEXP (x3, 0, 29);
17317 : if (XWINT (x35, 0) != 54L)
17318 : return -1;
17319 : x36 = XVECEXP (x3, 0, 30);
17320 : if (XWINT (x36, 0) != 23L)
17321 : return -1;
17322 : x37 = XVECEXP (x3, 0, 31);
17323 : if (XWINT (x37, 0) != 55L
17324 : || pattern1424 (x2,
17325 : E_V32QImode,
17326 : E_V64QImode) != 0
17327 : || !
17328 : #line 20015 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17329 : (TARGET_AVX2 && 1 && 1))
17330 : return -1;
17331 : return 8402; /* avx2_interleave_lowv32qi */
17332 :
17333 : case 8L:
17334 : x23 = XVECEXP (x3, 0, 9);
17335 : if (XWINT (x23, 0) != 40L)
17336 : return -1;
17337 : x24 = XVECEXP (x3, 0, 10);
17338 : if (XWINT (x24, 0) != 9L)
17339 : return -1;
17340 : x25 = XVECEXP (x3, 0, 11);
17341 : if (XWINT (x25, 0) != 41L)
17342 : return -1;
17343 : x26 = XVECEXP (x3, 0, 12);
17344 : if (XWINT (x26, 0) != 10L)
17345 : return -1;
17346 : x27 = XVECEXP (x3, 0, 13);
17347 : if (XWINT (x27, 0) != 42L)
17348 : return -1;
17349 : x28 = XVECEXP (x3, 0, 14);
17350 : if (XWINT (x28, 0) != 11L)
17351 : return -1;
17352 : x29 = XVECEXP (x3, 0, 15);
17353 : if (XWINT (x29, 0) != 43L)
17354 : return -1;
17355 : x30 = XVECEXP (x3, 0, 24);
17356 : if (XWINT (x30, 0) != 24L)
17357 : return -1;
17358 : x31 = XVECEXP (x3, 0, 25);
17359 : if (XWINT (x31, 0) != 56L)
17360 : return -1;
17361 : x32 = XVECEXP (x3, 0, 26);
17362 : if (XWINT (x32, 0) != 25L)
17363 : return -1;
17364 : x33 = XVECEXP (x3, 0, 27);
17365 : if (XWINT (x33, 0) != 57L)
17366 : return -1;
17367 : x34 = XVECEXP (x3, 0, 28);
17368 : if (XWINT (x34, 0) != 26L)
17369 : return -1;
17370 : x35 = XVECEXP (x3, 0, 29);
17371 : if (XWINT (x35, 0) != 58L)
17372 : return -1;
17373 : x36 = XVECEXP (x3, 0, 30);
17374 : if (XWINT (x36, 0) != 27L)
17375 : return -1;
17376 : x37 = XVECEXP (x3, 0, 31);
17377 : if (XWINT (x37, 0) != 59L)
17378 : return -1;
17379 : switch (GET_MODE (operands[0]))
17380 : {
17381 : case E_V32HImode:
17382 : if (pattern1424 (x2,
17383 : E_V32HImode,
17384 : E_V64HImode) != 0
17385 : || !
17386 : #line 20135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17387 : (TARGET_AVX512BW))
17388 : return -1;
17389 : return 8424; /* *avx512bw_interleave_lowv32hi */
17390 :
17391 : case E_V32HFmode:
17392 : if (pattern1424 (x2,
17393 : E_V32HFmode,
17394 : E_V64HFmode) != 0
17395 : || !
17396 : #line 20135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17397 : (TARGET_AVX512BW))
17398 : return -1;
17399 : return 8426; /* *avx512bw_interleave_lowv32hf */
17400 :
17401 : case E_V32BFmode:
17402 : if (pattern1424 (x2,
17403 : E_V32BFmode,
17404 : E_V64BFmode) != 0
17405 : || !
17406 : #line 20135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17407 : (TARGET_AVX512BW))
17408 : return -1;
17409 : return 8428; /* *avx512bw_interleave_lowv32bf */
17410 :
17411 : default:
17412 : return -1;
17413 : }
17414 :
17415 : default:
17416 : return -1;
17417 : }
17418 :
17419 : case 4L:
17420 : x7 = XVECEXP (x3, 0, 1);
17421 : if (XWINT (x7, 0) != 36L)
17422 : return -1;
17423 : x8 = XVECEXP (x3, 0, 2);
17424 : if (XWINT (x8, 0) != 5L)
17425 : return -1;
17426 : x9 = XVECEXP (x3, 0, 3);
17427 : if (XWINT (x9, 0) != 37L)
17428 : return -1;
17429 : x10 = XVECEXP (x3, 0, 4);
17430 : if (XWINT (x10, 0) != 6L)
17431 : return -1;
17432 : x11 = XVECEXP (x3, 0, 5);
17433 : if (XWINT (x11, 0) != 38L)
17434 : return -1;
17435 : x12 = XVECEXP (x3, 0, 6);
17436 : if (XWINT (x12, 0) != 7L)
17437 : return -1;
17438 : x13 = XVECEXP (x3, 0, 7);
17439 : if (XWINT (x13, 0) != 39L
17440 : || pattern1914 (x3) != 0)
17441 : return -1;
17442 : x14 = XVECEXP (x3, 0, 16);
17443 : if (XWINT (x14, 0) != 20L)
17444 : return -1;
17445 : x15 = XVECEXP (x3, 0, 17);
17446 : if (XWINT (x15, 0) != 52L)
17447 : return -1;
17448 : x16 = XVECEXP (x3, 0, 18);
17449 : if (XWINT (x16, 0) != 21L)
17450 : return -1;
17451 : x17 = XVECEXP (x3, 0, 19);
17452 : if (XWINT (x17, 0) != 53L)
17453 : return -1;
17454 : x18 = XVECEXP (x3, 0, 20);
17455 : if (XWINT (x18, 0) != 22L)
17456 : return -1;
17457 : x19 = XVECEXP (x3, 0, 21);
17458 : if (XWINT (x19, 0) != 54L)
17459 : return -1;
17460 : x20 = XVECEXP (x3, 0, 22);
17461 : if (XWINT (x20, 0) != 23L)
17462 : return -1;
17463 : x21 = XVECEXP (x3, 0, 23);
17464 : if (XWINT (x21, 0) != 55L
17465 : || pattern1920 (x3) != 0)
17466 : return -1;
17467 : switch (GET_MODE (operands[0]))
17468 : {
17469 : case E_V32HImode:
17470 : if (pattern1424 (x2,
17471 : E_V32HImode,
17472 : E_V64HImode) != 0
17473 : || !
17474 : #line 20067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17475 : (TARGET_AVX512BW))
17476 : return -1;
17477 : return 8406; /* avx512bw_interleave_highv32hi */
17478 :
17479 : case E_V32HFmode:
17480 : if (pattern1424 (x2,
17481 : E_V32HFmode,
17482 : E_V64HFmode) != 0
17483 : || !
17484 : #line 20067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17485 : (TARGET_AVX512BW))
17486 : return -1;
17487 : return 8408; /* avx512bw_interleave_highv32hf */
17488 :
17489 : case E_V32BFmode:
17490 : if (pattern1424 (x2,
17491 : E_V32BFmode,
17492 : E_V64BFmode) != 0
17493 : || !
17494 : #line 20067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17495 : (TARGET_AVX512BW))
17496 : return -1;
17497 : return 8410; /* avx512bw_interleave_highv32bf */
17498 :
17499 : default:
17500 : return -1;
17501 : }
17502 :
17503 : default:
17504 : return -1;
17505 : }
17506 : }
17507 :
17508 : int
17509 : recog_298 (rtx x1 ATTRIBUTE_UNUSED,
17510 : rtx_insn *insn ATTRIBUTE_UNUSED,
17511 : int *pnum_clobbers ATTRIBUTE_UNUSED)
17512 : {
17513 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17514 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
17515 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
17516 : int res ATTRIBUTE_UNUSED;
17517 : x2 = XEXP (x1, 1);
17518 : x3 = XEXP (x2, 1);
17519 : x4 = XVECEXP (x3, 0, 1);
17520 : operands[3] = x4;
17521 : x5 = XVECEXP (x3, 0, 2);
17522 : operands[4] = x5;
17523 : x6 = XVECEXP (x3, 0, 3);
17524 : operands[5] = x6;
17525 : x7 = XVECEXP (x3, 0, 5);
17526 : operands[7] = x7;
17527 : x8 = XVECEXP (x3, 0, 6);
17528 : operands[8] = x8;
17529 : x9 = XVECEXP (x3, 0, 7);
17530 : operands[9] = x9;
17531 : x10 = XVECEXP (x3, 0, 8);
17532 : operands[10] = x10;
17533 : x11 = XVECEXP (x3, 0, 9);
17534 : operands[11] = x11;
17535 : x12 = XVECEXP (x3, 0, 10);
17536 : operands[12] = x12;
17537 : x13 = XVECEXP (x3, 0, 11);
17538 : operands[13] = x13;
17539 : x14 = XVECEXP (x3, 0, 12);
17540 : operands[14] = x14;
17541 : x15 = XVECEXP (x3, 0, 13);
17542 : operands[15] = x15;
17543 : x16 = XVECEXP (x3, 0, 14);
17544 : operands[16] = x16;
17545 : x17 = XVECEXP (x3, 0, 15);
17546 : operands[17] = x17;
17547 : switch (GET_MODE (operands[0]))
17548 : {
17549 : case E_V16SFmode:
17550 : if (!register_operand (operands[0], E_V16SFmode)
17551 : || GET_MODE (x2) != E_V16SFmode
17552 : || !register_operand (operands[1], E_V16SFmode)
17553 : || pattern1862 () != 0
17554 : || !
17555 : #line 20946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17556 : (TARGET_AVX512F
17557 : && (INTVAL (operands[2]) & 3) == 0
17558 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
17559 : && INTVAL (operands[2]) == INTVAL (operands[4]) - 2
17560 : && INTVAL (operands[2]) == INTVAL (operands[5]) - 3
17561 : && (INTVAL (operands[6]) & 3) == 0
17562 : && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
17563 : && INTVAL (operands[6]) == INTVAL (operands[8]) - 2
17564 : && INTVAL (operands[6]) == INTVAL (operands[9]) - 3
17565 : && (INTVAL (operands[10]) & 3) == 0
17566 : && INTVAL (operands[10]) == INTVAL (operands[11]) - 1
17567 : && INTVAL (operands[10]) == INTVAL (operands[12]) - 2
17568 : && INTVAL (operands[10]) == INTVAL (operands[13]) - 3
17569 : && (INTVAL (operands[14]) & 3) == 0
17570 : && INTVAL (operands[14]) == INTVAL (operands[15]) - 1
17571 : && INTVAL (operands[14]) == INTVAL (operands[16]) - 2
17572 : && INTVAL (operands[14]) == INTVAL (operands[17]) - 3))
17573 : return -1;
17574 : return 8508; /* *avx512f_shuf_f32x4_1_1 */
17575 :
17576 : case E_V16SImode:
17577 : if (!register_operand (operands[0], E_V16SImode)
17578 : || GET_MODE (x2) != E_V16SImode)
17579 : return -1;
17580 : if (register_operand (operands[1], E_V16SImode)
17581 : && pattern1862 () == 0
17582 : &&
17583 : #line 20946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17584 : (TARGET_AVX512F
17585 : && (INTVAL (operands[2]) & 3) == 0
17586 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
17587 : && INTVAL (operands[2]) == INTVAL (operands[4]) - 2
17588 : && INTVAL (operands[2]) == INTVAL (operands[5]) - 3
17589 : && (INTVAL (operands[6]) & 3) == 0
17590 : && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
17591 : && INTVAL (operands[6]) == INTVAL (operands[8]) - 2
17592 : && INTVAL (operands[6]) == INTVAL (operands[9]) - 3
17593 : && (INTVAL (operands[10]) & 3) == 0
17594 : && INTVAL (operands[10]) == INTVAL (operands[11]) - 1
17595 : && INTVAL (operands[10]) == INTVAL (operands[12]) - 2
17596 : && INTVAL (operands[10]) == INTVAL (operands[13]) - 3
17597 : && (INTVAL (operands[14]) & 3) == 0
17598 : && INTVAL (operands[14]) == INTVAL (operands[15]) - 1
17599 : && INTVAL (operands[14]) == INTVAL (operands[16]) - 2
17600 : && INTVAL (operands[14]) == INTVAL (operands[17]) - 3))
17601 : return 8510; /* *avx512f_shuf_i32x4_1_1 */
17602 : if (!nonimmediate_operand (operands[1], E_V16SImode)
17603 : || pattern1730 () != 0
17604 : || !const_8_to_11_operand (operands[10], E_VOIDmode)
17605 : || !const_8_to_11_operand (operands[11], E_VOIDmode)
17606 : || !const_8_to_11_operand (operands[12], E_VOIDmode)
17607 : || !const_8_to_11_operand (operands[13], E_VOIDmode)
17608 : || !const_12_to_15_operand (operands[14], E_VOIDmode)
17609 : || !const_12_to_15_operand (operands[15], E_VOIDmode)
17610 : || !const_12_to_15_operand (operands[16], E_VOIDmode)
17611 : || !const_12_to_15_operand (operands[17], E_VOIDmode)
17612 : || !
17613 : #line 21029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17614 : (TARGET_AVX512F
17615 : && INTVAL (operands[2]) + 4 == INTVAL (operands[6])
17616 : && INTVAL (operands[3]) + 4 == INTVAL (operands[7])
17617 : && INTVAL (operands[4]) + 4 == INTVAL (operands[8])
17618 : && INTVAL (operands[5]) + 4 == INTVAL (operands[9])
17619 : && INTVAL (operands[2]) + 8 == INTVAL (operands[10])
17620 : && INTVAL (operands[3]) + 8 == INTVAL (operands[11])
17621 : && INTVAL (operands[4]) + 8 == INTVAL (operands[12])
17622 : && INTVAL (operands[5]) + 8 == INTVAL (operands[13])
17623 : && INTVAL (operands[2]) + 12 == INTVAL (operands[14])
17624 : && INTVAL (operands[3]) + 12 == INTVAL (operands[15])
17625 : && INTVAL (operands[4]) + 12 == INTVAL (operands[16])
17626 : && INTVAL (operands[5]) + 12 == INTVAL (operands[17])))
17627 : return -1;
17628 : return 8512; /* avx512f_pshufd_1 */
17629 :
17630 : default:
17631 : return -1;
17632 : }
17633 : }
17634 :
17635 : int
17636 : recog_309 (rtx x1 ATTRIBUTE_UNUSED,
17637 : rtx_insn *insn ATTRIBUTE_UNUSED,
17638 : int *pnum_clobbers ATTRIBUTE_UNUSED)
17639 : {
17640 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17641 : rtx x2, x3, x4;
17642 : int res ATTRIBUTE_UNUSED;
17643 : x2 = XEXP (x1, 1);
17644 : x3 = XEXP (x2, 0);
17645 : x4 = XEXP (x3, 0);
17646 : switch (GET_CODE (x4))
17647 : {
17648 : case REG:
17649 : case SUBREG:
17650 : case MEM:
17651 : case NOT:
17652 : switch (pattern537 (x2))
17653 : {
17654 : case 0:
17655 : if (!(
17656 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17657 : ((64 == 64 || TARGET_AVX512VL
17658 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17659 : && ix86_pre_reload_split ()
17660 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17661 : STRIP_UNARY (operands[4]))
17662 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17663 : STRIP_UNARY (operands[4]))
17664 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17665 : STRIP_UNARY (operands[3]))
17666 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17667 : STRIP_UNARY (operands[3])))) &&
17668 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17669 : (TARGET_AVX512F)))
17670 : return -1;
17671 : return 5563; /* *avx512bw_vpternlogv64qi_1 */
17672 :
17673 : case 1:
17674 : if (!(
17675 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17676 : ((32 == 64 || TARGET_AVX512VL
17677 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17678 : && ix86_pre_reload_split ()
17679 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17680 : STRIP_UNARY (operands[4]))
17681 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17682 : STRIP_UNARY (operands[4]))
17683 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17684 : STRIP_UNARY (operands[3]))
17685 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17686 : STRIP_UNARY (operands[3])))) &&
17687 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17688 : (TARGET_AVX)))
17689 : return -1;
17690 : return 5590; /* *avx512vl_vpternlogv32qi_1 */
17691 :
17692 : case 2:
17693 : if (!
17694 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17695 : ((16 == 64 || TARGET_AVX512VL
17696 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17697 : && ix86_pre_reload_split ()
17698 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17699 : STRIP_UNARY (operands[4]))
17700 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17701 : STRIP_UNARY (operands[4]))
17702 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17703 : STRIP_UNARY (operands[3]))
17704 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17705 : STRIP_UNARY (operands[3])))))
17706 : return -1;
17707 : return 5617; /* *avx512vl_vpternlogv16qi_1 */
17708 :
17709 : case 3:
17710 : if (!(
17711 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17712 : ((64 == 64 || TARGET_AVX512VL
17713 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17714 : && ix86_pre_reload_split ()
17715 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17716 : STRIP_UNARY (operands[4]))
17717 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17718 : STRIP_UNARY (operands[4]))
17719 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17720 : STRIP_UNARY (operands[3]))
17721 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17722 : STRIP_UNARY (operands[3])))) &&
17723 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17724 : (TARGET_AVX512F)))
17725 : return -1;
17726 : return 5644; /* *avx512bw_vpternlogv32hi_1 */
17727 :
17728 : case 4:
17729 : if (!(
17730 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17731 : ((32 == 64 || TARGET_AVX512VL
17732 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17733 : && ix86_pre_reload_split ()
17734 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17735 : STRIP_UNARY (operands[4]))
17736 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17737 : STRIP_UNARY (operands[4]))
17738 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17739 : STRIP_UNARY (operands[3]))
17740 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17741 : STRIP_UNARY (operands[3])))) &&
17742 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17743 : (TARGET_AVX)))
17744 : return -1;
17745 : return 5671; /* *avx512vl_vpternlogv16hi_1 */
17746 :
17747 : case 5:
17748 : if (!
17749 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17750 : ((16 == 64 || TARGET_AVX512VL
17751 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17752 : && ix86_pre_reload_split ()
17753 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17754 : STRIP_UNARY (operands[4]))
17755 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17756 : STRIP_UNARY (operands[4]))
17757 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17758 : STRIP_UNARY (operands[3]))
17759 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17760 : STRIP_UNARY (operands[3])))))
17761 : return -1;
17762 : return 5698; /* *avx512vl_vpternlogv8hi_1 */
17763 :
17764 : case 6:
17765 : if (!(
17766 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17767 : ((64 == 64 || TARGET_AVX512VL
17768 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17769 : && ix86_pre_reload_split ()
17770 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17771 : STRIP_UNARY (operands[4]))
17772 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17773 : STRIP_UNARY (operands[4]))
17774 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17775 : STRIP_UNARY (operands[3]))
17776 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17777 : STRIP_UNARY (operands[3])))) &&
17778 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17779 : (TARGET_AVX512F)))
17780 : return -1;
17781 : return 5725; /* *avx512f_vpternlogv16si_1 */
17782 :
17783 : case 7:
17784 : if (!(
17785 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17786 : ((32 == 64 || TARGET_AVX512VL
17787 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17788 : && ix86_pre_reload_split ()
17789 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17790 : STRIP_UNARY (operands[4]))
17791 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17792 : STRIP_UNARY (operands[4]))
17793 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17794 : STRIP_UNARY (operands[3]))
17795 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17796 : STRIP_UNARY (operands[3])))) &&
17797 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17798 : (TARGET_AVX)))
17799 : return -1;
17800 : return 5752; /* *avx512vl_vpternlogv8si_1 */
17801 :
17802 : case 8:
17803 : if (!
17804 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17805 : ((16 == 64 || TARGET_AVX512VL
17806 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17807 : && ix86_pre_reload_split ()
17808 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17809 : STRIP_UNARY (operands[4]))
17810 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17811 : STRIP_UNARY (operands[4]))
17812 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17813 : STRIP_UNARY (operands[3]))
17814 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17815 : STRIP_UNARY (operands[3])))))
17816 : return -1;
17817 : return 5779; /* *avx512vl_vpternlogv4si_1 */
17818 :
17819 : case 9:
17820 : if (!(
17821 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17822 : ((64 == 64 || TARGET_AVX512VL
17823 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17824 : && ix86_pre_reload_split ()
17825 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17826 : STRIP_UNARY (operands[4]))
17827 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17828 : STRIP_UNARY (operands[4]))
17829 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17830 : STRIP_UNARY (operands[3]))
17831 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17832 : STRIP_UNARY (operands[3])))) &&
17833 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17834 : (TARGET_AVX512F)))
17835 : return -1;
17836 : return 5806; /* *avx512f_vpternlogv8di_1 */
17837 :
17838 : case 10:
17839 : if (!(
17840 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17841 : ((32 == 64 || TARGET_AVX512VL
17842 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17843 : && ix86_pre_reload_split ()
17844 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17845 : STRIP_UNARY (operands[4]))
17846 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17847 : STRIP_UNARY (operands[4]))
17848 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17849 : STRIP_UNARY (operands[3]))
17850 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17851 : STRIP_UNARY (operands[3])))) &&
17852 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17853 : (TARGET_AVX)))
17854 : return -1;
17855 : return 5833; /* *avx512vl_vpternlogv4di_1 */
17856 :
17857 : case 11:
17858 : if (!
17859 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17860 : ((16 == 64 || TARGET_AVX512VL
17861 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17862 : && ix86_pre_reload_split ()
17863 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17864 : STRIP_UNARY (operands[4]))
17865 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17866 : STRIP_UNARY (operands[4]))
17867 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17868 : STRIP_UNARY (operands[3]))
17869 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17870 : STRIP_UNARY (operands[3])))))
17871 : return -1;
17872 : return 5860; /* *avx512vl_vpternlogv2di_1 */
17873 :
17874 : case 12:
17875 : if (!(
17876 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17877 : ((64 == 64 || TARGET_AVX512VL
17878 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17879 : && ix86_pre_reload_split ()
17880 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17881 : STRIP_UNARY (operands[4]))
17882 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17883 : STRIP_UNARY (operands[4]))
17884 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17885 : STRIP_UNARY (operands[3]))
17886 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17887 : STRIP_UNARY (operands[3])))) &&
17888 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17889 : (TARGET_AVX512F)))
17890 : return -1;
17891 : return 5566; /* *avx512bw_vpternlogv64qi_1 */
17892 :
17893 : case 13:
17894 : if (!(
17895 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17896 : ((32 == 64 || TARGET_AVX512VL
17897 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17898 : && ix86_pre_reload_split ()
17899 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17900 : STRIP_UNARY (operands[4]))
17901 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17902 : STRIP_UNARY (operands[4]))
17903 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17904 : STRIP_UNARY (operands[3]))
17905 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17906 : STRIP_UNARY (operands[3])))) &&
17907 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17908 : (TARGET_AVX)))
17909 : return -1;
17910 : return 5593; /* *avx512vl_vpternlogv32qi_1 */
17911 :
17912 : case 14:
17913 : if (!
17914 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17915 : ((16 == 64 || TARGET_AVX512VL
17916 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17917 : && ix86_pre_reload_split ()
17918 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17919 : STRIP_UNARY (operands[4]))
17920 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17921 : STRIP_UNARY (operands[4]))
17922 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17923 : STRIP_UNARY (operands[3]))
17924 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17925 : STRIP_UNARY (operands[3])))))
17926 : return -1;
17927 : return 5620; /* *avx512vl_vpternlogv16qi_1 */
17928 :
17929 : case 15:
17930 : if (!(
17931 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17932 : ((64 == 64 || TARGET_AVX512VL
17933 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17934 : && ix86_pre_reload_split ()
17935 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17936 : STRIP_UNARY (operands[4]))
17937 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17938 : STRIP_UNARY (operands[4]))
17939 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17940 : STRIP_UNARY (operands[3]))
17941 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17942 : STRIP_UNARY (operands[3])))) &&
17943 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17944 : (TARGET_AVX512F)))
17945 : return -1;
17946 : return 5647; /* *avx512bw_vpternlogv32hi_1 */
17947 :
17948 : case 16:
17949 : if (!(
17950 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17951 : ((32 == 64 || TARGET_AVX512VL
17952 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17953 : && ix86_pre_reload_split ()
17954 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17955 : STRIP_UNARY (operands[4]))
17956 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17957 : STRIP_UNARY (operands[4]))
17958 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17959 : STRIP_UNARY (operands[3]))
17960 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17961 : STRIP_UNARY (operands[3])))) &&
17962 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17963 : (TARGET_AVX)))
17964 : return -1;
17965 : return 5674; /* *avx512vl_vpternlogv16hi_1 */
17966 :
17967 : case 17:
17968 : if (!
17969 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17970 : ((16 == 64 || TARGET_AVX512VL
17971 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17972 : && ix86_pre_reload_split ()
17973 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17974 : STRIP_UNARY (operands[4]))
17975 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17976 : STRIP_UNARY (operands[4]))
17977 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17978 : STRIP_UNARY (operands[3]))
17979 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17980 : STRIP_UNARY (operands[3])))))
17981 : return -1;
17982 : return 5701; /* *avx512vl_vpternlogv8hi_1 */
17983 :
17984 : case 18:
17985 : if (!(
17986 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17987 : ((64 == 64 || TARGET_AVX512VL
17988 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17989 : && ix86_pre_reload_split ()
17990 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17991 : STRIP_UNARY (operands[4]))
17992 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17993 : STRIP_UNARY (operands[4]))
17994 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17995 : STRIP_UNARY (operands[3]))
17996 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17997 : STRIP_UNARY (operands[3])))) &&
17998 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17999 : (TARGET_AVX512F)))
18000 : return -1;
18001 : return 5728; /* *avx512f_vpternlogv16si_1 */
18002 :
18003 : case 19:
18004 : if (!(
18005 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18006 : ((32 == 64 || TARGET_AVX512VL
18007 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18008 : && ix86_pre_reload_split ()
18009 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18010 : STRIP_UNARY (operands[4]))
18011 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18012 : STRIP_UNARY (operands[4]))
18013 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18014 : STRIP_UNARY (operands[3]))
18015 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18016 : STRIP_UNARY (operands[3])))) &&
18017 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18018 : (TARGET_AVX)))
18019 : return -1;
18020 : return 5755; /* *avx512vl_vpternlogv8si_1 */
18021 :
18022 : case 20:
18023 : if (!
18024 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18025 : ((16 == 64 || TARGET_AVX512VL
18026 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18027 : && ix86_pre_reload_split ()
18028 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18029 : STRIP_UNARY (operands[4]))
18030 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18031 : STRIP_UNARY (operands[4]))
18032 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18033 : STRIP_UNARY (operands[3]))
18034 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18035 : STRIP_UNARY (operands[3])))))
18036 : return -1;
18037 : return 5782; /* *avx512vl_vpternlogv4si_1 */
18038 :
18039 : case 21:
18040 : if (!(
18041 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18042 : ((64 == 64 || TARGET_AVX512VL
18043 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18044 : && ix86_pre_reload_split ()
18045 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18046 : STRIP_UNARY (operands[4]))
18047 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18048 : STRIP_UNARY (operands[4]))
18049 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18050 : STRIP_UNARY (operands[3]))
18051 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18052 : STRIP_UNARY (operands[3])))) &&
18053 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18054 : (TARGET_AVX512F)))
18055 : return -1;
18056 : return 5809; /* *avx512f_vpternlogv8di_1 */
18057 :
18058 : case 22:
18059 : if (!(
18060 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18061 : ((32 == 64 || TARGET_AVX512VL
18062 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18063 : && ix86_pre_reload_split ()
18064 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18065 : STRIP_UNARY (operands[4]))
18066 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18067 : STRIP_UNARY (operands[4]))
18068 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18069 : STRIP_UNARY (operands[3]))
18070 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18071 : STRIP_UNARY (operands[3])))) &&
18072 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18073 : (TARGET_AVX)))
18074 : return -1;
18075 : return 5836; /* *avx512vl_vpternlogv4di_1 */
18076 :
18077 : case 23:
18078 : if (!
18079 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18080 : ((16 == 64 || TARGET_AVX512VL
18081 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18082 : && ix86_pre_reload_split ()
18083 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18084 : STRIP_UNARY (operands[4]))
18085 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18086 : STRIP_UNARY (operands[4]))
18087 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18088 : STRIP_UNARY (operands[3]))
18089 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18090 : STRIP_UNARY (operands[3])))))
18091 : return -1;
18092 : return 5863; /* *avx512vl_vpternlogv2di_1 */
18093 :
18094 : case 24:
18095 : if (!(
18096 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18097 : ((64 == 64 || TARGET_AVX512VL
18098 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18099 : && ix86_pre_reload_split ()
18100 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18101 : STRIP_UNARY (operands[4]))
18102 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18103 : STRIP_UNARY (operands[4]))
18104 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18105 : STRIP_UNARY (operands[3]))
18106 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18107 : STRIP_UNARY (operands[3])))) &&
18108 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18109 : (TARGET_AVX512F)))
18110 : return -1;
18111 : return 5569; /* *avx512bw_vpternlogv64qi_1 */
18112 :
18113 : case 25:
18114 : if (!(
18115 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18116 : ((32 == 64 || TARGET_AVX512VL
18117 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18118 : && ix86_pre_reload_split ()
18119 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18120 : STRIP_UNARY (operands[4]))
18121 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18122 : STRIP_UNARY (operands[4]))
18123 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18124 : STRIP_UNARY (operands[3]))
18125 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18126 : STRIP_UNARY (operands[3])))) &&
18127 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18128 : (TARGET_AVX)))
18129 : return -1;
18130 : return 5596; /* *avx512vl_vpternlogv32qi_1 */
18131 :
18132 : case 26:
18133 : if (!
18134 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18135 : ((16 == 64 || TARGET_AVX512VL
18136 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18137 : && ix86_pre_reload_split ()
18138 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18139 : STRIP_UNARY (operands[4]))
18140 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18141 : STRIP_UNARY (operands[4]))
18142 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18143 : STRIP_UNARY (operands[3]))
18144 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18145 : STRIP_UNARY (operands[3])))))
18146 : return -1;
18147 : return 5623; /* *avx512vl_vpternlogv16qi_1 */
18148 :
18149 : case 27:
18150 : if (!(
18151 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18152 : ((64 == 64 || TARGET_AVX512VL
18153 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18154 : && ix86_pre_reload_split ()
18155 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18156 : STRIP_UNARY (operands[4]))
18157 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18158 : STRIP_UNARY (operands[4]))
18159 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18160 : STRIP_UNARY (operands[3]))
18161 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18162 : STRIP_UNARY (operands[3])))) &&
18163 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18164 : (TARGET_AVX512F)))
18165 : return -1;
18166 : return 5650; /* *avx512bw_vpternlogv32hi_1 */
18167 :
18168 : case 28:
18169 : if (!(
18170 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18171 : ((32 == 64 || TARGET_AVX512VL
18172 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18173 : && ix86_pre_reload_split ()
18174 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18175 : STRIP_UNARY (operands[4]))
18176 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18177 : STRIP_UNARY (operands[4]))
18178 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18179 : STRIP_UNARY (operands[3]))
18180 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18181 : STRIP_UNARY (operands[3])))) &&
18182 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18183 : (TARGET_AVX)))
18184 : return -1;
18185 : return 5677; /* *avx512vl_vpternlogv16hi_1 */
18186 :
18187 : case 29:
18188 : if (!
18189 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18190 : ((16 == 64 || TARGET_AVX512VL
18191 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18192 : && ix86_pre_reload_split ()
18193 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18194 : STRIP_UNARY (operands[4]))
18195 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18196 : STRIP_UNARY (operands[4]))
18197 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18198 : STRIP_UNARY (operands[3]))
18199 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18200 : STRIP_UNARY (operands[3])))))
18201 : return -1;
18202 : return 5704; /* *avx512vl_vpternlogv8hi_1 */
18203 :
18204 : case 30:
18205 : if (!(
18206 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18207 : ((64 == 64 || TARGET_AVX512VL
18208 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18209 : && ix86_pre_reload_split ()
18210 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18211 : STRIP_UNARY (operands[4]))
18212 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18213 : STRIP_UNARY (operands[4]))
18214 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18215 : STRIP_UNARY (operands[3]))
18216 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18217 : STRIP_UNARY (operands[3])))) &&
18218 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18219 : (TARGET_AVX512F)))
18220 : return -1;
18221 : return 5731; /* *avx512f_vpternlogv16si_1 */
18222 :
18223 : case 31:
18224 : if (!(
18225 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18226 : ((32 == 64 || TARGET_AVX512VL
18227 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18228 : && ix86_pre_reload_split ()
18229 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18230 : STRIP_UNARY (operands[4]))
18231 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18232 : STRIP_UNARY (operands[4]))
18233 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18234 : STRIP_UNARY (operands[3]))
18235 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18236 : STRIP_UNARY (operands[3])))) &&
18237 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18238 : (TARGET_AVX)))
18239 : return -1;
18240 : return 5758; /* *avx512vl_vpternlogv8si_1 */
18241 :
18242 : case 32:
18243 : if (!
18244 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18245 : ((16 == 64 || TARGET_AVX512VL
18246 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18247 : && ix86_pre_reload_split ()
18248 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18249 : STRIP_UNARY (operands[4]))
18250 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18251 : STRIP_UNARY (operands[4]))
18252 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18253 : STRIP_UNARY (operands[3]))
18254 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18255 : STRIP_UNARY (operands[3])))))
18256 : return -1;
18257 : return 5785; /* *avx512vl_vpternlogv4si_1 */
18258 :
18259 : case 33:
18260 : if (!(
18261 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18262 : ((64 == 64 || TARGET_AVX512VL
18263 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18264 : && ix86_pre_reload_split ()
18265 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18266 : STRIP_UNARY (operands[4]))
18267 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18268 : STRIP_UNARY (operands[4]))
18269 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18270 : STRIP_UNARY (operands[3]))
18271 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18272 : STRIP_UNARY (operands[3])))) &&
18273 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18274 : (TARGET_AVX512F)))
18275 : return -1;
18276 : return 5812; /* *avx512f_vpternlogv8di_1 */
18277 :
18278 : case 34:
18279 : if (!(
18280 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18281 : ((32 == 64 || TARGET_AVX512VL
18282 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18283 : && ix86_pre_reload_split ()
18284 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18285 : STRIP_UNARY (operands[4]))
18286 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18287 : STRIP_UNARY (operands[4]))
18288 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18289 : STRIP_UNARY (operands[3]))
18290 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18291 : STRIP_UNARY (operands[3])))) &&
18292 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18293 : (TARGET_AVX)))
18294 : return -1;
18295 : return 5839; /* *avx512vl_vpternlogv4di_1 */
18296 :
18297 : case 35:
18298 : if (!
18299 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18300 : ((16 == 64 || TARGET_AVX512VL
18301 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18302 : && ix86_pre_reload_split ()
18303 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18304 : STRIP_UNARY (operands[4]))
18305 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18306 : STRIP_UNARY (operands[4]))
18307 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18308 : STRIP_UNARY (operands[3]))
18309 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18310 : STRIP_UNARY (operands[3])))))
18311 : return -1;
18312 : return 5866; /* *avx512vl_vpternlogv2di_1 */
18313 :
18314 : case 36:
18315 : if (!(
18316 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18317 : ((64 == 64 || TARGET_AVX512VL
18318 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18319 : && ix86_pre_reload_split ()) &&
18320 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18321 : (TARGET_AVX512F)))
18322 : return -1;
18323 : return 6847; /* *avx512bw_vpternlogv64qi_3 */
18324 :
18325 : case 37:
18326 : if (!(
18327 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18328 : ((32 == 64 || TARGET_AVX512VL
18329 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18330 : && ix86_pre_reload_split ()) &&
18331 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18332 : (TARGET_AVX)))
18333 : return -1;
18334 : return 6856; /* *avx512vl_vpternlogv32qi_3 */
18335 :
18336 : case 38:
18337 : if (!
18338 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18339 : ((16 == 64 || TARGET_AVX512VL
18340 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18341 : && ix86_pre_reload_split ()))
18342 : return -1;
18343 : return 6865; /* *avx512vl_vpternlogv16qi_3 */
18344 :
18345 : case 39:
18346 : if (!(
18347 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18348 : ((64 == 64 || TARGET_AVX512VL
18349 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18350 : && ix86_pre_reload_split ()) &&
18351 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18352 : (TARGET_AVX512F)))
18353 : return -1;
18354 : return 6874; /* *avx512bw_vpternlogv32hi_3 */
18355 :
18356 : case 40:
18357 : if (!(
18358 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18359 : ((32 == 64 || TARGET_AVX512VL
18360 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18361 : && ix86_pre_reload_split ()) &&
18362 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18363 : (TARGET_AVX)))
18364 : return -1;
18365 : return 6883; /* *avx512vl_vpternlogv16hi_3 */
18366 :
18367 : case 41:
18368 : if (!
18369 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18370 : ((16 == 64 || TARGET_AVX512VL
18371 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18372 : && ix86_pre_reload_split ()))
18373 : return -1;
18374 : return 6892; /* *avx512vl_vpternlogv8hi_3 */
18375 :
18376 : case 42:
18377 : if (!(
18378 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18379 : ((64 == 64 || TARGET_AVX512VL
18380 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18381 : && ix86_pre_reload_split ()) &&
18382 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18383 : (TARGET_AVX512F)))
18384 : return -1;
18385 : return 6901; /* *avx512f_vpternlogv16si_3 */
18386 :
18387 : case 43:
18388 : if (!(
18389 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18390 : ((32 == 64 || TARGET_AVX512VL
18391 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18392 : && ix86_pre_reload_split ()) &&
18393 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18394 : (TARGET_AVX)))
18395 : return -1;
18396 : return 6910; /* *avx512vl_vpternlogv8si_3 */
18397 :
18398 : case 44:
18399 : if (!
18400 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18401 : ((16 == 64 || TARGET_AVX512VL
18402 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18403 : && ix86_pre_reload_split ()))
18404 : return -1;
18405 : return 6919; /* *avx512vl_vpternlogv4si_3 */
18406 :
18407 : case 45:
18408 : if (!(
18409 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18410 : ((64 == 64 || TARGET_AVX512VL
18411 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18412 : && ix86_pre_reload_split ()) &&
18413 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18414 : (TARGET_AVX512F)))
18415 : return -1;
18416 : return 6928; /* *avx512f_vpternlogv8di_3 */
18417 :
18418 : case 46:
18419 : if (!(
18420 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18421 : ((32 == 64 || TARGET_AVX512VL
18422 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18423 : && ix86_pre_reload_split ()) &&
18424 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18425 : (TARGET_AVX)))
18426 : return -1;
18427 : return 6937; /* *avx512vl_vpternlogv4di_3 */
18428 :
18429 : case 47:
18430 : if (!
18431 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18432 : ((16 == 64 || TARGET_AVX512VL
18433 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18434 : && ix86_pre_reload_split ()))
18435 : return -1;
18436 : return 6946; /* *avx512vl_vpternlogv2di_3 */
18437 :
18438 : default:
18439 : return -1;
18440 : }
18441 :
18442 : case AND:
18443 : switch (pattern539 (x2))
18444 : {
18445 : case 0:
18446 : if (!(
18447 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18448 : ((64 == 64 || TARGET_AVX512VL
18449 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18450 : && ix86_pre_reload_split ()
18451 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18452 : STRIP_UNARY (operands[4]))
18453 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18454 : STRIP_UNARY (operands[4]))
18455 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18456 : STRIP_UNARY (operands[3]))
18457 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18458 : STRIP_UNARY (operands[3])))) &&
18459 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18460 : (TARGET_AVX512F)))
18461 : return -1;
18462 : return 6211; /* *avx512bw_vpternlogv64qi_2 */
18463 :
18464 : case 1:
18465 : if (!(
18466 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18467 : ((32 == 64 || TARGET_AVX512VL
18468 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18469 : && ix86_pre_reload_split ()
18470 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18471 : STRIP_UNARY (operands[4]))
18472 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18473 : STRIP_UNARY (operands[4]))
18474 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18475 : STRIP_UNARY (operands[3]))
18476 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18477 : STRIP_UNARY (operands[3])))) &&
18478 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18479 : (TARGET_AVX)))
18480 : return -1;
18481 : return 6238; /* *avx512vl_vpternlogv32qi_2 */
18482 :
18483 : case 2:
18484 : if (!
18485 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18486 : ((16 == 64 || TARGET_AVX512VL
18487 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18488 : && ix86_pre_reload_split ()
18489 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18490 : STRIP_UNARY (operands[4]))
18491 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18492 : STRIP_UNARY (operands[4]))
18493 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18494 : STRIP_UNARY (operands[3]))
18495 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18496 : STRIP_UNARY (operands[3])))))
18497 : return -1;
18498 : return 6265; /* *avx512vl_vpternlogv16qi_2 */
18499 :
18500 : case 3:
18501 : if (!(
18502 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18503 : ((64 == 64 || TARGET_AVX512VL
18504 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18505 : && ix86_pre_reload_split ()
18506 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18507 : STRIP_UNARY (operands[4]))
18508 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18509 : STRIP_UNARY (operands[4]))
18510 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18511 : STRIP_UNARY (operands[3]))
18512 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18513 : STRIP_UNARY (operands[3])))) &&
18514 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18515 : (TARGET_AVX512F)))
18516 : return -1;
18517 : return 6292; /* *avx512bw_vpternlogv32hi_2 */
18518 :
18519 : case 4:
18520 : if (!(
18521 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18522 : ((32 == 64 || TARGET_AVX512VL
18523 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18524 : && ix86_pre_reload_split ()
18525 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18526 : STRIP_UNARY (operands[4]))
18527 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18528 : STRIP_UNARY (operands[4]))
18529 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18530 : STRIP_UNARY (operands[3]))
18531 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18532 : STRIP_UNARY (operands[3])))) &&
18533 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18534 : (TARGET_AVX)))
18535 : return -1;
18536 : return 6319; /* *avx512vl_vpternlogv16hi_2 */
18537 :
18538 : case 5:
18539 : if (!
18540 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18541 : ((16 == 64 || TARGET_AVX512VL
18542 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18543 : && ix86_pre_reload_split ()
18544 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18545 : STRIP_UNARY (operands[4]))
18546 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18547 : STRIP_UNARY (operands[4]))
18548 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18549 : STRIP_UNARY (operands[3]))
18550 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18551 : STRIP_UNARY (operands[3])))))
18552 : return -1;
18553 : return 6346; /* *avx512vl_vpternlogv8hi_2 */
18554 :
18555 : case 6:
18556 : if (!(
18557 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18558 : ((64 == 64 || TARGET_AVX512VL
18559 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18560 : && ix86_pre_reload_split ()
18561 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18562 : STRIP_UNARY (operands[4]))
18563 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18564 : STRIP_UNARY (operands[4]))
18565 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18566 : STRIP_UNARY (operands[3]))
18567 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18568 : STRIP_UNARY (operands[3])))) &&
18569 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18570 : (TARGET_AVX512F)))
18571 : return -1;
18572 : return 6373; /* *avx512f_vpternlogv16si_2 */
18573 :
18574 : case 7:
18575 : if (!(
18576 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18577 : ((32 == 64 || TARGET_AVX512VL
18578 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18579 : && ix86_pre_reload_split ()
18580 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18581 : STRIP_UNARY (operands[4]))
18582 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18583 : STRIP_UNARY (operands[4]))
18584 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18585 : STRIP_UNARY (operands[3]))
18586 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18587 : STRIP_UNARY (operands[3])))) &&
18588 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18589 : (TARGET_AVX)))
18590 : return -1;
18591 : return 6400; /* *avx512vl_vpternlogv8si_2 */
18592 :
18593 : case 8:
18594 : if (!
18595 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18596 : ((16 == 64 || TARGET_AVX512VL
18597 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18598 : && ix86_pre_reload_split ()
18599 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18600 : STRIP_UNARY (operands[4]))
18601 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18602 : STRIP_UNARY (operands[4]))
18603 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18604 : STRIP_UNARY (operands[3]))
18605 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18606 : STRIP_UNARY (operands[3])))))
18607 : return -1;
18608 : return 6427; /* *avx512vl_vpternlogv4si_2 */
18609 :
18610 : case 9:
18611 : if (!(
18612 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18613 : ((64 == 64 || TARGET_AVX512VL
18614 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18615 : && ix86_pre_reload_split ()
18616 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18617 : STRIP_UNARY (operands[4]))
18618 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18619 : STRIP_UNARY (operands[4]))
18620 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18621 : STRIP_UNARY (operands[3]))
18622 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18623 : STRIP_UNARY (operands[3])))) &&
18624 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18625 : (TARGET_AVX512F)))
18626 : return -1;
18627 : return 6454; /* *avx512f_vpternlogv8di_2 */
18628 :
18629 : case 10:
18630 : if (!(
18631 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18632 : ((32 == 64 || TARGET_AVX512VL
18633 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18634 : && ix86_pre_reload_split ()
18635 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18636 : STRIP_UNARY (operands[4]))
18637 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18638 : STRIP_UNARY (operands[4]))
18639 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18640 : STRIP_UNARY (operands[3]))
18641 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18642 : STRIP_UNARY (operands[3])))) &&
18643 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18644 : (TARGET_AVX)))
18645 : return -1;
18646 : return 6481; /* *avx512vl_vpternlogv4di_2 */
18647 :
18648 : case 11:
18649 : if (!
18650 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18651 : ((16 == 64 || TARGET_AVX512VL
18652 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18653 : && ix86_pre_reload_split ()
18654 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18655 : STRIP_UNARY (operands[4]))
18656 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18657 : STRIP_UNARY (operands[4]))
18658 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18659 : STRIP_UNARY (operands[3]))
18660 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18661 : STRIP_UNARY (operands[3])))))
18662 : return -1;
18663 : return 6508; /* *avx512vl_vpternlogv2di_2 */
18664 :
18665 : default:
18666 : return -1;
18667 : }
18668 :
18669 : case IOR:
18670 : switch (pattern539 (x2))
18671 : {
18672 : case 0:
18673 : if (!(
18674 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18675 : ((64 == 64 || TARGET_AVX512VL
18676 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18677 : && ix86_pre_reload_split ()
18678 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18679 : STRIP_UNARY (operands[4]))
18680 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18681 : STRIP_UNARY (operands[4]))
18682 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18683 : STRIP_UNARY (operands[3]))
18684 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18685 : STRIP_UNARY (operands[3])))) &&
18686 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18687 : (TARGET_AVX512F)))
18688 : return -1;
18689 : return 6214; /* *avx512bw_vpternlogv64qi_2 */
18690 :
18691 : case 1:
18692 : if (!(
18693 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18694 : ((32 == 64 || TARGET_AVX512VL
18695 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18696 : && ix86_pre_reload_split ()
18697 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18698 : STRIP_UNARY (operands[4]))
18699 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18700 : STRIP_UNARY (operands[4]))
18701 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18702 : STRIP_UNARY (operands[3]))
18703 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18704 : STRIP_UNARY (operands[3])))) &&
18705 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18706 : (TARGET_AVX)))
18707 : return -1;
18708 : return 6241; /* *avx512vl_vpternlogv32qi_2 */
18709 :
18710 : case 2:
18711 : if (!
18712 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18713 : ((16 == 64 || TARGET_AVX512VL
18714 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18715 : && ix86_pre_reload_split ()
18716 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18717 : STRIP_UNARY (operands[4]))
18718 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18719 : STRIP_UNARY (operands[4]))
18720 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18721 : STRIP_UNARY (operands[3]))
18722 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18723 : STRIP_UNARY (operands[3])))))
18724 : return -1;
18725 : return 6268; /* *avx512vl_vpternlogv16qi_2 */
18726 :
18727 : case 3:
18728 : if (!(
18729 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18730 : ((64 == 64 || TARGET_AVX512VL
18731 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18732 : && ix86_pre_reload_split ()
18733 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18734 : STRIP_UNARY (operands[4]))
18735 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18736 : STRIP_UNARY (operands[4]))
18737 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18738 : STRIP_UNARY (operands[3]))
18739 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18740 : STRIP_UNARY (operands[3])))) &&
18741 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18742 : (TARGET_AVX512F)))
18743 : return -1;
18744 : return 6295; /* *avx512bw_vpternlogv32hi_2 */
18745 :
18746 : case 4:
18747 : if (!(
18748 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18749 : ((32 == 64 || TARGET_AVX512VL
18750 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18751 : && ix86_pre_reload_split ()
18752 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18753 : STRIP_UNARY (operands[4]))
18754 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18755 : STRIP_UNARY (operands[4]))
18756 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18757 : STRIP_UNARY (operands[3]))
18758 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18759 : STRIP_UNARY (operands[3])))) &&
18760 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18761 : (TARGET_AVX)))
18762 : return -1;
18763 : return 6322; /* *avx512vl_vpternlogv16hi_2 */
18764 :
18765 : case 5:
18766 : if (!
18767 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18768 : ((16 == 64 || TARGET_AVX512VL
18769 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18770 : && ix86_pre_reload_split ()
18771 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18772 : STRIP_UNARY (operands[4]))
18773 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18774 : STRIP_UNARY (operands[4]))
18775 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18776 : STRIP_UNARY (operands[3]))
18777 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18778 : STRIP_UNARY (operands[3])))))
18779 : return -1;
18780 : return 6349; /* *avx512vl_vpternlogv8hi_2 */
18781 :
18782 : case 6:
18783 : if (!(
18784 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18785 : ((64 == 64 || TARGET_AVX512VL
18786 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18787 : && ix86_pre_reload_split ()
18788 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18789 : STRIP_UNARY (operands[4]))
18790 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18791 : STRIP_UNARY (operands[4]))
18792 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18793 : STRIP_UNARY (operands[3]))
18794 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18795 : STRIP_UNARY (operands[3])))) &&
18796 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18797 : (TARGET_AVX512F)))
18798 : return -1;
18799 : return 6376; /* *avx512f_vpternlogv16si_2 */
18800 :
18801 : case 7:
18802 : if (!(
18803 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18804 : ((32 == 64 || TARGET_AVX512VL
18805 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18806 : && ix86_pre_reload_split ()
18807 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18808 : STRIP_UNARY (operands[4]))
18809 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18810 : STRIP_UNARY (operands[4]))
18811 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18812 : STRIP_UNARY (operands[3]))
18813 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18814 : STRIP_UNARY (operands[3])))) &&
18815 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18816 : (TARGET_AVX)))
18817 : return -1;
18818 : return 6403; /* *avx512vl_vpternlogv8si_2 */
18819 :
18820 : case 8:
18821 : if (!
18822 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18823 : ((16 == 64 || TARGET_AVX512VL
18824 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18825 : && ix86_pre_reload_split ()
18826 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18827 : STRIP_UNARY (operands[4]))
18828 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18829 : STRIP_UNARY (operands[4]))
18830 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18831 : STRIP_UNARY (operands[3]))
18832 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18833 : STRIP_UNARY (operands[3])))))
18834 : return -1;
18835 : return 6430; /* *avx512vl_vpternlogv4si_2 */
18836 :
18837 : case 9:
18838 : if (!(
18839 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18840 : ((64 == 64 || TARGET_AVX512VL
18841 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18842 : && ix86_pre_reload_split ()
18843 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18844 : STRIP_UNARY (operands[4]))
18845 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18846 : STRIP_UNARY (operands[4]))
18847 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18848 : STRIP_UNARY (operands[3]))
18849 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18850 : STRIP_UNARY (operands[3])))) &&
18851 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18852 : (TARGET_AVX512F)))
18853 : return -1;
18854 : return 6457; /* *avx512f_vpternlogv8di_2 */
18855 :
18856 : case 10:
18857 : if (!(
18858 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18859 : ((32 == 64 || TARGET_AVX512VL
18860 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18861 : && ix86_pre_reload_split ()
18862 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18863 : STRIP_UNARY (operands[4]))
18864 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18865 : STRIP_UNARY (operands[4]))
18866 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18867 : STRIP_UNARY (operands[3]))
18868 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18869 : STRIP_UNARY (operands[3])))) &&
18870 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18871 : (TARGET_AVX)))
18872 : return -1;
18873 : return 6484; /* *avx512vl_vpternlogv4di_2 */
18874 :
18875 : case 11:
18876 : if (!
18877 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18878 : ((16 == 64 || TARGET_AVX512VL
18879 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18880 : && ix86_pre_reload_split ()
18881 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18882 : STRIP_UNARY (operands[4]))
18883 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18884 : STRIP_UNARY (operands[4]))
18885 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18886 : STRIP_UNARY (operands[3]))
18887 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18888 : STRIP_UNARY (operands[3])))))
18889 : return -1;
18890 : return 6511; /* *avx512vl_vpternlogv2di_2 */
18891 :
18892 : default:
18893 : return -1;
18894 : }
18895 :
18896 : case XOR:
18897 : switch (pattern539 (x2))
18898 : {
18899 : case 0:
18900 : if (!(
18901 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18902 : ((64 == 64 || TARGET_AVX512VL
18903 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18904 : && ix86_pre_reload_split ()
18905 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18906 : STRIP_UNARY (operands[4]))
18907 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18908 : STRIP_UNARY (operands[4]))
18909 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18910 : STRIP_UNARY (operands[3]))
18911 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18912 : STRIP_UNARY (operands[3])))) &&
18913 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18914 : (TARGET_AVX512F)))
18915 : return -1;
18916 : return 6217; /* *avx512bw_vpternlogv64qi_2 */
18917 :
18918 : case 1:
18919 : if (!(
18920 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18921 : ((32 == 64 || TARGET_AVX512VL
18922 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18923 : && ix86_pre_reload_split ()
18924 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18925 : STRIP_UNARY (operands[4]))
18926 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18927 : STRIP_UNARY (operands[4]))
18928 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18929 : STRIP_UNARY (operands[3]))
18930 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18931 : STRIP_UNARY (operands[3])))) &&
18932 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18933 : (TARGET_AVX)))
18934 : return -1;
18935 : return 6244; /* *avx512vl_vpternlogv32qi_2 */
18936 :
18937 : case 2:
18938 : if (!
18939 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18940 : ((16 == 64 || TARGET_AVX512VL
18941 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18942 : && ix86_pre_reload_split ()
18943 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18944 : STRIP_UNARY (operands[4]))
18945 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18946 : STRIP_UNARY (operands[4]))
18947 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18948 : STRIP_UNARY (operands[3]))
18949 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18950 : STRIP_UNARY (operands[3])))))
18951 : return -1;
18952 : return 6271; /* *avx512vl_vpternlogv16qi_2 */
18953 :
18954 : case 3:
18955 : if (!(
18956 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18957 : ((64 == 64 || TARGET_AVX512VL
18958 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18959 : && ix86_pre_reload_split ()
18960 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18961 : STRIP_UNARY (operands[4]))
18962 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18963 : STRIP_UNARY (operands[4]))
18964 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18965 : STRIP_UNARY (operands[3]))
18966 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18967 : STRIP_UNARY (operands[3])))) &&
18968 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18969 : (TARGET_AVX512F)))
18970 : return -1;
18971 : return 6298; /* *avx512bw_vpternlogv32hi_2 */
18972 :
18973 : case 4:
18974 : if (!(
18975 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18976 : ((32 == 64 || TARGET_AVX512VL
18977 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18978 : && ix86_pre_reload_split ()
18979 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18980 : STRIP_UNARY (operands[4]))
18981 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18982 : STRIP_UNARY (operands[4]))
18983 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18984 : STRIP_UNARY (operands[3]))
18985 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18986 : STRIP_UNARY (operands[3])))) &&
18987 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18988 : (TARGET_AVX)))
18989 : return -1;
18990 : return 6325; /* *avx512vl_vpternlogv16hi_2 */
18991 :
18992 : case 5:
18993 : if (!
18994 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18995 : ((16 == 64 || TARGET_AVX512VL
18996 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18997 : && ix86_pre_reload_split ()
18998 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18999 : STRIP_UNARY (operands[4]))
19000 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19001 : STRIP_UNARY (operands[4]))
19002 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19003 : STRIP_UNARY (operands[3]))
19004 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19005 : STRIP_UNARY (operands[3])))))
19006 : return -1;
19007 : return 6352; /* *avx512vl_vpternlogv8hi_2 */
19008 :
19009 : case 6:
19010 : if (!(
19011 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19012 : ((64 == 64 || TARGET_AVX512VL
19013 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19014 : && ix86_pre_reload_split ()
19015 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19016 : STRIP_UNARY (operands[4]))
19017 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19018 : STRIP_UNARY (operands[4]))
19019 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19020 : STRIP_UNARY (operands[3]))
19021 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19022 : STRIP_UNARY (operands[3])))) &&
19023 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19024 : (TARGET_AVX512F)))
19025 : return -1;
19026 : return 6379; /* *avx512f_vpternlogv16si_2 */
19027 :
19028 : case 7:
19029 : if (!(
19030 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19031 : ((32 == 64 || TARGET_AVX512VL
19032 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19033 : && ix86_pre_reload_split ()
19034 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19035 : STRIP_UNARY (operands[4]))
19036 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19037 : STRIP_UNARY (operands[4]))
19038 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19039 : STRIP_UNARY (operands[3]))
19040 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19041 : STRIP_UNARY (operands[3])))) &&
19042 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19043 : (TARGET_AVX)))
19044 : return -1;
19045 : return 6406; /* *avx512vl_vpternlogv8si_2 */
19046 :
19047 : case 8:
19048 : if (!
19049 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19050 : ((16 == 64 || TARGET_AVX512VL
19051 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19052 : && ix86_pre_reload_split ()
19053 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19054 : STRIP_UNARY (operands[4]))
19055 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19056 : STRIP_UNARY (operands[4]))
19057 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19058 : STRIP_UNARY (operands[3]))
19059 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19060 : STRIP_UNARY (operands[3])))))
19061 : return -1;
19062 : return 6433; /* *avx512vl_vpternlogv4si_2 */
19063 :
19064 : case 9:
19065 : if (!(
19066 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19067 : ((64 == 64 || TARGET_AVX512VL
19068 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19069 : && ix86_pre_reload_split ()
19070 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19071 : STRIP_UNARY (operands[4]))
19072 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19073 : STRIP_UNARY (operands[4]))
19074 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19075 : STRIP_UNARY (operands[3]))
19076 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19077 : STRIP_UNARY (operands[3])))) &&
19078 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19079 : (TARGET_AVX512F)))
19080 : return -1;
19081 : return 6460; /* *avx512f_vpternlogv8di_2 */
19082 :
19083 : case 10:
19084 : if (!(
19085 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19086 : ((32 == 64 || TARGET_AVX512VL
19087 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19088 : && ix86_pre_reload_split ()
19089 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19090 : STRIP_UNARY (operands[4]))
19091 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19092 : STRIP_UNARY (operands[4]))
19093 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19094 : STRIP_UNARY (operands[3]))
19095 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19096 : STRIP_UNARY (operands[3])))) &&
19097 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19098 : (TARGET_AVX)))
19099 : return -1;
19100 : return 6487; /* *avx512vl_vpternlogv4di_2 */
19101 :
19102 : case 11:
19103 : if (!
19104 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19105 : ((16 == 64 || TARGET_AVX512VL
19106 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19107 : && ix86_pre_reload_split ()
19108 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19109 : STRIP_UNARY (operands[4]))
19110 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19111 : STRIP_UNARY (operands[4]))
19112 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19113 : STRIP_UNARY (operands[3]))
19114 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19115 : STRIP_UNARY (operands[3])))))
19116 : return -1;
19117 : return 6514; /* *avx512vl_vpternlogv2di_2 */
19118 :
19119 : default:
19120 : return -1;
19121 : }
19122 :
19123 : default:
19124 : return -1;
19125 : }
19126 : }
19127 :
19128 : int
19129 : recog_318 (rtx x1 ATTRIBUTE_UNUSED,
19130 : rtx_insn *insn ATTRIBUTE_UNUSED,
19131 : int *pnum_clobbers ATTRIBUTE_UNUSED)
19132 : {
19133 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
19134 : rtx x2, x3, x4;
19135 : int res ATTRIBUTE_UNUSED;
19136 : x2 = XEXP (x1, 1);
19137 : x3 = XEXP (x2, 0);
19138 : switch (GET_CODE (x3))
19139 : {
19140 : case AND:
19141 : x4 = XEXP (x3, 0);
19142 : switch (GET_CODE (x4))
19143 : {
19144 : case REG:
19145 : case SUBREG:
19146 : case MEM:
19147 : case NOT:
19148 : switch (pattern543 (x2))
19149 : {
19150 : case 0:
19151 : if (!(
19152 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19153 : ((64 == 64 || TARGET_AVX512VL
19154 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19155 : && ix86_pre_reload_split ()
19156 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19157 : STRIP_UNARY (operands[4]))
19158 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19159 : STRIP_UNARY (operands[4]))
19160 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19161 : STRIP_UNARY (operands[3]))
19162 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19163 : STRIP_UNARY (operands[3])))) &&
19164 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19165 : (TARGET_AVX512F)))
19166 : return -1;
19167 : return 5869; /* *avx512bw_vpternlogv32hf_1 */
19168 :
19169 : case 1:
19170 : if (!(
19171 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19172 : ((32 == 64 || TARGET_AVX512VL
19173 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19174 : && ix86_pre_reload_split ()
19175 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19176 : STRIP_UNARY (operands[4]))
19177 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19178 : STRIP_UNARY (operands[4]))
19179 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19180 : STRIP_UNARY (operands[3]))
19181 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19182 : STRIP_UNARY (operands[3])))) &&
19183 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19184 : (TARGET_AVX)))
19185 : return -1;
19186 : return 5896; /* *avx512vl_vpternlogv16hf_1 */
19187 :
19188 : case 2:
19189 : if (!
19190 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19191 : ((16 == 64 || TARGET_AVX512VL
19192 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19193 : && ix86_pre_reload_split ()
19194 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19195 : STRIP_UNARY (operands[4]))
19196 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19197 : STRIP_UNARY (operands[4]))
19198 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19199 : STRIP_UNARY (operands[3]))
19200 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19201 : STRIP_UNARY (operands[3])))))
19202 : return -1;
19203 : return 5923; /* *avx512fp16_vpternlogv8hf_1 */
19204 :
19205 : case 3:
19206 : if (!(
19207 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19208 : ((64 == 64 || TARGET_AVX512VL
19209 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19210 : && ix86_pre_reload_split ()
19211 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19212 : STRIP_UNARY (operands[4]))
19213 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19214 : STRIP_UNARY (operands[4]))
19215 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19216 : STRIP_UNARY (operands[3]))
19217 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19218 : STRIP_UNARY (operands[3])))) &&
19219 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19220 : (TARGET_AVX512F)))
19221 : return -1;
19222 : return 5950; /* *avx512bw_vpternlogv32bf_1 */
19223 :
19224 : case 4:
19225 : if (!(
19226 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19227 : ((32 == 64 || TARGET_AVX512VL
19228 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19229 : && ix86_pre_reload_split ()
19230 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19231 : STRIP_UNARY (operands[4]))
19232 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19233 : STRIP_UNARY (operands[4]))
19234 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19235 : STRIP_UNARY (operands[3]))
19236 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19237 : STRIP_UNARY (operands[3])))) &&
19238 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19239 : (TARGET_AVX)))
19240 : return -1;
19241 : return 5977; /* *avx512vl_vpternlogv16bf_1 */
19242 :
19243 : case 5:
19244 : if (!
19245 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19246 : ((16 == 64 || TARGET_AVX512VL
19247 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19248 : && ix86_pre_reload_split ()
19249 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19250 : STRIP_UNARY (operands[4]))
19251 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19252 : STRIP_UNARY (operands[4]))
19253 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19254 : STRIP_UNARY (operands[3]))
19255 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19256 : STRIP_UNARY (operands[3])))))
19257 : return -1;
19258 : return 6004; /* *avx512vl_vpternlogv8bf_1 */
19259 :
19260 : case 6:
19261 : if (!(
19262 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19263 : ((64 == 64 || TARGET_AVX512VL
19264 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19265 : && ix86_pre_reload_split ()
19266 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19267 : STRIP_UNARY (operands[4]))
19268 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19269 : STRIP_UNARY (operands[4]))
19270 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19271 : STRIP_UNARY (operands[3]))
19272 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19273 : STRIP_UNARY (operands[3])))) &&
19274 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19275 : (TARGET_AVX512F)))
19276 : return -1;
19277 : return 6031; /* *avx512f_vpternlogv16sf_1 */
19278 :
19279 : case 7:
19280 : if (!(
19281 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19282 : ((32 == 64 || TARGET_AVX512VL
19283 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19284 : && ix86_pre_reload_split ()
19285 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19286 : STRIP_UNARY (operands[4]))
19287 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19288 : STRIP_UNARY (operands[4]))
19289 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19290 : STRIP_UNARY (operands[3]))
19291 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19292 : STRIP_UNARY (operands[3])))) &&
19293 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19294 : (TARGET_AVX)))
19295 : return -1;
19296 : return 6058; /* *avx512vl_vpternlogv8sf_1 */
19297 :
19298 : case 8:
19299 : if (!
19300 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19301 : ((16 == 64 || TARGET_AVX512VL
19302 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19303 : && ix86_pre_reload_split ()
19304 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19305 : STRIP_UNARY (operands[4]))
19306 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19307 : STRIP_UNARY (operands[4]))
19308 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19309 : STRIP_UNARY (operands[3]))
19310 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19311 : STRIP_UNARY (operands[3])))))
19312 : return -1;
19313 : return 6085; /* *avx512vl_vpternlogv4sf_1 */
19314 :
19315 : case 9:
19316 : if (!(
19317 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19318 : ((64 == 64 || TARGET_AVX512VL
19319 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19320 : && ix86_pre_reload_split ()
19321 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19322 : STRIP_UNARY (operands[4]))
19323 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19324 : STRIP_UNARY (operands[4]))
19325 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19326 : STRIP_UNARY (operands[3]))
19327 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19328 : STRIP_UNARY (operands[3])))) &&
19329 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19330 : (TARGET_AVX512F)))
19331 : return -1;
19332 : return 6112; /* *avx512f_vpternlogv8df_1 */
19333 :
19334 : case 10:
19335 : if (!(
19336 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19337 : ((32 == 64 || TARGET_AVX512VL
19338 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19339 : && ix86_pre_reload_split ()
19340 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19341 : STRIP_UNARY (operands[4]))
19342 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19343 : STRIP_UNARY (operands[4]))
19344 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19345 : STRIP_UNARY (operands[3]))
19346 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19347 : STRIP_UNARY (operands[3])))) &&
19348 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19349 : (TARGET_AVX)))
19350 : return -1;
19351 : return 6139; /* *avx512vl_vpternlogv4df_1 */
19352 :
19353 : case 11:
19354 : if (!(
19355 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19356 : ((16 == 64 || TARGET_AVX512VL
19357 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19358 : && ix86_pre_reload_split ()
19359 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19360 : STRIP_UNARY (operands[4]))
19361 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19362 : STRIP_UNARY (operands[4]))
19363 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19364 : STRIP_UNARY (operands[3]))
19365 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19366 : STRIP_UNARY (operands[3])))) &&
19367 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19368 : (TARGET_SSE2)))
19369 : return -1;
19370 : return 6166; /* *avx512vl_vpternlogv2df_1 */
19371 :
19372 : case 12:
19373 : if (!(
19374 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19375 : ((64 == 64 || TARGET_AVX512VL
19376 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19377 : && ix86_pre_reload_split ()
19378 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19379 : STRIP_UNARY (operands[4]))
19380 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19381 : STRIP_UNARY (operands[4]))
19382 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19383 : STRIP_UNARY (operands[3]))
19384 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19385 : STRIP_UNARY (operands[3])))) &&
19386 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19387 : (TARGET_AVX512F)))
19388 : return -1;
19389 : return 5872; /* *avx512bw_vpternlogv32hf_1 */
19390 :
19391 : case 13:
19392 : if (!(
19393 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19394 : ((32 == 64 || TARGET_AVX512VL
19395 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19396 : && ix86_pre_reload_split ()
19397 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19398 : STRIP_UNARY (operands[4]))
19399 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19400 : STRIP_UNARY (operands[4]))
19401 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19402 : STRIP_UNARY (operands[3]))
19403 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19404 : STRIP_UNARY (operands[3])))) &&
19405 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19406 : (TARGET_AVX)))
19407 : return -1;
19408 : return 5899; /* *avx512vl_vpternlogv16hf_1 */
19409 :
19410 : case 14:
19411 : if (!
19412 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19413 : ((16 == 64 || TARGET_AVX512VL
19414 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19415 : && ix86_pre_reload_split ()
19416 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19417 : STRIP_UNARY (operands[4]))
19418 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19419 : STRIP_UNARY (operands[4]))
19420 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19421 : STRIP_UNARY (operands[3]))
19422 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19423 : STRIP_UNARY (operands[3])))))
19424 : return -1;
19425 : return 5926; /* *avx512fp16_vpternlogv8hf_1 */
19426 :
19427 : case 15:
19428 : if (!(
19429 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19430 : ((64 == 64 || TARGET_AVX512VL
19431 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19432 : && ix86_pre_reload_split ()
19433 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19434 : STRIP_UNARY (operands[4]))
19435 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19436 : STRIP_UNARY (operands[4]))
19437 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19438 : STRIP_UNARY (operands[3]))
19439 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19440 : STRIP_UNARY (operands[3])))) &&
19441 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19442 : (TARGET_AVX512F)))
19443 : return -1;
19444 : return 5953; /* *avx512bw_vpternlogv32bf_1 */
19445 :
19446 : case 16:
19447 : if (!(
19448 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19449 : ((32 == 64 || TARGET_AVX512VL
19450 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19451 : && ix86_pre_reload_split ()
19452 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19453 : STRIP_UNARY (operands[4]))
19454 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19455 : STRIP_UNARY (operands[4]))
19456 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19457 : STRIP_UNARY (operands[3]))
19458 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19459 : STRIP_UNARY (operands[3])))) &&
19460 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19461 : (TARGET_AVX)))
19462 : return -1;
19463 : return 5980; /* *avx512vl_vpternlogv16bf_1 */
19464 :
19465 : case 17:
19466 : if (!
19467 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19468 : ((16 == 64 || TARGET_AVX512VL
19469 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19470 : && ix86_pre_reload_split ()
19471 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19472 : STRIP_UNARY (operands[4]))
19473 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19474 : STRIP_UNARY (operands[4]))
19475 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19476 : STRIP_UNARY (operands[3]))
19477 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19478 : STRIP_UNARY (operands[3])))))
19479 : return -1;
19480 : return 6007; /* *avx512vl_vpternlogv8bf_1 */
19481 :
19482 : case 18:
19483 : if (!(
19484 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19485 : ((64 == 64 || TARGET_AVX512VL
19486 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19487 : && ix86_pre_reload_split ()
19488 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19489 : STRIP_UNARY (operands[4]))
19490 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19491 : STRIP_UNARY (operands[4]))
19492 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19493 : STRIP_UNARY (operands[3]))
19494 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19495 : STRIP_UNARY (operands[3])))) &&
19496 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19497 : (TARGET_AVX512F)))
19498 : return -1;
19499 : return 6034; /* *avx512f_vpternlogv16sf_1 */
19500 :
19501 : case 19:
19502 : if (!(
19503 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19504 : ((32 == 64 || TARGET_AVX512VL
19505 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19506 : && ix86_pre_reload_split ()
19507 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19508 : STRIP_UNARY (operands[4]))
19509 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19510 : STRIP_UNARY (operands[4]))
19511 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19512 : STRIP_UNARY (operands[3]))
19513 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19514 : STRIP_UNARY (operands[3])))) &&
19515 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19516 : (TARGET_AVX)))
19517 : return -1;
19518 : return 6061; /* *avx512vl_vpternlogv8sf_1 */
19519 :
19520 : case 20:
19521 : if (!
19522 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19523 : ((16 == 64 || TARGET_AVX512VL
19524 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19525 : && ix86_pre_reload_split ()
19526 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19527 : STRIP_UNARY (operands[4]))
19528 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19529 : STRIP_UNARY (operands[4]))
19530 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19531 : STRIP_UNARY (operands[3]))
19532 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19533 : STRIP_UNARY (operands[3])))))
19534 : return -1;
19535 : return 6088; /* *avx512vl_vpternlogv4sf_1 */
19536 :
19537 : case 21:
19538 : if (!(
19539 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19540 : ((64 == 64 || TARGET_AVX512VL
19541 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19542 : && ix86_pre_reload_split ()
19543 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19544 : STRIP_UNARY (operands[4]))
19545 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19546 : STRIP_UNARY (operands[4]))
19547 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19548 : STRIP_UNARY (operands[3]))
19549 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19550 : STRIP_UNARY (operands[3])))) &&
19551 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19552 : (TARGET_AVX512F)))
19553 : return -1;
19554 : return 6115; /* *avx512f_vpternlogv8df_1 */
19555 :
19556 : case 22:
19557 : if (!(
19558 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19559 : ((32 == 64 || TARGET_AVX512VL
19560 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19561 : && ix86_pre_reload_split ()
19562 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19563 : STRIP_UNARY (operands[4]))
19564 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19565 : STRIP_UNARY (operands[4]))
19566 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19567 : STRIP_UNARY (operands[3]))
19568 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19569 : STRIP_UNARY (operands[3])))) &&
19570 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19571 : (TARGET_AVX)))
19572 : return -1;
19573 : return 6142; /* *avx512vl_vpternlogv4df_1 */
19574 :
19575 : case 23:
19576 : if (!(
19577 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19578 : ((16 == 64 || TARGET_AVX512VL
19579 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19580 : && ix86_pre_reload_split ()
19581 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19582 : STRIP_UNARY (operands[4]))
19583 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19584 : STRIP_UNARY (operands[4]))
19585 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19586 : STRIP_UNARY (operands[3]))
19587 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19588 : STRIP_UNARY (operands[3])))) &&
19589 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19590 : (TARGET_SSE2)))
19591 : return -1;
19592 : return 6169; /* *avx512vl_vpternlogv2df_1 */
19593 :
19594 : case 24:
19595 : if (!(
19596 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19597 : ((64 == 64 || TARGET_AVX512VL
19598 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19599 : && ix86_pre_reload_split ()
19600 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19601 : STRIP_UNARY (operands[4]))
19602 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19603 : STRIP_UNARY (operands[4]))
19604 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19605 : STRIP_UNARY (operands[3]))
19606 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19607 : STRIP_UNARY (operands[3])))) &&
19608 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19609 : (TARGET_AVX512F)))
19610 : return -1;
19611 : return 5875; /* *avx512bw_vpternlogv32hf_1 */
19612 :
19613 : case 25:
19614 : if (!(
19615 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19616 : ((32 == 64 || TARGET_AVX512VL
19617 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19618 : && ix86_pre_reload_split ()
19619 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19620 : STRIP_UNARY (operands[4]))
19621 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19622 : STRIP_UNARY (operands[4]))
19623 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19624 : STRIP_UNARY (operands[3]))
19625 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19626 : STRIP_UNARY (operands[3])))) &&
19627 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19628 : (TARGET_AVX)))
19629 : return -1;
19630 : return 5902; /* *avx512vl_vpternlogv16hf_1 */
19631 :
19632 : case 26:
19633 : if (!
19634 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19635 : ((16 == 64 || TARGET_AVX512VL
19636 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19637 : && ix86_pre_reload_split ()
19638 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19639 : STRIP_UNARY (operands[4]))
19640 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19641 : STRIP_UNARY (operands[4]))
19642 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19643 : STRIP_UNARY (operands[3]))
19644 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19645 : STRIP_UNARY (operands[3])))))
19646 : return -1;
19647 : return 5929; /* *avx512fp16_vpternlogv8hf_1 */
19648 :
19649 : case 27:
19650 : if (!(
19651 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19652 : ((64 == 64 || TARGET_AVX512VL
19653 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19654 : && ix86_pre_reload_split ()
19655 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19656 : STRIP_UNARY (operands[4]))
19657 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19658 : STRIP_UNARY (operands[4]))
19659 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19660 : STRIP_UNARY (operands[3]))
19661 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19662 : STRIP_UNARY (operands[3])))) &&
19663 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19664 : (TARGET_AVX512F)))
19665 : return -1;
19666 : return 5956; /* *avx512bw_vpternlogv32bf_1 */
19667 :
19668 : case 28:
19669 : if (!(
19670 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19671 : ((32 == 64 || TARGET_AVX512VL
19672 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19673 : && ix86_pre_reload_split ()
19674 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19675 : STRIP_UNARY (operands[4]))
19676 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19677 : STRIP_UNARY (operands[4]))
19678 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19679 : STRIP_UNARY (operands[3]))
19680 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19681 : STRIP_UNARY (operands[3])))) &&
19682 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19683 : (TARGET_AVX)))
19684 : return -1;
19685 : return 5983; /* *avx512vl_vpternlogv16bf_1 */
19686 :
19687 : case 29:
19688 : if (!
19689 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19690 : ((16 == 64 || TARGET_AVX512VL
19691 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19692 : && ix86_pre_reload_split ()
19693 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19694 : STRIP_UNARY (operands[4]))
19695 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19696 : STRIP_UNARY (operands[4]))
19697 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19698 : STRIP_UNARY (operands[3]))
19699 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19700 : STRIP_UNARY (operands[3])))))
19701 : return -1;
19702 : return 6010; /* *avx512vl_vpternlogv8bf_1 */
19703 :
19704 : case 30:
19705 : if (!(
19706 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19707 : ((64 == 64 || TARGET_AVX512VL
19708 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19709 : && ix86_pre_reload_split ()
19710 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19711 : STRIP_UNARY (operands[4]))
19712 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19713 : STRIP_UNARY (operands[4]))
19714 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19715 : STRIP_UNARY (operands[3]))
19716 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19717 : STRIP_UNARY (operands[3])))) &&
19718 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19719 : (TARGET_AVX512F)))
19720 : return -1;
19721 : return 6037; /* *avx512f_vpternlogv16sf_1 */
19722 :
19723 : case 31:
19724 : if (!(
19725 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19726 : ((32 == 64 || TARGET_AVX512VL
19727 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19728 : && ix86_pre_reload_split ()
19729 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19730 : STRIP_UNARY (operands[4]))
19731 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19732 : STRIP_UNARY (operands[4]))
19733 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19734 : STRIP_UNARY (operands[3]))
19735 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19736 : STRIP_UNARY (operands[3])))) &&
19737 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19738 : (TARGET_AVX)))
19739 : return -1;
19740 : return 6064; /* *avx512vl_vpternlogv8sf_1 */
19741 :
19742 : case 32:
19743 : if (!
19744 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19745 : ((16 == 64 || TARGET_AVX512VL
19746 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19747 : && ix86_pre_reload_split ()
19748 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19749 : STRIP_UNARY (operands[4]))
19750 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19751 : STRIP_UNARY (operands[4]))
19752 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19753 : STRIP_UNARY (operands[3]))
19754 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19755 : STRIP_UNARY (operands[3])))))
19756 : return -1;
19757 : return 6091; /* *avx512vl_vpternlogv4sf_1 */
19758 :
19759 : case 33:
19760 : if (!(
19761 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19762 : ((64 == 64 || TARGET_AVX512VL
19763 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19764 : && ix86_pre_reload_split ()
19765 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19766 : STRIP_UNARY (operands[4]))
19767 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19768 : STRIP_UNARY (operands[4]))
19769 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19770 : STRIP_UNARY (operands[3]))
19771 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19772 : STRIP_UNARY (operands[3])))) &&
19773 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19774 : (TARGET_AVX512F)))
19775 : return -1;
19776 : return 6118; /* *avx512f_vpternlogv8df_1 */
19777 :
19778 : case 34:
19779 : if (!(
19780 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19781 : ((32 == 64 || TARGET_AVX512VL
19782 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19783 : && ix86_pre_reload_split ()
19784 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19785 : STRIP_UNARY (operands[4]))
19786 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19787 : STRIP_UNARY (operands[4]))
19788 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19789 : STRIP_UNARY (operands[3]))
19790 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19791 : STRIP_UNARY (operands[3])))) &&
19792 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19793 : (TARGET_AVX)))
19794 : return -1;
19795 : return 6145; /* *avx512vl_vpternlogv4df_1 */
19796 :
19797 : case 35:
19798 : if (!(
19799 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19800 : ((16 == 64 || TARGET_AVX512VL
19801 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19802 : && ix86_pre_reload_split ()
19803 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19804 : STRIP_UNARY (operands[4]))
19805 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19806 : STRIP_UNARY (operands[4]))
19807 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19808 : STRIP_UNARY (operands[3]))
19809 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19810 : STRIP_UNARY (operands[3])))) &&
19811 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19812 : (TARGET_SSE2)))
19813 : return -1;
19814 : return 6172; /* *avx512vl_vpternlogv2df_1 */
19815 :
19816 : case 36:
19817 : if (!(
19818 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19819 : ((64 == 64 || TARGET_AVX512VL
19820 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19821 : && ix86_pre_reload_split ()) &&
19822 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19823 : (TARGET_AVX512F)))
19824 : return -1;
19825 : return 6949; /* *avx512bw_vpternlogv32hf_3 */
19826 :
19827 : case 37:
19828 : if (!(
19829 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19830 : ((32 == 64 || TARGET_AVX512VL
19831 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19832 : && ix86_pre_reload_split ()) &&
19833 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19834 : (TARGET_AVX)))
19835 : return -1;
19836 : return 6958; /* *avx512vl_vpternlogv16hf_3 */
19837 :
19838 : case 38:
19839 : if (!
19840 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19841 : ((16 == 64 || TARGET_AVX512VL
19842 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19843 : && ix86_pre_reload_split ()))
19844 : return -1;
19845 : return 6967; /* *avx512fp16_vpternlogv8hf_3 */
19846 :
19847 : case 39:
19848 : if (!(
19849 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19850 : ((64 == 64 || TARGET_AVX512VL
19851 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19852 : && ix86_pre_reload_split ()) &&
19853 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19854 : (TARGET_AVX512F)))
19855 : return -1;
19856 : return 6976; /* *avx512bw_vpternlogv32bf_3 */
19857 :
19858 : case 40:
19859 : if (!(
19860 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19861 : ((32 == 64 || TARGET_AVX512VL
19862 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19863 : && ix86_pre_reload_split ()) &&
19864 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19865 : (TARGET_AVX)))
19866 : return -1;
19867 : return 6985; /* *avx512vl_vpternlogv16bf_3 */
19868 :
19869 : case 41:
19870 : if (!
19871 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19872 : ((16 == 64 || TARGET_AVX512VL
19873 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19874 : && ix86_pre_reload_split ()))
19875 : return -1;
19876 : return 6994; /* *avx512vl_vpternlogv8bf_3 */
19877 :
19878 : case 42:
19879 : if (!(
19880 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19881 : ((64 == 64 || TARGET_AVX512VL
19882 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19883 : && ix86_pre_reload_split ()) &&
19884 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19885 : (TARGET_AVX512F)))
19886 : return -1;
19887 : return 7003; /* *avx512f_vpternlogv16sf_3 */
19888 :
19889 : case 43:
19890 : if (!(
19891 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19892 : ((32 == 64 || TARGET_AVX512VL
19893 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19894 : && ix86_pre_reload_split ()) &&
19895 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19896 : (TARGET_AVX)))
19897 : return -1;
19898 : return 7012; /* *avx512vl_vpternlogv8sf_3 */
19899 :
19900 : case 44:
19901 : if (!
19902 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19903 : ((16 == 64 || TARGET_AVX512VL
19904 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19905 : && ix86_pre_reload_split ()))
19906 : return -1;
19907 : return 7021; /* *avx512vl_vpternlogv4sf_3 */
19908 :
19909 : case 45:
19910 : if (!(
19911 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19912 : ((64 == 64 || TARGET_AVX512VL
19913 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19914 : && ix86_pre_reload_split ()) &&
19915 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19916 : (TARGET_AVX512F)))
19917 : return -1;
19918 : return 7030; /* *avx512f_vpternlogv8df_3 */
19919 :
19920 : case 46:
19921 : if (!(
19922 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19923 : ((32 == 64 || TARGET_AVX512VL
19924 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19925 : && ix86_pre_reload_split ()) &&
19926 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19927 : (TARGET_AVX)))
19928 : return -1;
19929 : return 7039; /* *avx512vl_vpternlogv4df_3 */
19930 :
19931 : case 47:
19932 : if (!(
19933 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19934 : ((16 == 64 || TARGET_AVX512VL
19935 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19936 : && ix86_pre_reload_split ()) &&
19937 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19938 : (TARGET_SSE2)))
19939 : return -1;
19940 : return 7048; /* *avx512vl_vpternlogv2df_3 */
19941 :
19942 : default:
19943 : return -1;
19944 : }
19945 :
19946 : case AND:
19947 : switch (pattern544 (x2))
19948 : {
19949 : case 0:
19950 : if (!(
19951 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19952 : ((64 == 64 || TARGET_AVX512VL
19953 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19954 : && ix86_pre_reload_split ()
19955 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19956 : STRIP_UNARY (operands[4]))
19957 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19958 : STRIP_UNARY (operands[4]))
19959 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19960 : STRIP_UNARY (operands[3]))
19961 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19962 : STRIP_UNARY (operands[3])))) &&
19963 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19964 : (TARGET_AVX512F)))
19965 : return -1;
19966 : return 6517; /* *avx512bw_vpternlogv32hf_2 */
19967 :
19968 : case 1:
19969 : if (!(
19970 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19971 : ((32 == 64 || TARGET_AVX512VL
19972 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19973 : && ix86_pre_reload_split ()
19974 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19975 : STRIP_UNARY (operands[4]))
19976 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19977 : STRIP_UNARY (operands[4]))
19978 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19979 : STRIP_UNARY (operands[3]))
19980 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19981 : STRIP_UNARY (operands[3])))) &&
19982 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19983 : (TARGET_AVX)))
19984 : return -1;
19985 : return 6544; /* *avx512vl_vpternlogv16hf_2 */
19986 :
19987 : case 2:
19988 : if (!
19989 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19990 : ((16 == 64 || TARGET_AVX512VL
19991 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19992 : && ix86_pre_reload_split ()
19993 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19994 : STRIP_UNARY (operands[4]))
19995 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19996 : STRIP_UNARY (operands[4]))
19997 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19998 : STRIP_UNARY (operands[3]))
19999 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20000 : STRIP_UNARY (operands[3])))))
20001 : return -1;
20002 : return 6571; /* *avx512fp16_vpternlogv8hf_2 */
20003 :
20004 : case 3:
20005 : if (!(
20006 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20007 : ((64 == 64 || TARGET_AVX512VL
20008 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20009 : && ix86_pre_reload_split ()
20010 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20011 : STRIP_UNARY (operands[4]))
20012 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20013 : STRIP_UNARY (operands[4]))
20014 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20015 : STRIP_UNARY (operands[3]))
20016 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20017 : STRIP_UNARY (operands[3])))) &&
20018 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20019 : (TARGET_AVX512F)))
20020 : return -1;
20021 : return 6598; /* *avx512bw_vpternlogv32bf_2 */
20022 :
20023 : case 4:
20024 : if (!(
20025 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20026 : ((32 == 64 || TARGET_AVX512VL
20027 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20028 : && ix86_pre_reload_split ()
20029 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20030 : STRIP_UNARY (operands[4]))
20031 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20032 : STRIP_UNARY (operands[4]))
20033 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20034 : STRIP_UNARY (operands[3]))
20035 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20036 : STRIP_UNARY (operands[3])))) &&
20037 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20038 : (TARGET_AVX)))
20039 : return -1;
20040 : return 6625; /* *avx512vl_vpternlogv16bf_2 */
20041 :
20042 : case 5:
20043 : if (!
20044 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20045 : ((16 == 64 || TARGET_AVX512VL
20046 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20047 : && ix86_pre_reload_split ()
20048 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20049 : STRIP_UNARY (operands[4]))
20050 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20051 : STRIP_UNARY (operands[4]))
20052 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20053 : STRIP_UNARY (operands[3]))
20054 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20055 : STRIP_UNARY (operands[3])))))
20056 : return -1;
20057 : return 6652; /* *avx512vl_vpternlogv8bf_2 */
20058 :
20059 : case 6:
20060 : if (!(
20061 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20062 : ((64 == 64 || TARGET_AVX512VL
20063 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20064 : && ix86_pre_reload_split ()
20065 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20066 : STRIP_UNARY (operands[4]))
20067 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20068 : STRIP_UNARY (operands[4]))
20069 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20070 : STRIP_UNARY (operands[3]))
20071 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20072 : STRIP_UNARY (operands[3])))) &&
20073 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20074 : (TARGET_AVX512F)))
20075 : return -1;
20076 : return 6679; /* *avx512f_vpternlogv16sf_2 */
20077 :
20078 : case 7:
20079 : if (!(
20080 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20081 : ((32 == 64 || TARGET_AVX512VL
20082 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20083 : && ix86_pre_reload_split ()
20084 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20085 : STRIP_UNARY (operands[4]))
20086 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20087 : STRIP_UNARY (operands[4]))
20088 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20089 : STRIP_UNARY (operands[3]))
20090 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20091 : STRIP_UNARY (operands[3])))) &&
20092 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20093 : (TARGET_AVX)))
20094 : return -1;
20095 : return 6706; /* *avx512vl_vpternlogv8sf_2 */
20096 :
20097 : case 8:
20098 : if (!
20099 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20100 : ((16 == 64 || TARGET_AVX512VL
20101 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20102 : && ix86_pre_reload_split ()
20103 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20104 : STRIP_UNARY (operands[4]))
20105 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20106 : STRIP_UNARY (operands[4]))
20107 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20108 : STRIP_UNARY (operands[3]))
20109 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20110 : STRIP_UNARY (operands[3])))))
20111 : return -1;
20112 : return 6733; /* *avx512vl_vpternlogv4sf_2 */
20113 :
20114 : case 9:
20115 : if (!(
20116 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20117 : ((64 == 64 || TARGET_AVX512VL
20118 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20119 : && ix86_pre_reload_split ()
20120 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20121 : STRIP_UNARY (operands[4]))
20122 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20123 : STRIP_UNARY (operands[4]))
20124 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20125 : STRIP_UNARY (operands[3]))
20126 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20127 : STRIP_UNARY (operands[3])))) &&
20128 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20129 : (TARGET_AVX512F)))
20130 : return -1;
20131 : return 6760; /* *avx512f_vpternlogv8df_2 */
20132 :
20133 : case 10:
20134 : if (!(
20135 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20136 : ((32 == 64 || TARGET_AVX512VL
20137 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20138 : && ix86_pre_reload_split ()
20139 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20140 : STRIP_UNARY (operands[4]))
20141 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20142 : STRIP_UNARY (operands[4]))
20143 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20144 : STRIP_UNARY (operands[3]))
20145 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20146 : STRIP_UNARY (operands[3])))) &&
20147 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20148 : (TARGET_AVX)))
20149 : return -1;
20150 : return 6787; /* *avx512vl_vpternlogv4df_2 */
20151 :
20152 : case 11:
20153 : if (!(
20154 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20155 : ((16 == 64 || TARGET_AVX512VL
20156 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20157 : && ix86_pre_reload_split ()
20158 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20159 : STRIP_UNARY (operands[4]))
20160 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20161 : STRIP_UNARY (operands[4]))
20162 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20163 : STRIP_UNARY (operands[3]))
20164 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20165 : STRIP_UNARY (operands[3])))) &&
20166 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20167 : (TARGET_SSE2)))
20168 : return -1;
20169 : return 6814; /* *avx512vl_vpternlogv2df_2 */
20170 :
20171 : default:
20172 : return -1;
20173 : }
20174 :
20175 : case IOR:
20176 : switch (pattern544 (x2))
20177 : {
20178 : case 0:
20179 : if (!(
20180 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20181 : ((64 == 64 || TARGET_AVX512VL
20182 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20183 : && ix86_pre_reload_split ()
20184 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20185 : STRIP_UNARY (operands[4]))
20186 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20187 : STRIP_UNARY (operands[4]))
20188 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20189 : STRIP_UNARY (operands[3]))
20190 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20191 : STRIP_UNARY (operands[3])))) &&
20192 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20193 : (TARGET_AVX512F)))
20194 : return -1;
20195 : return 6520; /* *avx512bw_vpternlogv32hf_2 */
20196 :
20197 : case 1:
20198 : if (!(
20199 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20200 : ((32 == 64 || TARGET_AVX512VL
20201 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20202 : && ix86_pre_reload_split ()
20203 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20204 : STRIP_UNARY (operands[4]))
20205 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20206 : STRIP_UNARY (operands[4]))
20207 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20208 : STRIP_UNARY (operands[3]))
20209 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20210 : STRIP_UNARY (operands[3])))) &&
20211 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20212 : (TARGET_AVX)))
20213 : return -1;
20214 : return 6547; /* *avx512vl_vpternlogv16hf_2 */
20215 :
20216 : case 2:
20217 : if (!
20218 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20219 : ((16 == 64 || TARGET_AVX512VL
20220 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20221 : && ix86_pre_reload_split ()
20222 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20223 : STRIP_UNARY (operands[4]))
20224 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20225 : STRIP_UNARY (operands[4]))
20226 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20227 : STRIP_UNARY (operands[3]))
20228 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20229 : STRIP_UNARY (operands[3])))))
20230 : return -1;
20231 : return 6574; /* *avx512fp16_vpternlogv8hf_2 */
20232 :
20233 : case 3:
20234 : if (!(
20235 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20236 : ((64 == 64 || TARGET_AVX512VL
20237 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20238 : && ix86_pre_reload_split ()
20239 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20240 : STRIP_UNARY (operands[4]))
20241 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20242 : STRIP_UNARY (operands[4]))
20243 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20244 : STRIP_UNARY (operands[3]))
20245 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20246 : STRIP_UNARY (operands[3])))) &&
20247 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20248 : (TARGET_AVX512F)))
20249 : return -1;
20250 : return 6601; /* *avx512bw_vpternlogv32bf_2 */
20251 :
20252 : case 4:
20253 : if (!(
20254 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20255 : ((32 == 64 || TARGET_AVX512VL
20256 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20257 : && ix86_pre_reload_split ()
20258 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20259 : STRIP_UNARY (operands[4]))
20260 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20261 : STRIP_UNARY (operands[4]))
20262 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20263 : STRIP_UNARY (operands[3]))
20264 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20265 : STRIP_UNARY (operands[3])))) &&
20266 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20267 : (TARGET_AVX)))
20268 : return -1;
20269 : return 6628; /* *avx512vl_vpternlogv16bf_2 */
20270 :
20271 : case 5:
20272 : if (!
20273 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20274 : ((16 == 64 || TARGET_AVX512VL
20275 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20276 : && ix86_pre_reload_split ()
20277 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20278 : STRIP_UNARY (operands[4]))
20279 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20280 : STRIP_UNARY (operands[4]))
20281 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20282 : STRIP_UNARY (operands[3]))
20283 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20284 : STRIP_UNARY (operands[3])))))
20285 : return -1;
20286 : return 6655; /* *avx512vl_vpternlogv8bf_2 */
20287 :
20288 : case 6:
20289 : if (!(
20290 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20291 : ((64 == 64 || TARGET_AVX512VL
20292 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20293 : && ix86_pre_reload_split ()
20294 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20295 : STRIP_UNARY (operands[4]))
20296 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20297 : STRIP_UNARY (operands[4]))
20298 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20299 : STRIP_UNARY (operands[3]))
20300 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20301 : STRIP_UNARY (operands[3])))) &&
20302 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20303 : (TARGET_AVX512F)))
20304 : return -1;
20305 : return 6682; /* *avx512f_vpternlogv16sf_2 */
20306 :
20307 : case 7:
20308 : if (!(
20309 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20310 : ((32 == 64 || TARGET_AVX512VL
20311 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20312 : && ix86_pre_reload_split ()
20313 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20314 : STRIP_UNARY (operands[4]))
20315 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20316 : STRIP_UNARY (operands[4]))
20317 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20318 : STRIP_UNARY (operands[3]))
20319 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20320 : STRIP_UNARY (operands[3])))) &&
20321 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20322 : (TARGET_AVX)))
20323 : return -1;
20324 : return 6709; /* *avx512vl_vpternlogv8sf_2 */
20325 :
20326 : case 8:
20327 : if (!
20328 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20329 : ((16 == 64 || TARGET_AVX512VL
20330 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20331 : && ix86_pre_reload_split ()
20332 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20333 : STRIP_UNARY (operands[4]))
20334 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20335 : STRIP_UNARY (operands[4]))
20336 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20337 : STRIP_UNARY (operands[3]))
20338 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20339 : STRIP_UNARY (operands[3])))))
20340 : return -1;
20341 : return 6736; /* *avx512vl_vpternlogv4sf_2 */
20342 :
20343 : case 9:
20344 : if (!(
20345 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20346 : ((64 == 64 || TARGET_AVX512VL
20347 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20348 : && ix86_pre_reload_split ()
20349 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20350 : STRIP_UNARY (operands[4]))
20351 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20352 : STRIP_UNARY (operands[4]))
20353 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20354 : STRIP_UNARY (operands[3]))
20355 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20356 : STRIP_UNARY (operands[3])))) &&
20357 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20358 : (TARGET_AVX512F)))
20359 : return -1;
20360 : return 6763; /* *avx512f_vpternlogv8df_2 */
20361 :
20362 : case 10:
20363 : if (!(
20364 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20365 : ((32 == 64 || TARGET_AVX512VL
20366 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20367 : && ix86_pre_reload_split ()
20368 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20369 : STRIP_UNARY (operands[4]))
20370 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20371 : STRIP_UNARY (operands[4]))
20372 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20373 : STRIP_UNARY (operands[3]))
20374 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20375 : STRIP_UNARY (operands[3])))) &&
20376 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20377 : (TARGET_AVX)))
20378 : return -1;
20379 : return 6790; /* *avx512vl_vpternlogv4df_2 */
20380 :
20381 : case 11:
20382 : if (!(
20383 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20384 : ((16 == 64 || TARGET_AVX512VL
20385 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20386 : && ix86_pre_reload_split ()
20387 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20388 : STRIP_UNARY (operands[4]))
20389 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20390 : STRIP_UNARY (operands[4]))
20391 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20392 : STRIP_UNARY (operands[3]))
20393 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20394 : STRIP_UNARY (operands[3])))) &&
20395 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20396 : (TARGET_SSE2)))
20397 : return -1;
20398 : return 6817; /* *avx512vl_vpternlogv2df_2 */
20399 :
20400 : default:
20401 : return -1;
20402 : }
20403 :
20404 : case XOR:
20405 : switch (pattern544 (x2))
20406 : {
20407 : case 0:
20408 : if (!(
20409 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20410 : ((64 == 64 || TARGET_AVX512VL
20411 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20412 : && ix86_pre_reload_split ()
20413 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20414 : STRIP_UNARY (operands[4]))
20415 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20416 : STRIP_UNARY (operands[4]))
20417 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20418 : STRIP_UNARY (operands[3]))
20419 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20420 : STRIP_UNARY (operands[3])))) &&
20421 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20422 : (TARGET_AVX512F)))
20423 : return -1;
20424 : return 6523; /* *avx512bw_vpternlogv32hf_2 */
20425 :
20426 : case 1:
20427 : if (!(
20428 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20429 : ((32 == 64 || TARGET_AVX512VL
20430 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20431 : && ix86_pre_reload_split ()
20432 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20433 : STRIP_UNARY (operands[4]))
20434 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20435 : STRIP_UNARY (operands[4]))
20436 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20437 : STRIP_UNARY (operands[3]))
20438 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20439 : STRIP_UNARY (operands[3])))) &&
20440 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20441 : (TARGET_AVX)))
20442 : return -1;
20443 : return 6550; /* *avx512vl_vpternlogv16hf_2 */
20444 :
20445 : case 2:
20446 : if (!
20447 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20448 : ((16 == 64 || TARGET_AVX512VL
20449 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20450 : && ix86_pre_reload_split ()
20451 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20452 : STRIP_UNARY (operands[4]))
20453 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20454 : STRIP_UNARY (operands[4]))
20455 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20456 : STRIP_UNARY (operands[3]))
20457 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20458 : STRIP_UNARY (operands[3])))))
20459 : return -1;
20460 : return 6577; /* *avx512fp16_vpternlogv8hf_2 */
20461 :
20462 : case 3:
20463 : if (!(
20464 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20465 : ((64 == 64 || TARGET_AVX512VL
20466 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20467 : && ix86_pre_reload_split ()
20468 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20469 : STRIP_UNARY (operands[4]))
20470 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20471 : STRIP_UNARY (operands[4]))
20472 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20473 : STRIP_UNARY (operands[3]))
20474 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20475 : STRIP_UNARY (operands[3])))) &&
20476 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20477 : (TARGET_AVX512F)))
20478 : return -1;
20479 : return 6604; /* *avx512bw_vpternlogv32bf_2 */
20480 :
20481 : case 4:
20482 : if (!(
20483 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20484 : ((32 == 64 || TARGET_AVX512VL
20485 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20486 : && ix86_pre_reload_split ()
20487 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20488 : STRIP_UNARY (operands[4]))
20489 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20490 : STRIP_UNARY (operands[4]))
20491 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20492 : STRIP_UNARY (operands[3]))
20493 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20494 : STRIP_UNARY (operands[3])))) &&
20495 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20496 : (TARGET_AVX)))
20497 : return -1;
20498 : return 6631; /* *avx512vl_vpternlogv16bf_2 */
20499 :
20500 : case 5:
20501 : if (!
20502 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20503 : ((16 == 64 || TARGET_AVX512VL
20504 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20505 : && ix86_pre_reload_split ()
20506 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20507 : STRIP_UNARY (operands[4]))
20508 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20509 : STRIP_UNARY (operands[4]))
20510 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20511 : STRIP_UNARY (operands[3]))
20512 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20513 : STRIP_UNARY (operands[3])))))
20514 : return -1;
20515 : return 6658; /* *avx512vl_vpternlogv8bf_2 */
20516 :
20517 : case 6:
20518 : if (!(
20519 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20520 : ((64 == 64 || TARGET_AVX512VL
20521 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20522 : && ix86_pre_reload_split ()
20523 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20524 : STRIP_UNARY (operands[4]))
20525 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20526 : STRIP_UNARY (operands[4]))
20527 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20528 : STRIP_UNARY (operands[3]))
20529 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20530 : STRIP_UNARY (operands[3])))) &&
20531 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20532 : (TARGET_AVX512F)))
20533 : return -1;
20534 : return 6685; /* *avx512f_vpternlogv16sf_2 */
20535 :
20536 : case 7:
20537 : if (!(
20538 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20539 : ((32 == 64 || TARGET_AVX512VL
20540 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20541 : && ix86_pre_reload_split ()
20542 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20543 : STRIP_UNARY (operands[4]))
20544 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20545 : STRIP_UNARY (operands[4]))
20546 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20547 : STRIP_UNARY (operands[3]))
20548 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20549 : STRIP_UNARY (operands[3])))) &&
20550 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20551 : (TARGET_AVX)))
20552 : return -1;
20553 : return 6712; /* *avx512vl_vpternlogv8sf_2 */
20554 :
20555 : case 8:
20556 : if (!
20557 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20558 : ((16 == 64 || TARGET_AVX512VL
20559 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20560 : && ix86_pre_reload_split ()
20561 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20562 : STRIP_UNARY (operands[4]))
20563 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20564 : STRIP_UNARY (operands[4]))
20565 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20566 : STRIP_UNARY (operands[3]))
20567 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20568 : STRIP_UNARY (operands[3])))))
20569 : return -1;
20570 : return 6739; /* *avx512vl_vpternlogv4sf_2 */
20571 :
20572 : case 9:
20573 : if (!(
20574 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20575 : ((64 == 64 || TARGET_AVX512VL
20576 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20577 : && ix86_pre_reload_split ()
20578 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20579 : STRIP_UNARY (operands[4]))
20580 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20581 : STRIP_UNARY (operands[4]))
20582 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20583 : STRIP_UNARY (operands[3]))
20584 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20585 : STRIP_UNARY (operands[3])))) &&
20586 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20587 : (TARGET_AVX512F)))
20588 : return -1;
20589 : return 6766; /* *avx512f_vpternlogv8df_2 */
20590 :
20591 : case 10:
20592 : if (!(
20593 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20594 : ((32 == 64 || TARGET_AVX512VL
20595 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20596 : && ix86_pre_reload_split ()
20597 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20598 : STRIP_UNARY (operands[4]))
20599 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20600 : STRIP_UNARY (operands[4]))
20601 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20602 : STRIP_UNARY (operands[3]))
20603 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20604 : STRIP_UNARY (operands[3])))) &&
20605 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20606 : (TARGET_AVX)))
20607 : return -1;
20608 : return 6793; /* *avx512vl_vpternlogv4df_2 */
20609 :
20610 : case 11:
20611 : if (!(
20612 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20613 : ((16 == 64 || TARGET_AVX512VL
20614 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20615 : && ix86_pre_reload_split ()
20616 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20617 : STRIP_UNARY (operands[4]))
20618 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20619 : STRIP_UNARY (operands[4]))
20620 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20621 : STRIP_UNARY (operands[3]))
20622 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20623 : STRIP_UNARY (operands[3])))) &&
20624 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20625 : (TARGET_SSE2)))
20626 : return -1;
20627 : return 6820; /* *avx512vl_vpternlogv2df_2 */
20628 :
20629 : default:
20630 : return -1;
20631 : }
20632 :
20633 : default:
20634 : return -1;
20635 : }
20636 :
20637 : case IOR:
20638 : x4 = XEXP (x3, 0);
20639 : switch (GET_CODE (x4))
20640 : {
20641 : case REG:
20642 : case SUBREG:
20643 : case MEM:
20644 : case NOT:
20645 : switch (pattern543 (x2))
20646 : {
20647 : case 0:
20648 : if (!(
20649 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20650 : ((64 == 64 || TARGET_AVX512VL
20651 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20652 : && ix86_pre_reload_split ()
20653 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20654 : STRIP_UNARY (operands[4]))
20655 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20656 : STRIP_UNARY (operands[4]))
20657 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20658 : STRIP_UNARY (operands[3]))
20659 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20660 : STRIP_UNARY (operands[3])))) &&
20661 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20662 : (TARGET_AVX512F)))
20663 : return -1;
20664 : return 5878; /* *avx512bw_vpternlogv32hf_1 */
20665 :
20666 : case 1:
20667 : if (!(
20668 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20669 : ((32 == 64 || TARGET_AVX512VL
20670 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20671 : && ix86_pre_reload_split ()
20672 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20673 : STRIP_UNARY (operands[4]))
20674 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20675 : STRIP_UNARY (operands[4]))
20676 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20677 : STRIP_UNARY (operands[3]))
20678 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20679 : STRIP_UNARY (operands[3])))) &&
20680 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20681 : (TARGET_AVX)))
20682 : return -1;
20683 : return 5905; /* *avx512vl_vpternlogv16hf_1 */
20684 :
20685 : case 2:
20686 : if (!
20687 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20688 : ((16 == 64 || TARGET_AVX512VL
20689 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20690 : && ix86_pre_reload_split ()
20691 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20692 : STRIP_UNARY (operands[4]))
20693 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20694 : STRIP_UNARY (operands[4]))
20695 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20696 : STRIP_UNARY (operands[3]))
20697 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20698 : STRIP_UNARY (operands[3])))))
20699 : return -1;
20700 : return 5932; /* *avx512fp16_vpternlogv8hf_1 */
20701 :
20702 : case 3:
20703 : if (!(
20704 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20705 : ((64 == 64 || TARGET_AVX512VL
20706 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20707 : && ix86_pre_reload_split ()
20708 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20709 : STRIP_UNARY (operands[4]))
20710 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20711 : STRIP_UNARY (operands[4]))
20712 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20713 : STRIP_UNARY (operands[3]))
20714 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20715 : STRIP_UNARY (operands[3])))) &&
20716 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20717 : (TARGET_AVX512F)))
20718 : return -1;
20719 : return 5959; /* *avx512bw_vpternlogv32bf_1 */
20720 :
20721 : case 4:
20722 : if (!(
20723 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20724 : ((32 == 64 || TARGET_AVX512VL
20725 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20726 : && ix86_pre_reload_split ()
20727 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20728 : STRIP_UNARY (operands[4]))
20729 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20730 : STRIP_UNARY (operands[4]))
20731 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20732 : STRIP_UNARY (operands[3]))
20733 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20734 : STRIP_UNARY (operands[3])))) &&
20735 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20736 : (TARGET_AVX)))
20737 : return -1;
20738 : return 5986; /* *avx512vl_vpternlogv16bf_1 */
20739 :
20740 : case 5:
20741 : if (!
20742 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20743 : ((16 == 64 || TARGET_AVX512VL
20744 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20745 : && ix86_pre_reload_split ()
20746 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20747 : STRIP_UNARY (operands[4]))
20748 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20749 : STRIP_UNARY (operands[4]))
20750 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20751 : STRIP_UNARY (operands[3]))
20752 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20753 : STRIP_UNARY (operands[3])))))
20754 : return -1;
20755 : return 6013; /* *avx512vl_vpternlogv8bf_1 */
20756 :
20757 : case 6:
20758 : if (!(
20759 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20760 : ((64 == 64 || TARGET_AVX512VL
20761 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20762 : && ix86_pre_reload_split ()
20763 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20764 : STRIP_UNARY (operands[4]))
20765 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20766 : STRIP_UNARY (operands[4]))
20767 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20768 : STRIP_UNARY (operands[3]))
20769 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20770 : STRIP_UNARY (operands[3])))) &&
20771 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20772 : (TARGET_AVX512F)))
20773 : return -1;
20774 : return 6040; /* *avx512f_vpternlogv16sf_1 */
20775 :
20776 : case 7:
20777 : if (!(
20778 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20779 : ((32 == 64 || TARGET_AVX512VL
20780 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20781 : && ix86_pre_reload_split ()
20782 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20783 : STRIP_UNARY (operands[4]))
20784 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20785 : STRIP_UNARY (operands[4]))
20786 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20787 : STRIP_UNARY (operands[3]))
20788 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20789 : STRIP_UNARY (operands[3])))) &&
20790 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20791 : (TARGET_AVX)))
20792 : return -1;
20793 : return 6067; /* *avx512vl_vpternlogv8sf_1 */
20794 :
20795 : case 8:
20796 : if (!
20797 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20798 : ((16 == 64 || TARGET_AVX512VL
20799 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20800 : && ix86_pre_reload_split ()
20801 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20802 : STRIP_UNARY (operands[4]))
20803 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20804 : STRIP_UNARY (operands[4]))
20805 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20806 : STRIP_UNARY (operands[3]))
20807 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20808 : STRIP_UNARY (operands[3])))))
20809 : return -1;
20810 : return 6094; /* *avx512vl_vpternlogv4sf_1 */
20811 :
20812 : case 9:
20813 : if (!(
20814 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20815 : ((64 == 64 || TARGET_AVX512VL
20816 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20817 : && ix86_pre_reload_split ()
20818 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20819 : STRIP_UNARY (operands[4]))
20820 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20821 : STRIP_UNARY (operands[4]))
20822 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20823 : STRIP_UNARY (operands[3]))
20824 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20825 : STRIP_UNARY (operands[3])))) &&
20826 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20827 : (TARGET_AVX512F)))
20828 : return -1;
20829 : return 6121; /* *avx512f_vpternlogv8df_1 */
20830 :
20831 : case 10:
20832 : if (!(
20833 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20834 : ((32 == 64 || TARGET_AVX512VL
20835 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20836 : && ix86_pre_reload_split ()
20837 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20838 : STRIP_UNARY (operands[4]))
20839 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20840 : STRIP_UNARY (operands[4]))
20841 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20842 : STRIP_UNARY (operands[3]))
20843 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20844 : STRIP_UNARY (operands[3])))) &&
20845 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20846 : (TARGET_AVX)))
20847 : return -1;
20848 : return 6148; /* *avx512vl_vpternlogv4df_1 */
20849 :
20850 : case 11:
20851 : if (!(
20852 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20853 : ((16 == 64 || TARGET_AVX512VL
20854 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20855 : && ix86_pre_reload_split ()
20856 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20857 : STRIP_UNARY (operands[4]))
20858 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20859 : STRIP_UNARY (operands[4]))
20860 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20861 : STRIP_UNARY (operands[3]))
20862 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20863 : STRIP_UNARY (operands[3])))) &&
20864 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20865 : (TARGET_SSE2)))
20866 : return -1;
20867 : return 6175; /* *avx512vl_vpternlogv2df_1 */
20868 :
20869 : case 12:
20870 : if (!(
20871 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20872 : ((64 == 64 || TARGET_AVX512VL
20873 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20874 : && ix86_pre_reload_split ()
20875 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20876 : STRIP_UNARY (operands[4]))
20877 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20878 : STRIP_UNARY (operands[4]))
20879 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20880 : STRIP_UNARY (operands[3]))
20881 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20882 : STRIP_UNARY (operands[3])))) &&
20883 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20884 : (TARGET_AVX512F)))
20885 : return -1;
20886 : return 5881; /* *avx512bw_vpternlogv32hf_1 */
20887 :
20888 : case 13:
20889 : if (!(
20890 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20891 : ((32 == 64 || TARGET_AVX512VL
20892 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20893 : && ix86_pre_reload_split ()
20894 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20895 : STRIP_UNARY (operands[4]))
20896 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20897 : STRIP_UNARY (operands[4]))
20898 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20899 : STRIP_UNARY (operands[3]))
20900 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20901 : STRIP_UNARY (operands[3])))) &&
20902 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20903 : (TARGET_AVX)))
20904 : return -1;
20905 : return 5908; /* *avx512vl_vpternlogv16hf_1 */
20906 :
20907 : case 14:
20908 : if (!
20909 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20910 : ((16 == 64 || TARGET_AVX512VL
20911 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20912 : && ix86_pre_reload_split ()
20913 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20914 : STRIP_UNARY (operands[4]))
20915 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20916 : STRIP_UNARY (operands[4]))
20917 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20918 : STRIP_UNARY (operands[3]))
20919 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20920 : STRIP_UNARY (operands[3])))))
20921 : return -1;
20922 : return 5935; /* *avx512fp16_vpternlogv8hf_1 */
20923 :
20924 : case 15:
20925 : if (!(
20926 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20927 : ((64 == 64 || TARGET_AVX512VL
20928 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20929 : && ix86_pre_reload_split ()
20930 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20931 : STRIP_UNARY (operands[4]))
20932 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20933 : STRIP_UNARY (operands[4]))
20934 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20935 : STRIP_UNARY (operands[3]))
20936 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20937 : STRIP_UNARY (operands[3])))) &&
20938 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20939 : (TARGET_AVX512F)))
20940 : return -1;
20941 : return 5962; /* *avx512bw_vpternlogv32bf_1 */
20942 :
20943 : case 16:
20944 : if (!(
20945 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20946 : ((32 == 64 || TARGET_AVX512VL
20947 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20948 : && ix86_pre_reload_split ()
20949 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20950 : STRIP_UNARY (operands[4]))
20951 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20952 : STRIP_UNARY (operands[4]))
20953 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20954 : STRIP_UNARY (operands[3]))
20955 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20956 : STRIP_UNARY (operands[3])))) &&
20957 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20958 : (TARGET_AVX)))
20959 : return -1;
20960 : return 5989; /* *avx512vl_vpternlogv16bf_1 */
20961 :
20962 : case 17:
20963 : if (!
20964 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20965 : ((16 == 64 || TARGET_AVX512VL
20966 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20967 : && ix86_pre_reload_split ()
20968 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20969 : STRIP_UNARY (operands[4]))
20970 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20971 : STRIP_UNARY (operands[4]))
20972 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20973 : STRIP_UNARY (operands[3]))
20974 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20975 : STRIP_UNARY (operands[3])))))
20976 : return -1;
20977 : return 6016; /* *avx512vl_vpternlogv8bf_1 */
20978 :
20979 : case 18:
20980 : if (!(
20981 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20982 : ((64 == 64 || TARGET_AVX512VL
20983 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20984 : && ix86_pre_reload_split ()
20985 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20986 : STRIP_UNARY (operands[4]))
20987 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20988 : STRIP_UNARY (operands[4]))
20989 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20990 : STRIP_UNARY (operands[3]))
20991 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20992 : STRIP_UNARY (operands[3])))) &&
20993 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20994 : (TARGET_AVX512F)))
20995 : return -1;
20996 : return 6043; /* *avx512f_vpternlogv16sf_1 */
20997 :
20998 : case 19:
20999 : if (!(
21000 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21001 : ((32 == 64 || TARGET_AVX512VL
21002 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21003 : && ix86_pre_reload_split ()
21004 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21005 : STRIP_UNARY (operands[4]))
21006 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21007 : STRIP_UNARY (operands[4]))
21008 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21009 : STRIP_UNARY (operands[3]))
21010 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21011 : STRIP_UNARY (operands[3])))) &&
21012 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21013 : (TARGET_AVX)))
21014 : return -1;
21015 : return 6070; /* *avx512vl_vpternlogv8sf_1 */
21016 :
21017 : case 20:
21018 : if (!
21019 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21020 : ((16 == 64 || TARGET_AVX512VL
21021 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21022 : && ix86_pre_reload_split ()
21023 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21024 : STRIP_UNARY (operands[4]))
21025 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21026 : STRIP_UNARY (operands[4]))
21027 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21028 : STRIP_UNARY (operands[3]))
21029 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21030 : STRIP_UNARY (operands[3])))))
21031 : return -1;
21032 : return 6097; /* *avx512vl_vpternlogv4sf_1 */
21033 :
21034 : case 21:
21035 : if (!(
21036 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21037 : ((64 == 64 || TARGET_AVX512VL
21038 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21039 : && ix86_pre_reload_split ()
21040 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21041 : STRIP_UNARY (operands[4]))
21042 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21043 : STRIP_UNARY (operands[4]))
21044 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21045 : STRIP_UNARY (operands[3]))
21046 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21047 : STRIP_UNARY (operands[3])))) &&
21048 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21049 : (TARGET_AVX512F)))
21050 : return -1;
21051 : return 6124; /* *avx512f_vpternlogv8df_1 */
21052 :
21053 : case 22:
21054 : if (!(
21055 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21056 : ((32 == 64 || TARGET_AVX512VL
21057 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21058 : && ix86_pre_reload_split ()
21059 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21060 : STRIP_UNARY (operands[4]))
21061 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21062 : STRIP_UNARY (operands[4]))
21063 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21064 : STRIP_UNARY (operands[3]))
21065 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21066 : STRIP_UNARY (operands[3])))) &&
21067 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21068 : (TARGET_AVX)))
21069 : return -1;
21070 : return 6151; /* *avx512vl_vpternlogv4df_1 */
21071 :
21072 : case 23:
21073 : if (!(
21074 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21075 : ((16 == 64 || TARGET_AVX512VL
21076 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21077 : && ix86_pre_reload_split ()
21078 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21079 : STRIP_UNARY (operands[4]))
21080 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21081 : STRIP_UNARY (operands[4]))
21082 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21083 : STRIP_UNARY (operands[3]))
21084 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21085 : STRIP_UNARY (operands[3])))) &&
21086 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21087 : (TARGET_SSE2)))
21088 : return -1;
21089 : return 6178; /* *avx512vl_vpternlogv2df_1 */
21090 :
21091 : case 24:
21092 : if (!(
21093 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21094 : ((64 == 64 || TARGET_AVX512VL
21095 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21096 : && ix86_pre_reload_split ()
21097 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21098 : STRIP_UNARY (operands[4]))
21099 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21100 : STRIP_UNARY (operands[4]))
21101 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21102 : STRIP_UNARY (operands[3]))
21103 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21104 : STRIP_UNARY (operands[3])))) &&
21105 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21106 : (TARGET_AVX512F)))
21107 : return -1;
21108 : return 5884; /* *avx512bw_vpternlogv32hf_1 */
21109 :
21110 : case 25:
21111 : if (!(
21112 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21113 : ((32 == 64 || TARGET_AVX512VL
21114 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21115 : && ix86_pre_reload_split ()
21116 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21117 : STRIP_UNARY (operands[4]))
21118 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21119 : STRIP_UNARY (operands[4]))
21120 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21121 : STRIP_UNARY (operands[3]))
21122 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21123 : STRIP_UNARY (operands[3])))) &&
21124 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21125 : (TARGET_AVX)))
21126 : return -1;
21127 : return 5911; /* *avx512vl_vpternlogv16hf_1 */
21128 :
21129 : case 26:
21130 : if (!
21131 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21132 : ((16 == 64 || TARGET_AVX512VL
21133 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21134 : && ix86_pre_reload_split ()
21135 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21136 : STRIP_UNARY (operands[4]))
21137 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21138 : STRIP_UNARY (operands[4]))
21139 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21140 : STRIP_UNARY (operands[3]))
21141 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21142 : STRIP_UNARY (operands[3])))))
21143 : return -1;
21144 : return 5938; /* *avx512fp16_vpternlogv8hf_1 */
21145 :
21146 : case 27:
21147 : if (!(
21148 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21149 : ((64 == 64 || TARGET_AVX512VL
21150 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21151 : && ix86_pre_reload_split ()
21152 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21153 : STRIP_UNARY (operands[4]))
21154 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21155 : STRIP_UNARY (operands[4]))
21156 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21157 : STRIP_UNARY (operands[3]))
21158 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21159 : STRIP_UNARY (operands[3])))) &&
21160 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21161 : (TARGET_AVX512F)))
21162 : return -1;
21163 : return 5965; /* *avx512bw_vpternlogv32bf_1 */
21164 :
21165 : case 28:
21166 : if (!(
21167 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21168 : ((32 == 64 || TARGET_AVX512VL
21169 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21170 : && ix86_pre_reload_split ()
21171 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21172 : STRIP_UNARY (operands[4]))
21173 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21174 : STRIP_UNARY (operands[4]))
21175 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21176 : STRIP_UNARY (operands[3]))
21177 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21178 : STRIP_UNARY (operands[3])))) &&
21179 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21180 : (TARGET_AVX)))
21181 : return -1;
21182 : return 5992; /* *avx512vl_vpternlogv16bf_1 */
21183 :
21184 : case 29:
21185 : if (!
21186 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21187 : ((16 == 64 || TARGET_AVX512VL
21188 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21189 : && ix86_pre_reload_split ()
21190 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21191 : STRIP_UNARY (operands[4]))
21192 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21193 : STRIP_UNARY (operands[4]))
21194 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21195 : STRIP_UNARY (operands[3]))
21196 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21197 : STRIP_UNARY (operands[3])))))
21198 : return -1;
21199 : return 6019; /* *avx512vl_vpternlogv8bf_1 */
21200 :
21201 : case 30:
21202 : if (!(
21203 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21204 : ((64 == 64 || TARGET_AVX512VL
21205 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21206 : && ix86_pre_reload_split ()
21207 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21208 : STRIP_UNARY (operands[4]))
21209 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21210 : STRIP_UNARY (operands[4]))
21211 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21212 : STRIP_UNARY (operands[3]))
21213 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21214 : STRIP_UNARY (operands[3])))) &&
21215 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21216 : (TARGET_AVX512F)))
21217 : return -1;
21218 : return 6046; /* *avx512f_vpternlogv16sf_1 */
21219 :
21220 : case 31:
21221 : if (!(
21222 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21223 : ((32 == 64 || TARGET_AVX512VL
21224 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21225 : && ix86_pre_reload_split ()
21226 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21227 : STRIP_UNARY (operands[4]))
21228 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21229 : STRIP_UNARY (operands[4]))
21230 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21231 : STRIP_UNARY (operands[3]))
21232 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21233 : STRIP_UNARY (operands[3])))) &&
21234 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21235 : (TARGET_AVX)))
21236 : return -1;
21237 : return 6073; /* *avx512vl_vpternlogv8sf_1 */
21238 :
21239 : case 32:
21240 : if (!
21241 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21242 : ((16 == 64 || TARGET_AVX512VL
21243 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21244 : && ix86_pre_reload_split ()
21245 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21246 : STRIP_UNARY (operands[4]))
21247 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21248 : STRIP_UNARY (operands[4]))
21249 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21250 : STRIP_UNARY (operands[3]))
21251 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21252 : STRIP_UNARY (operands[3])))))
21253 : return -1;
21254 : return 6100; /* *avx512vl_vpternlogv4sf_1 */
21255 :
21256 : case 33:
21257 : if (!(
21258 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21259 : ((64 == 64 || TARGET_AVX512VL
21260 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21261 : && ix86_pre_reload_split ()
21262 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21263 : STRIP_UNARY (operands[4]))
21264 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21265 : STRIP_UNARY (operands[4]))
21266 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21267 : STRIP_UNARY (operands[3]))
21268 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21269 : STRIP_UNARY (operands[3])))) &&
21270 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21271 : (TARGET_AVX512F)))
21272 : return -1;
21273 : return 6127; /* *avx512f_vpternlogv8df_1 */
21274 :
21275 : case 34:
21276 : if (!(
21277 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21278 : ((32 == 64 || TARGET_AVX512VL
21279 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21280 : && ix86_pre_reload_split ()
21281 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21282 : STRIP_UNARY (operands[4]))
21283 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21284 : STRIP_UNARY (operands[4]))
21285 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21286 : STRIP_UNARY (operands[3]))
21287 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21288 : STRIP_UNARY (operands[3])))) &&
21289 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21290 : (TARGET_AVX)))
21291 : return -1;
21292 : return 6154; /* *avx512vl_vpternlogv4df_1 */
21293 :
21294 : case 35:
21295 : if (!(
21296 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21297 : ((16 == 64 || TARGET_AVX512VL
21298 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21299 : && ix86_pre_reload_split ()
21300 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21301 : STRIP_UNARY (operands[4]))
21302 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21303 : STRIP_UNARY (operands[4]))
21304 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21305 : STRIP_UNARY (operands[3]))
21306 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21307 : STRIP_UNARY (operands[3])))) &&
21308 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21309 : (TARGET_SSE2)))
21310 : return -1;
21311 : return 6181; /* *avx512vl_vpternlogv2df_1 */
21312 :
21313 : case 36:
21314 : if (!(
21315 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21316 : ((64 == 64 || TARGET_AVX512VL
21317 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21318 : && ix86_pre_reload_split ()) &&
21319 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21320 : (TARGET_AVX512F)))
21321 : return -1;
21322 : return 6952; /* *avx512bw_vpternlogv32hf_3 */
21323 :
21324 : case 37:
21325 : if (!(
21326 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21327 : ((32 == 64 || TARGET_AVX512VL
21328 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21329 : && ix86_pre_reload_split ()) &&
21330 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21331 : (TARGET_AVX)))
21332 : return -1;
21333 : return 6961; /* *avx512vl_vpternlogv16hf_3 */
21334 :
21335 : case 38:
21336 : if (!
21337 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21338 : ((16 == 64 || TARGET_AVX512VL
21339 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21340 : && ix86_pre_reload_split ()))
21341 : return -1;
21342 : return 6970; /* *avx512fp16_vpternlogv8hf_3 */
21343 :
21344 : case 39:
21345 : if (!(
21346 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21347 : ((64 == 64 || TARGET_AVX512VL
21348 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21349 : && ix86_pre_reload_split ()) &&
21350 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21351 : (TARGET_AVX512F)))
21352 : return -1;
21353 : return 6979; /* *avx512bw_vpternlogv32bf_3 */
21354 :
21355 : case 40:
21356 : if (!(
21357 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21358 : ((32 == 64 || TARGET_AVX512VL
21359 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21360 : && ix86_pre_reload_split ()) &&
21361 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21362 : (TARGET_AVX)))
21363 : return -1;
21364 : return 6988; /* *avx512vl_vpternlogv16bf_3 */
21365 :
21366 : case 41:
21367 : if (!
21368 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21369 : ((16 == 64 || TARGET_AVX512VL
21370 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21371 : && ix86_pre_reload_split ()))
21372 : return -1;
21373 : return 6997; /* *avx512vl_vpternlogv8bf_3 */
21374 :
21375 : case 42:
21376 : if (!(
21377 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21378 : ((64 == 64 || TARGET_AVX512VL
21379 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21380 : && ix86_pre_reload_split ()) &&
21381 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21382 : (TARGET_AVX512F)))
21383 : return -1;
21384 : return 7006; /* *avx512f_vpternlogv16sf_3 */
21385 :
21386 : case 43:
21387 : if (!(
21388 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21389 : ((32 == 64 || TARGET_AVX512VL
21390 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21391 : && ix86_pre_reload_split ()) &&
21392 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21393 : (TARGET_AVX)))
21394 : return -1;
21395 : return 7015; /* *avx512vl_vpternlogv8sf_3 */
21396 :
21397 : case 44:
21398 : if (!
21399 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21400 : ((16 == 64 || TARGET_AVX512VL
21401 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21402 : && ix86_pre_reload_split ()))
21403 : return -1;
21404 : return 7024; /* *avx512vl_vpternlogv4sf_3 */
21405 :
21406 : case 45:
21407 : if (!(
21408 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21409 : ((64 == 64 || TARGET_AVX512VL
21410 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21411 : && ix86_pre_reload_split ()) &&
21412 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21413 : (TARGET_AVX512F)))
21414 : return -1;
21415 : return 7033; /* *avx512f_vpternlogv8df_3 */
21416 :
21417 : case 46:
21418 : if (!(
21419 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21420 : ((32 == 64 || TARGET_AVX512VL
21421 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21422 : && ix86_pre_reload_split ()) &&
21423 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21424 : (TARGET_AVX)))
21425 : return -1;
21426 : return 7042; /* *avx512vl_vpternlogv4df_3 */
21427 :
21428 : case 47:
21429 : if (!(
21430 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21431 : ((16 == 64 || TARGET_AVX512VL
21432 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21433 : && ix86_pre_reload_split ()) &&
21434 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21435 : (TARGET_SSE2)))
21436 : return -1;
21437 : return 7051; /* *avx512vl_vpternlogv2df_3 */
21438 :
21439 : default:
21440 : return -1;
21441 : }
21442 :
21443 : case AND:
21444 : switch (pattern544 (x2))
21445 : {
21446 : case 0:
21447 : if (!(
21448 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21449 : ((64 == 64 || TARGET_AVX512VL
21450 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21451 : && ix86_pre_reload_split ()
21452 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21453 : STRIP_UNARY (operands[4]))
21454 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21455 : STRIP_UNARY (operands[4]))
21456 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21457 : STRIP_UNARY (operands[3]))
21458 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21459 : STRIP_UNARY (operands[3])))) &&
21460 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21461 : (TARGET_AVX512F)))
21462 : return -1;
21463 : return 6526; /* *avx512bw_vpternlogv32hf_2 */
21464 :
21465 : case 1:
21466 : if (!(
21467 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21468 : ((32 == 64 || TARGET_AVX512VL
21469 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21470 : && ix86_pre_reload_split ()
21471 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21472 : STRIP_UNARY (operands[4]))
21473 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21474 : STRIP_UNARY (operands[4]))
21475 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21476 : STRIP_UNARY (operands[3]))
21477 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21478 : STRIP_UNARY (operands[3])))) &&
21479 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21480 : (TARGET_AVX)))
21481 : return -1;
21482 : return 6553; /* *avx512vl_vpternlogv16hf_2 */
21483 :
21484 : case 2:
21485 : if (!
21486 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21487 : ((16 == 64 || TARGET_AVX512VL
21488 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21489 : && ix86_pre_reload_split ()
21490 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21491 : STRIP_UNARY (operands[4]))
21492 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21493 : STRIP_UNARY (operands[4]))
21494 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21495 : STRIP_UNARY (operands[3]))
21496 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21497 : STRIP_UNARY (operands[3])))))
21498 : return -1;
21499 : return 6580; /* *avx512fp16_vpternlogv8hf_2 */
21500 :
21501 : case 3:
21502 : if (!(
21503 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21504 : ((64 == 64 || TARGET_AVX512VL
21505 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21506 : && ix86_pre_reload_split ()
21507 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21508 : STRIP_UNARY (operands[4]))
21509 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21510 : STRIP_UNARY (operands[4]))
21511 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21512 : STRIP_UNARY (operands[3]))
21513 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21514 : STRIP_UNARY (operands[3])))) &&
21515 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21516 : (TARGET_AVX512F)))
21517 : return -1;
21518 : return 6607; /* *avx512bw_vpternlogv32bf_2 */
21519 :
21520 : case 4:
21521 : if (!(
21522 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21523 : ((32 == 64 || TARGET_AVX512VL
21524 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21525 : && ix86_pre_reload_split ()
21526 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21527 : STRIP_UNARY (operands[4]))
21528 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21529 : STRIP_UNARY (operands[4]))
21530 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21531 : STRIP_UNARY (operands[3]))
21532 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21533 : STRIP_UNARY (operands[3])))) &&
21534 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21535 : (TARGET_AVX)))
21536 : return -1;
21537 : return 6634; /* *avx512vl_vpternlogv16bf_2 */
21538 :
21539 : case 5:
21540 : if (!
21541 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21542 : ((16 == 64 || TARGET_AVX512VL
21543 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21544 : && ix86_pre_reload_split ()
21545 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21546 : STRIP_UNARY (operands[4]))
21547 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21548 : STRIP_UNARY (operands[4]))
21549 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21550 : STRIP_UNARY (operands[3]))
21551 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21552 : STRIP_UNARY (operands[3])))))
21553 : return -1;
21554 : return 6661; /* *avx512vl_vpternlogv8bf_2 */
21555 :
21556 : case 6:
21557 : if (!(
21558 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21559 : ((64 == 64 || TARGET_AVX512VL
21560 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21561 : && ix86_pre_reload_split ()
21562 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21563 : STRIP_UNARY (operands[4]))
21564 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21565 : STRIP_UNARY (operands[4]))
21566 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21567 : STRIP_UNARY (operands[3]))
21568 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21569 : STRIP_UNARY (operands[3])))) &&
21570 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21571 : (TARGET_AVX512F)))
21572 : return -1;
21573 : return 6688; /* *avx512f_vpternlogv16sf_2 */
21574 :
21575 : case 7:
21576 : if (!(
21577 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21578 : ((32 == 64 || TARGET_AVX512VL
21579 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21580 : && ix86_pre_reload_split ()
21581 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21582 : STRIP_UNARY (operands[4]))
21583 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21584 : STRIP_UNARY (operands[4]))
21585 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21586 : STRIP_UNARY (operands[3]))
21587 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21588 : STRIP_UNARY (operands[3])))) &&
21589 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21590 : (TARGET_AVX)))
21591 : return -1;
21592 : return 6715; /* *avx512vl_vpternlogv8sf_2 */
21593 :
21594 : case 8:
21595 : if (!
21596 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21597 : ((16 == 64 || TARGET_AVX512VL
21598 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21599 : && ix86_pre_reload_split ()
21600 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21601 : STRIP_UNARY (operands[4]))
21602 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21603 : STRIP_UNARY (operands[4]))
21604 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21605 : STRIP_UNARY (operands[3]))
21606 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21607 : STRIP_UNARY (operands[3])))))
21608 : return -1;
21609 : return 6742; /* *avx512vl_vpternlogv4sf_2 */
21610 :
21611 : case 9:
21612 : if (!(
21613 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21614 : ((64 == 64 || TARGET_AVX512VL
21615 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21616 : && ix86_pre_reload_split ()
21617 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21618 : STRIP_UNARY (operands[4]))
21619 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21620 : STRIP_UNARY (operands[4]))
21621 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21622 : STRIP_UNARY (operands[3]))
21623 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21624 : STRIP_UNARY (operands[3])))) &&
21625 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21626 : (TARGET_AVX512F)))
21627 : return -1;
21628 : return 6769; /* *avx512f_vpternlogv8df_2 */
21629 :
21630 : case 10:
21631 : if (!(
21632 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21633 : ((32 == 64 || TARGET_AVX512VL
21634 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21635 : && ix86_pre_reload_split ()
21636 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21637 : STRIP_UNARY (operands[4]))
21638 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21639 : STRIP_UNARY (operands[4]))
21640 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21641 : STRIP_UNARY (operands[3]))
21642 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21643 : STRIP_UNARY (operands[3])))) &&
21644 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21645 : (TARGET_AVX)))
21646 : return -1;
21647 : return 6796; /* *avx512vl_vpternlogv4df_2 */
21648 :
21649 : case 11:
21650 : if (!(
21651 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21652 : ((16 == 64 || TARGET_AVX512VL
21653 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21654 : && ix86_pre_reload_split ()
21655 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21656 : STRIP_UNARY (operands[4]))
21657 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21658 : STRIP_UNARY (operands[4]))
21659 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21660 : STRIP_UNARY (operands[3]))
21661 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21662 : STRIP_UNARY (operands[3])))) &&
21663 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21664 : (TARGET_SSE2)))
21665 : return -1;
21666 : return 6823; /* *avx512vl_vpternlogv2df_2 */
21667 :
21668 : default:
21669 : return -1;
21670 : }
21671 :
21672 : case IOR:
21673 : switch (pattern544 (x2))
21674 : {
21675 : case 0:
21676 : if (!(
21677 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21678 : ((64 == 64 || TARGET_AVX512VL
21679 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21680 : && ix86_pre_reload_split ()
21681 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21682 : STRIP_UNARY (operands[4]))
21683 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21684 : STRIP_UNARY (operands[4]))
21685 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21686 : STRIP_UNARY (operands[3]))
21687 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21688 : STRIP_UNARY (operands[3])))) &&
21689 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21690 : (TARGET_AVX512F)))
21691 : return -1;
21692 : return 6529; /* *avx512bw_vpternlogv32hf_2 */
21693 :
21694 : case 1:
21695 : if (!(
21696 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21697 : ((32 == 64 || TARGET_AVX512VL
21698 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21699 : && ix86_pre_reload_split ()
21700 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21701 : STRIP_UNARY (operands[4]))
21702 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21703 : STRIP_UNARY (operands[4]))
21704 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21705 : STRIP_UNARY (operands[3]))
21706 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21707 : STRIP_UNARY (operands[3])))) &&
21708 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21709 : (TARGET_AVX)))
21710 : return -1;
21711 : return 6556; /* *avx512vl_vpternlogv16hf_2 */
21712 :
21713 : case 2:
21714 : if (!
21715 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21716 : ((16 == 64 || TARGET_AVX512VL
21717 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21718 : && ix86_pre_reload_split ()
21719 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21720 : STRIP_UNARY (operands[4]))
21721 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21722 : STRIP_UNARY (operands[4]))
21723 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21724 : STRIP_UNARY (operands[3]))
21725 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21726 : STRIP_UNARY (operands[3])))))
21727 : return -1;
21728 : return 6583; /* *avx512fp16_vpternlogv8hf_2 */
21729 :
21730 : case 3:
21731 : if (!(
21732 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21733 : ((64 == 64 || TARGET_AVX512VL
21734 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21735 : && ix86_pre_reload_split ()
21736 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21737 : STRIP_UNARY (operands[4]))
21738 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21739 : STRIP_UNARY (operands[4]))
21740 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21741 : STRIP_UNARY (operands[3]))
21742 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21743 : STRIP_UNARY (operands[3])))) &&
21744 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21745 : (TARGET_AVX512F)))
21746 : return -1;
21747 : return 6610; /* *avx512bw_vpternlogv32bf_2 */
21748 :
21749 : case 4:
21750 : if (!(
21751 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21752 : ((32 == 64 || TARGET_AVX512VL
21753 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21754 : && ix86_pre_reload_split ()
21755 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21756 : STRIP_UNARY (operands[4]))
21757 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21758 : STRIP_UNARY (operands[4]))
21759 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21760 : STRIP_UNARY (operands[3]))
21761 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21762 : STRIP_UNARY (operands[3])))) &&
21763 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21764 : (TARGET_AVX)))
21765 : return -1;
21766 : return 6637; /* *avx512vl_vpternlogv16bf_2 */
21767 :
21768 : case 5:
21769 : if (!
21770 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21771 : ((16 == 64 || TARGET_AVX512VL
21772 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21773 : && ix86_pre_reload_split ()
21774 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21775 : STRIP_UNARY (operands[4]))
21776 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21777 : STRIP_UNARY (operands[4]))
21778 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21779 : STRIP_UNARY (operands[3]))
21780 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21781 : STRIP_UNARY (operands[3])))))
21782 : return -1;
21783 : return 6664; /* *avx512vl_vpternlogv8bf_2 */
21784 :
21785 : case 6:
21786 : if (!(
21787 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21788 : ((64 == 64 || TARGET_AVX512VL
21789 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21790 : && ix86_pre_reload_split ()
21791 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21792 : STRIP_UNARY (operands[4]))
21793 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21794 : STRIP_UNARY (operands[4]))
21795 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21796 : STRIP_UNARY (operands[3]))
21797 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21798 : STRIP_UNARY (operands[3])))) &&
21799 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21800 : (TARGET_AVX512F)))
21801 : return -1;
21802 : return 6691; /* *avx512f_vpternlogv16sf_2 */
21803 :
21804 : case 7:
21805 : if (!(
21806 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21807 : ((32 == 64 || TARGET_AVX512VL
21808 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21809 : && ix86_pre_reload_split ()
21810 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21811 : STRIP_UNARY (operands[4]))
21812 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21813 : STRIP_UNARY (operands[4]))
21814 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21815 : STRIP_UNARY (operands[3]))
21816 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21817 : STRIP_UNARY (operands[3])))) &&
21818 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21819 : (TARGET_AVX)))
21820 : return -1;
21821 : return 6718; /* *avx512vl_vpternlogv8sf_2 */
21822 :
21823 : case 8:
21824 : if (!
21825 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21826 : ((16 == 64 || TARGET_AVX512VL
21827 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21828 : && ix86_pre_reload_split ()
21829 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21830 : STRIP_UNARY (operands[4]))
21831 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21832 : STRIP_UNARY (operands[4]))
21833 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21834 : STRIP_UNARY (operands[3]))
21835 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21836 : STRIP_UNARY (operands[3])))))
21837 : return -1;
21838 : return 6745; /* *avx512vl_vpternlogv4sf_2 */
21839 :
21840 : case 9:
21841 : if (!(
21842 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21843 : ((64 == 64 || TARGET_AVX512VL
21844 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21845 : && ix86_pre_reload_split ()
21846 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21847 : STRIP_UNARY (operands[4]))
21848 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21849 : STRIP_UNARY (operands[4]))
21850 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21851 : STRIP_UNARY (operands[3]))
21852 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21853 : STRIP_UNARY (operands[3])))) &&
21854 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21855 : (TARGET_AVX512F)))
21856 : return -1;
21857 : return 6772; /* *avx512f_vpternlogv8df_2 */
21858 :
21859 : case 10:
21860 : if (!(
21861 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21862 : ((32 == 64 || TARGET_AVX512VL
21863 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21864 : && ix86_pre_reload_split ()
21865 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21866 : STRIP_UNARY (operands[4]))
21867 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21868 : STRIP_UNARY (operands[4]))
21869 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21870 : STRIP_UNARY (operands[3]))
21871 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21872 : STRIP_UNARY (operands[3])))) &&
21873 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21874 : (TARGET_AVX)))
21875 : return -1;
21876 : return 6799; /* *avx512vl_vpternlogv4df_2 */
21877 :
21878 : case 11:
21879 : if (!(
21880 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21881 : ((16 == 64 || TARGET_AVX512VL
21882 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21883 : && ix86_pre_reload_split ()
21884 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21885 : STRIP_UNARY (operands[4]))
21886 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21887 : STRIP_UNARY (operands[4]))
21888 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21889 : STRIP_UNARY (operands[3]))
21890 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21891 : STRIP_UNARY (operands[3])))) &&
21892 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21893 : (TARGET_SSE2)))
21894 : return -1;
21895 : return 6826; /* *avx512vl_vpternlogv2df_2 */
21896 :
21897 : default:
21898 : return -1;
21899 : }
21900 :
21901 : case XOR:
21902 : switch (pattern544 (x2))
21903 : {
21904 : case 0:
21905 : if (!(
21906 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21907 : ((64 == 64 || TARGET_AVX512VL
21908 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21909 : && ix86_pre_reload_split ()
21910 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21911 : STRIP_UNARY (operands[4]))
21912 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21913 : STRIP_UNARY (operands[4]))
21914 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21915 : STRIP_UNARY (operands[3]))
21916 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21917 : STRIP_UNARY (operands[3])))) &&
21918 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21919 : (TARGET_AVX512F)))
21920 : return -1;
21921 : return 6532; /* *avx512bw_vpternlogv32hf_2 */
21922 :
21923 : case 1:
21924 : if (!(
21925 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21926 : ((32 == 64 || TARGET_AVX512VL
21927 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21928 : && ix86_pre_reload_split ()
21929 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21930 : STRIP_UNARY (operands[4]))
21931 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21932 : STRIP_UNARY (operands[4]))
21933 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21934 : STRIP_UNARY (operands[3]))
21935 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21936 : STRIP_UNARY (operands[3])))) &&
21937 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21938 : (TARGET_AVX)))
21939 : return -1;
21940 : return 6559; /* *avx512vl_vpternlogv16hf_2 */
21941 :
21942 : case 2:
21943 : if (!
21944 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21945 : ((16 == 64 || TARGET_AVX512VL
21946 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21947 : && ix86_pre_reload_split ()
21948 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21949 : STRIP_UNARY (operands[4]))
21950 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21951 : STRIP_UNARY (operands[4]))
21952 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21953 : STRIP_UNARY (operands[3]))
21954 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21955 : STRIP_UNARY (operands[3])))))
21956 : return -1;
21957 : return 6586; /* *avx512fp16_vpternlogv8hf_2 */
21958 :
21959 : case 3:
21960 : if (!(
21961 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21962 : ((64 == 64 || TARGET_AVX512VL
21963 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21964 : && ix86_pre_reload_split ()
21965 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21966 : STRIP_UNARY (operands[4]))
21967 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21968 : STRIP_UNARY (operands[4]))
21969 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21970 : STRIP_UNARY (operands[3]))
21971 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21972 : STRIP_UNARY (operands[3])))) &&
21973 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21974 : (TARGET_AVX512F)))
21975 : return -1;
21976 : return 6613; /* *avx512bw_vpternlogv32bf_2 */
21977 :
21978 : case 4:
21979 : if (!(
21980 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21981 : ((32 == 64 || TARGET_AVX512VL
21982 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21983 : && ix86_pre_reload_split ()
21984 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21985 : STRIP_UNARY (operands[4]))
21986 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21987 : STRIP_UNARY (operands[4]))
21988 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21989 : STRIP_UNARY (operands[3]))
21990 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21991 : STRIP_UNARY (operands[3])))) &&
21992 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21993 : (TARGET_AVX)))
21994 : return -1;
21995 : return 6640; /* *avx512vl_vpternlogv16bf_2 */
21996 :
21997 : case 5:
21998 : if (!
21999 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22000 : ((16 == 64 || TARGET_AVX512VL
22001 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
22002 : && ix86_pre_reload_split ()
22003 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
22004 : STRIP_UNARY (operands[4]))
22005 : || rtx_equal_p (STRIP_UNARY (operands[2]),
22006 : STRIP_UNARY (operands[4]))
22007 : || rtx_equal_p (STRIP_UNARY (operands[1]),
22008 : STRIP_UNARY (operands[3]))
22009 : || rtx_equal_p (STRIP_UNARY (operands[2]),
22010 : STRIP_UNARY (operands[3])))))
22011 : return -1;
22012 : return 6667; /* *avx512vl_vpternlogv8bf_2 */
22013 :
22014 : case 6:
22015 : if (!(
22016 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22017 : ((64 == 64 || TARGET_AVX512VL
22018 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
22019 : && ix86_pre_reload_split ()
22020 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
22021 : STRIP_UNARY (operands[4]))
22022 : || rtx_equal_p (STRIP_UNARY (operands[2]),
22023 : STRIP_UNARY (operands[4]))
22024 : || rtx_equal_p (STRIP_UNARY (operands[1]),
22025 : STRIP_UNARY (operands[3]))
22026 : || rtx_equal_p (STRIP_UNARY (operands[2]),
22027 : STRIP_UNARY (operands[3])))) &&
22028 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22029 : (TARGET_AVX512F)))
22030 : return -1;
22031 : return 6694; /* *avx512f_vpternlogv16sf_2 */
22032 :
22033 : case 7:
22034 : if (!(
22035 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22036 : ((32 == 64 || TARGET_AVX512VL
22037 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
22038 : && ix86_pre_reload_split ()
22039 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
22040 : STRIP_UNARY (operands[4]))
22041 : || rtx_equal_p (STRIP_UNARY (operands[2]),
22042 : STRIP_UNARY (operands[4]))
22043 : || rtx_equal_p (STRIP_UNARY (operands[1]),
22044 : STRIP_UNARY (operands[3]))
22045 : || rtx_equal_p (STRIP_UNARY (operands[2]),
22046 : STRIP_UNARY (operands[3])))) &&
22047 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22048 : (TARGET_AVX)))
22049 : return -1;
22050 : return 6721; /* *avx512vl_vpternlogv8sf_2 */
22051 :
22052 : case 8:
22053 : if (!
22054 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22055 : ((16 == 64 || TARGET_AVX512VL
22056 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
22057 : && ix86_pre_reload_split ()
22058 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
22059 : STRIP_UNARY (operands[4]))
22060 : || rtx_equal_p (STRIP_UNARY (operands[2]),
22061 : STRIP_UNARY (operands[4]))
22062 : || rtx_equal_p (STRIP_UNARY (operands[1]),
22063 : STRIP_UNARY (operands[3]))
22064 : || rtx_equal_p (STRIP_UNARY (operands[2]),
22065 : STRIP_UNARY (operands[3])))))
22066 : return -1;
22067 : return 6748; /* *avx512vl_vpternlogv4sf_2 */
22068 :
22069 : case 9:
22070 : if (!(
22071 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22072 : ((64 == 64 || TARGET_AVX512VL
22073 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
22074 : && ix86_pre_reload_split ()
22075 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
22076 : STRIP_UNARY (operands[4]))
22077 : || rtx_equal_p (STRIP_UNARY (operands[2]),
22078 : STRIP_UNARY (operands[4]))
22079 : || rtx_equal_p (STRIP_UNARY (operands[1]),
22080 : STRIP_UNARY (operands[3]))
22081 : || rtx_equal_p (STRIP_UNARY (operands[2]),
22082 : STRIP_UNARY (operands[3])))) &&
22083 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22084 : (TARGET_AVX512F)))
22085 : return -1;
22086 : return 6775; /* *avx512f_vpternlogv8df_2 */
22087 :
22088 : case 10:
22089 : if (!(
22090 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22091 : ((32 == 64 || TARGET_AVX512VL
22092 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
22093 : && ix86_pre_reload_split ()
22094 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
22095 : STRIP_UNARY (operands[4]))
22096 : || rtx_equal_p (STRIP_UNARY (operands[2]),
22097 : STRIP_UNARY (operands[4]))
22098 : || rtx_equal_p (STRIP_UNARY (operands[1]),
22099 : STRIP_UNARY (operands[3]))
22100 : || rtx_equal_p (STRIP_UNARY (operands[2]),
22101 : STRIP_UNARY (operands[3])))) &&
22102 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22103 : (TARGET_AVX)))
22104 : return -1;
22105 : return 6802; /* *avx512vl_vpternlogv4df_2 */
22106 :
22107 : case 11:
22108 : if (!(
22109 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22110 : ((16 == 64 || TARGET_AVX512VL
22111 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
22112 : && ix86_pre_reload_split ()
22113 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
22114 : STRIP_UNARY (operands[4]))
22115 : || rtx_equal_p (STRIP_UNARY (operands[2]),
22116 : STRIP_UNARY (operands[4]))
22117 : || rtx_equal_p (STRIP_UNARY (operands[1]),
22118 : STRIP_UNARY (operands[3]))
22119 : || rtx_equal_p (STRIP_UNARY (operands[2]),
22120 : STRIP_UNARY (operands[3])))) &&
22121 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22122 : (TARGET_SSE2)))
22123 : return -1;
22124 : return 6829; /* *avx512vl_vpternlogv2df_2 */
22125 :
22126 : default:
22127 : return -1;
22128 : }
22129 :
22130 : default:
22131 : return -1;
22132 : }
22133 :
22134 : case XOR:
22135 : return recog_315 (x1, insn, pnum_clobbers);
22136 :
22137 : default:
22138 : return -1;
22139 : }
22140 : }
22141 :
22142 : int
22143 : recog_382 (rtx x1 ATTRIBUTE_UNUSED,
22144 : rtx_insn *insn ATTRIBUTE_UNUSED,
22145 : int *pnum_clobbers ATTRIBUTE_UNUSED)
22146 : {
22147 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22148 : rtx x2, x3, x4, x5, x6, x7;
22149 : int res ATTRIBUTE_UNUSED;
22150 : if (pnum_clobbers == NULL)
22151 : return -1;
22152 : x2 = XVECEXP (x1, 0, 0);
22153 : x3 = XEXP (x2, 1);
22154 : if (GET_MODE (x3) != E_SImode)
22155 : return -1;
22156 : x4 = XVECEXP (x1, 0, 1);
22157 : if (GET_CODE (x4) != USE)
22158 : return -1;
22159 : x5 = XEXP (x2, 0);
22160 : operands[0] = x5;
22161 : if (!register_operand (operands[0], E_SImode))
22162 : return -1;
22163 : x6 = XEXP (x3, 0);
22164 : operands[3] = x6;
22165 : x7 = XEXP (x4, 0);
22166 : operands[4] = x7;
22167 : switch (GET_MODE (operands[3]))
22168 : {
22169 : case E_SFmode:
22170 : if (!nonimmediate_operand (operands[3], E_SFmode)
22171 : || !nonimmediate_operand (operands[4], E_V4SFmode)
22172 : || !
22173 : #line 6022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22174 : (!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
22175 : && optimize_function_for_speed_p (cfun)))
22176 : return -1;
22177 : *pnum_clobbers = 2;
22178 : return 227; /* *fixuns_truncsf_1 */
22179 :
22180 : case E_DFmode:
22181 : if (!nonimmediate_operand (operands[3], E_DFmode)
22182 : || !nonimmediate_operand (operands[4], E_V2DFmode)
22183 : || !
22184 : #line 6022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22185 : (!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
22186 : && optimize_function_for_speed_p (cfun)))
22187 : return -1;
22188 : *pnum_clobbers = 2;
22189 : return 228; /* *fixuns_truncdf_1 */
22190 :
22191 : default:
22192 : return -1;
22193 : }
22194 : }
22195 :
22196 : int
22197 : recog_384 (rtx x1 ATTRIBUTE_UNUSED,
22198 : rtx_insn *insn ATTRIBUTE_UNUSED,
22199 : int *pnum_clobbers ATTRIBUTE_UNUSED)
22200 : {
22201 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22202 : rtx x2, x3, x4, x5, x6;
22203 : int res ATTRIBUTE_UNUSED;
22204 : x2 = XVECEXP (x1, 0, 0);
22205 : x3 = XEXP (x2, 0);
22206 : operands[0] = x3;
22207 : x4 = XEXP (x2, 1);
22208 : x5 = XEXP (x4, 0);
22209 : operands[1] = x5;
22210 : x6 = XVECEXP (x1, 0, 1);
22211 : switch (GET_CODE (x6))
22212 : {
22213 : case CLOBBER:
22214 : if (pnum_clobbers == NULL
22215 : || !register_operand (operands[1], E_DImode))
22216 : return -1;
22217 : switch (pattern943 (x1))
22218 : {
22219 : case 0:
22220 : if (!
22221 : #line 6321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22222 : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
22223 : && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
22224 : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)))
22225 : return -1;
22226 : *pnum_clobbers = 2;
22227 : return 258; /* floatdisf2_i387_with_xmm */
22228 :
22229 : case 1:
22230 : if (!
22231 : #line 6321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22232 : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
22233 : && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
22234 : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)))
22235 : return -1;
22236 : *pnum_clobbers = 2;
22237 : return 259; /* floatdidf2_i387_with_xmm */
22238 :
22239 : case 2:
22240 : if (!
22241 : #line 6321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22242 : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
22243 : && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
22244 : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)))
22245 : return -1;
22246 : *pnum_clobbers = 2;
22247 : return 260; /* floatdixf2_i387_with_xmm */
22248 :
22249 : default:
22250 : return -1;
22251 : }
22252 :
22253 : case UNSPEC:
22254 : if (pattern695 (x1,
22255 : E_V2SImode,
22256 : E_V2SFmode) != 0
22257 : || !
22258 : #line 1626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
22259 : (TARGET_3DNOW))
22260 : return -1;
22261 : return 2135; /* mmx_floatv2siv2sf2 */
22262 :
22263 : default:
22264 : return -1;
22265 : }
22266 : }
22267 :
22268 : int
22269 : recog_385 (rtx x1 ATTRIBUTE_UNUSED,
22270 : rtx_insn *insn ATTRIBUTE_UNUSED,
22271 : int *pnum_clobbers ATTRIBUTE_UNUSED)
22272 : {
22273 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22274 : rtx x2, x3, x4, x5, x6;
22275 : int res ATTRIBUTE_UNUSED;
22276 : if (pnum_clobbers == NULL)
22277 : return -1;
22278 : x2 = XVECEXP (x1, 0, 1);
22279 : if (GET_CODE (x2) != CLOBBER)
22280 : return -1;
22281 : x3 = XVECEXP (x1, 0, 0);
22282 : x4 = XEXP (x3, 0);
22283 : operands[0] = x4;
22284 : x5 = XEXP (x3, 1);
22285 : x6 = XEXP (x5, 0);
22286 : operands[1] = x6;
22287 : if (!nonimmediate_operand (operands[1], E_SImode))
22288 : return -1;
22289 : switch (pattern943 (x1))
22290 : {
22291 : case 0:
22292 : if (!
22293 : #line 6412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22294 : (!TARGET_64BIT
22295 : && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
22296 : && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
22297 : return -1;
22298 : *pnum_clobbers = 1;
22299 : return 265; /* floatunssisf2_i387_with_xmm */
22300 :
22301 : case 1:
22302 : if (!
22303 : #line 6412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22304 : (!TARGET_64BIT
22305 : && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
22306 : && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
22307 : return -1;
22308 : *pnum_clobbers = 1;
22309 : return 266; /* floatunssidf2_i387_with_xmm */
22310 :
22311 : case 2:
22312 : if (!
22313 : #line 6412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22314 : (!TARGET_64BIT
22315 : && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
22316 : && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
22317 : return -1;
22318 : *pnum_clobbers = 1;
22319 : return 267; /* floatunssixf2_i387_with_xmm */
22320 :
22321 : default:
22322 : return -1;
22323 : }
22324 : }
22325 :
22326 : int
22327 : recog_387 (rtx x1 ATTRIBUTE_UNUSED,
22328 : rtx_insn *insn ATTRIBUTE_UNUSED,
22329 : int *pnum_clobbers ATTRIBUTE_UNUSED)
22330 : {
22331 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22332 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22333 : rtx x10, x11, x12, x13, x14;
22334 : int res ATTRIBUTE_UNUSED;
22335 : x2 = XVECEXP (x1, 0, 0);
22336 : x3 = XEXP (x2, 1);
22337 : x4 = XEXP (x3, 0);
22338 : switch (GET_CODE (x4))
22339 : {
22340 : case REG:
22341 : case SUBREG:
22342 : case MEM:
22343 : operands[1] = x4;
22344 : res = recog_386 (x1, insn, pnum_clobbers);
22345 : if (res >= 0)
22346 : return res;
22347 : if (GET_CODE (x4) != SUBREG
22348 : || maybe_ne (SUBREG_BYTE (x4), 0)
22349 : || GET_MODE (x4) != E_QImode)
22350 : return -1;
22351 : x5 = XEXP (x4, 0);
22352 : switch (GET_CODE (x5))
22353 : {
22354 : case ASHIFTRT:
22355 : case LSHIFTRT:
22356 : case SIGN_EXTRACT:
22357 : case ZERO_EXTRACT:
22358 : operands[3] = x5;
22359 : x6 = XVECEXP (x1, 0, 1);
22360 : if (GET_CODE (x6) != CLOBBER
22361 : || pattern575 (x1) != 0)
22362 : return -1;
22363 : x7 = XEXP (x5, 0);
22364 : operands[2] = x7;
22365 : switch (pattern1534 (x2))
22366 : {
22367 : case 0:
22368 : if (
22369 : #line 7182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22370 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22371 : return 307; /* *addqi_exthi_1_slp */
22372 : break;
22373 :
22374 : case 1:
22375 : if (
22376 : #line 7182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22377 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22378 : return 308; /* *addqi_extsi_1_slp */
22379 : break;
22380 :
22381 : case 2:
22382 : if ((
22383 : #line 7182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22384 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
22385 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22386 : (TARGET_64BIT)))
22387 : return 309; /* *addqi_extdi_1_slp */
22388 : break;
22389 :
22390 : case 3:
22391 : return 331; /* *addqi_exthi_0 */
22392 :
22393 : case 4:
22394 : return 332; /* *addqi_extsi_0 */
22395 :
22396 : case 5:
22397 : if (
22398 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22399 : (TARGET_64BIT))
22400 : return 333; /* *addqi_extdi_0 */
22401 : break;
22402 :
22403 : default:
22404 : break;
22405 : }
22406 : x8 = XEXP (x3, 1);
22407 : if (GET_CODE (x8) != SUBREG)
22408 : return -1;
22409 : switch (pattern1535 (x2))
22410 : {
22411 : case 0:
22412 : if (!
22413 : #line 7211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22414 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22415 : return -1;
22416 : return 310; /* *addqi_exthi_2_slp */
22417 :
22418 : case 1:
22419 : if (!
22420 : #line 7211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22421 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22422 : return -1;
22423 : return 311; /* *addqi_extsi_2_slp */
22424 :
22425 : case 2:
22426 : if (!(
22427 : #line 7211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22428 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
22429 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22430 : (TARGET_64BIT)))
22431 : return -1;
22432 : return 312; /* *addqi_extdi_2_slp */
22433 :
22434 : case 3:
22435 : return 334; /* *addqi_ext2hi_0 */
22436 :
22437 : case 4:
22438 : return 335; /* *addqi_ext2si_0 */
22439 :
22440 : case 5:
22441 : if (!
22442 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22443 : (TARGET_64BIT))
22444 : return -1;
22445 : return 336; /* *addqi_ext2di_0 */
22446 :
22447 : default:
22448 : return -1;
22449 : }
22450 :
22451 : default:
22452 : return -1;
22453 : }
22454 :
22455 : case ZERO_EXTEND:
22456 : x6 = XVECEXP (x1, 0, 1);
22457 : if (pattern357 (x6) != 0)
22458 : return -1;
22459 : switch (pattern945 (x2))
22460 : {
22461 : case 0:
22462 : if (!(
22463 : #line 6672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22464 : (ix86_binary_operator_ok (UNKNOWN, DImode, operands, TARGET_APX_NDD)) &&
22465 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22466 : (!TARGET_64BIT)))
22467 : return -1;
22468 : return 272; /* *adddi3_doubleword_zext */
22469 :
22470 : case 1:
22471 : if (!(
22472 : #line 6672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22473 : (ix86_binary_operator_ok (UNKNOWN, TImode, operands, TARGET_APX_NDD)) &&
22474 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22475 : (TARGET_64BIT)))
22476 : return -1;
22477 : return 273; /* *addti3_doubleword_zext */
22478 :
22479 : default:
22480 : return -1;
22481 : }
22482 :
22483 : case PLUS:
22484 : if (pattern346 (x1) != 0)
22485 : return -1;
22486 : x5 = XEXP (x4, 0);
22487 : switch (GET_CODE (x5))
22488 : {
22489 : case ASHIFT:
22490 : switch (pattern1169 (x3))
22491 : {
22492 : case 0:
22493 : if (!(
22494 : #line 6707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22495 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
22496 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22497 : (!TARGET_64BIT)))
22498 : return -1;
22499 : return 274; /* *adddi3_doubleword_concat */
22500 :
22501 : case 1:
22502 : if (!(
22503 : #line 6707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22504 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
22505 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22506 : (TARGET_64BIT)))
22507 : return -1;
22508 : return 277; /* *addti3_doubleword_concat */
22509 :
22510 : case 2:
22511 : if (!(
22512 : #line 6738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22513 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
22514 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22515 : (!TARGET_64BIT)))
22516 : return -1;
22517 : return 280; /* *adddi3_doubleword_concat_zext */
22518 :
22519 : case 3:
22520 : if (!(
22521 : #line 6738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22522 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
22523 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22524 : (TARGET_64BIT)))
22525 : return -1;
22526 : return 283; /* *addti3_doubleword_concat_zext */
22527 :
22528 : default:
22529 : return -1;
22530 : }
22531 :
22532 : case LTU:
22533 : case UNLT:
22534 : operands[4] = x5;
22535 : x9 = XEXP (x5, 1);
22536 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22537 : return -1;
22538 : x7 = XEXP (x5, 0);
22539 : operands[3] = x7;
22540 : if (!flags_reg_operand (operands[3], E_VOIDmode))
22541 : return -1;
22542 : x10 = XEXP (x4, 1);
22543 : operands[1] = x10;
22544 : x8 = XEXP (x3, 1);
22545 : operands[2] = x8;
22546 : switch (GET_MODE (operands[0]))
22547 : {
22548 : case E_QImode:
22549 : if (pattern1641 (x3,
22550 : E_QImode) != 0
22551 : || !
22552 : #line 9107 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22553 : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)))
22554 : return -1;
22555 : return 457; /* addqi3_carry */
22556 :
22557 : case E_HImode:
22558 : if (pattern1641 (x3,
22559 : E_HImode) != 0
22560 : || !
22561 : #line 9107 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22562 : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)))
22563 : return -1;
22564 : return 458; /* addhi3_carry */
22565 :
22566 : case E_SImode:
22567 : if (pattern1642 (x3,
22568 : E_SImode) != 0
22569 : || !
22570 : #line 9107 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22571 : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
22572 : return -1;
22573 : return 459; /* addsi3_carry */
22574 :
22575 : case E_DImode:
22576 : if (pattern1642 (x3,
22577 : E_DImode) != 0
22578 : || !(
22579 : #line 9107 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22580 : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) &&
22581 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22582 : (TARGET_64BIT)))
22583 : return -1;
22584 : return 460; /* adddi3_carry */
22585 :
22586 : default:
22587 : return -1;
22588 : }
22589 :
22590 : case EQ:
22591 : switch (pattern1172 (x3))
22592 : {
22593 : case 0:
22594 : if (!
22595 : #line 10892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22596 : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
22597 : && ix86_pre_reload_split ()))
22598 : return -1;
22599 : return 582; /* *addqi3_eq */
22600 :
22601 : case 1:
22602 : if (!
22603 : #line 10892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22604 : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
22605 : && ix86_pre_reload_split ()))
22606 : return -1;
22607 : return 583; /* *addhi3_eq */
22608 :
22609 : case 2:
22610 : if (!
22611 : #line 10892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22612 : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)
22613 : && ix86_pre_reload_split ()))
22614 : return -1;
22615 : return 584; /* *addsi3_eq */
22616 :
22617 : case 3:
22618 : if (!(
22619 : #line 10892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22620 : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
22621 : && ix86_pre_reload_split ()) &&
22622 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22623 : (TARGET_64BIT)))
22624 : return -1;
22625 : return 585; /* *adddi3_eq */
22626 :
22627 : default:
22628 : return -1;
22629 : }
22630 :
22631 : case NE:
22632 : switch (pattern1175 (x3))
22633 : {
22634 : case 0:
22635 : if (!
22636 : #line 10913 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22637 : (CONST_INT_P (operands[2])
22638 : && (QImode != DImode
22639 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22640 : && ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
22641 : && ix86_pre_reload_split ()))
22642 : return -1;
22643 : return 586; /* *addqi3_ne */
22644 :
22645 : case 1:
22646 : if (!
22647 : #line 10913 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22648 : (CONST_INT_P (operands[2])
22649 : && (HImode != DImode
22650 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22651 : && ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
22652 : && ix86_pre_reload_split ()))
22653 : return -1;
22654 : return 587; /* *addhi3_ne */
22655 :
22656 : case 2:
22657 : if (!
22658 : #line 10913 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22659 : (CONST_INT_P (operands[2])
22660 : && (SImode != DImode
22661 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22662 : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)
22663 : && ix86_pre_reload_split ()))
22664 : return -1;
22665 : return 588; /* *addsi3_ne */
22666 :
22667 : case 3:
22668 : if (!(
22669 : #line 10913 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22670 : (CONST_INT_P (operands[2])
22671 : && (DImode != DImode
22672 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22673 : && ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
22674 : && ix86_pre_reload_split ()) &&
22675 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22676 : (TARGET_64BIT)))
22677 : return -1;
22678 : return 589; /* *adddi3_ne */
22679 :
22680 : default:
22681 : return -1;
22682 : }
22683 :
22684 : default:
22685 : return -1;
22686 : }
22687 :
22688 : case IOR:
22689 : switch (pattern361 (x1))
22690 : {
22691 : case 0:
22692 : if (!(
22693 : #line 6707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22694 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
22695 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22696 : (!TARGET_64BIT)))
22697 : return -1;
22698 : return 275; /* *adddi3_doubleword_concat */
22699 :
22700 : case 1:
22701 : if (!(
22702 : #line 6707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22703 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
22704 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22705 : (TARGET_64BIT)))
22706 : return -1;
22707 : return 278; /* *addti3_doubleword_concat */
22708 :
22709 : case 2:
22710 : if (!(
22711 : #line 6738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22712 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
22713 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22714 : (!TARGET_64BIT)))
22715 : return -1;
22716 : return 281; /* *adddi3_doubleword_concat_zext */
22717 :
22718 : case 3:
22719 : if (!(
22720 : #line 6738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22721 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
22722 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22723 : (TARGET_64BIT)))
22724 : return -1;
22725 : return 284; /* *addti3_doubleword_concat_zext */
22726 :
22727 : default:
22728 : return -1;
22729 : }
22730 :
22731 : case XOR:
22732 : switch (pattern361 (x1))
22733 : {
22734 : case 0:
22735 : if (!(
22736 : #line 6707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22737 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
22738 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22739 : (!TARGET_64BIT)))
22740 : return -1;
22741 : return 276; /* *adddi3_doubleword_concat */
22742 :
22743 : case 1:
22744 : if (!(
22745 : #line 6707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22746 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
22747 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22748 : (TARGET_64BIT)))
22749 : return -1;
22750 : return 279; /* *addti3_doubleword_concat */
22751 :
22752 : case 2:
22753 : if (!(
22754 : #line 6738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22755 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
22756 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22757 : (!TARGET_64BIT)))
22758 : return -1;
22759 : return 282; /* *adddi3_doubleword_concat_zext */
22760 :
22761 : case 3:
22762 : if (!(
22763 : #line 6738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22764 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
22765 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22766 : (TARGET_64BIT)))
22767 : return -1;
22768 : return 285; /* *addti3_doubleword_concat_zext */
22769 :
22770 : default:
22771 : return -1;
22772 : }
22773 :
22774 : case LTU:
22775 : case UNLT:
22776 : switch (pattern362 (x1))
22777 : {
22778 : case 0:
22779 : if (pattern1536 (x3,
22780 : E_QImode) != 0
22781 : || !
22782 : #line 9213 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22783 : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
22784 : return -1;
22785 : return 465; /* *addqi3_carry_0 */
22786 :
22787 : case 1:
22788 : if (pattern1536 (x3,
22789 : E_HImode) != 0
22790 : || !
22791 : #line 9213 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22792 : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
22793 : return -1;
22794 : return 466; /* *addhi3_carry_0 */
22795 :
22796 : case 2:
22797 : if (pattern1536 (x3,
22798 : E_SImode) != 0
22799 : || !
22800 : #line 9213 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22801 : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
22802 : return -1;
22803 : return 467; /* *addsi3_carry_0 */
22804 :
22805 : case 3:
22806 : if (pattern1536 (x3,
22807 : E_DImode) != 0
22808 : || !(
22809 : #line 9213 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22810 : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])) &&
22811 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22812 : (TARGET_64BIT)))
22813 : return -1;
22814 : return 468; /* *adddi3_carry_0 */
22815 :
22816 : default:
22817 : return -1;
22818 : }
22819 :
22820 : case GE:
22821 : case GEU:
22822 : switch (pattern362 (x1))
22823 : {
22824 : case 0:
22825 : if (pattern1537 (x3,
22826 : E_QImode) != 0
22827 : || !
22828 : #line 9247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22829 : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
22830 : return -1;
22831 : return 473; /* *addqi3_carry_0r */
22832 :
22833 : case 1:
22834 : if (pattern1537 (x3,
22835 : E_HImode) != 0
22836 : || !
22837 : #line 9247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22838 : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
22839 : return -1;
22840 : return 474; /* *addhi3_carry_0r */
22841 :
22842 : case 2:
22843 : if (pattern1537 (x3,
22844 : E_SImode) != 0
22845 : || !
22846 : #line 9247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22847 : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
22848 : return -1;
22849 : return 475; /* *addsi3_carry_0r */
22850 :
22851 : case 3:
22852 : if (pattern1537 (x3,
22853 : E_DImode) != 0
22854 : || !(
22855 : #line 9247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22856 : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])) &&
22857 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22858 : (TARGET_64BIT)))
22859 : return -1;
22860 : return 476; /* *adddi3_carry_0r */
22861 :
22862 : default:
22863 : return -1;
22864 : }
22865 :
22866 : case EQ:
22867 : switch (pattern366 (x1))
22868 : {
22869 : case 0:
22870 : if (!
22871 : #line 10939 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22872 : (ix86_unary_operator_ok (PLUS, QImode, operands)
22873 : && ix86_pre_reload_split ()))
22874 : return -1;
22875 : return 590; /* *addqi3_eq_0 */
22876 :
22877 : case 1:
22878 : if (!
22879 : #line 10939 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22880 : (ix86_unary_operator_ok (PLUS, HImode, operands)
22881 : && ix86_pre_reload_split ()))
22882 : return -1;
22883 : return 591; /* *addhi3_eq_0 */
22884 :
22885 : case 2:
22886 : if (!
22887 : #line 10939 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22888 : (ix86_unary_operator_ok (PLUS, SImode, operands)
22889 : && ix86_pre_reload_split ()))
22890 : return -1;
22891 : return 592; /* *addsi3_eq_0 */
22892 :
22893 : case 3:
22894 : if (!(
22895 : #line 10939 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22896 : (ix86_unary_operator_ok (PLUS, DImode, operands)
22897 : && ix86_pre_reload_split ()) &&
22898 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22899 : (TARGET_64BIT)))
22900 : return -1;
22901 : return 593; /* *adddi3_eq_0 */
22902 :
22903 : default:
22904 : return -1;
22905 : }
22906 :
22907 : case NE:
22908 : switch (pattern366 (x1))
22909 : {
22910 : case 0:
22911 : if (!
22912 : #line 10960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22913 : (ix86_unary_operator_ok (PLUS, QImode, operands)
22914 : && ix86_pre_reload_split ()))
22915 : return -1;
22916 : return 594; /* *addqi3_ne_0 */
22917 :
22918 : case 1:
22919 : if (!
22920 : #line 10960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22921 : (ix86_unary_operator_ok (PLUS, HImode, operands)
22922 : && ix86_pre_reload_split ()))
22923 : return -1;
22924 : return 595; /* *addhi3_ne_0 */
22925 :
22926 : case 2:
22927 : if (!
22928 : #line 10960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22929 : (ix86_unary_operator_ok (PLUS, SImode, operands)
22930 : && ix86_pre_reload_split ()))
22931 : return -1;
22932 : return 596; /* *addsi3_ne_0 */
22933 :
22934 : case 3:
22935 : if (!(
22936 : #line 10960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22937 : (ix86_unary_operator_ok (PLUS, DImode, operands)
22938 : && ix86_pre_reload_split ()) &&
22939 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22940 : (TARGET_64BIT)))
22941 : return -1;
22942 : return 597; /* *adddi3_ne_0 */
22943 :
22944 : default:
22945 : return -1;
22946 : }
22947 :
22948 : case MINUS:
22949 : x6 = XVECEXP (x1, 0, 1);
22950 : if (pattern357 (x6) != 0)
22951 : return -1;
22952 : switch (pattern949 (x2))
22953 : {
22954 : case 0:
22955 : if (!
22956 : #line 11008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22957 : (CONST_INT_P (operands[2])
22958 : && (QImode != DImode
22959 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22960 : && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
22961 : && ix86_pre_reload_split ()))
22962 : return -1;
22963 : return 602; /* *subqi3_ne */
22964 :
22965 : case 1:
22966 : if (!
22967 : #line 11008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22968 : (CONST_INT_P (operands[2])
22969 : && (HImode != DImode
22970 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22971 : && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
22972 : && ix86_pre_reload_split ()))
22973 : return -1;
22974 : return 603; /* *subhi3_ne */
22975 :
22976 : case 2:
22977 : if (!
22978 : #line 11008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22979 : (CONST_INT_P (operands[2])
22980 : && (SImode != DImode
22981 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22982 : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
22983 : && ix86_pre_reload_split ()))
22984 : return -1;
22985 : return 604; /* *subsi3_ne */
22986 :
22987 : case 3:
22988 : if (!(
22989 : #line 11008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22990 : (CONST_INT_P (operands[2])
22991 : && (DImode != DImode
22992 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22993 : && ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
22994 : && ix86_pre_reload_split ()) &&
22995 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22996 : (TARGET_64BIT)))
22997 : return -1;
22998 : return 605; /* *subdi3_ne */
22999 :
23000 : case 4:
23001 : if (!
23002 : #line 11037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23003 : (CONST_INT_P (operands[2])
23004 : && (QImode != DImode
23005 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
23006 : && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
23007 : && ix86_pre_reload_split ()))
23008 : return -1;
23009 : return 606; /* *subqi3_eq_1 */
23010 :
23011 : case 5:
23012 : if (!
23013 : #line 11037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23014 : (CONST_INT_P (operands[2])
23015 : && (HImode != DImode
23016 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
23017 : && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
23018 : && ix86_pre_reload_split ()))
23019 : return -1;
23020 : return 607; /* *subhi3_eq_1 */
23021 :
23022 : case 6:
23023 : if (!
23024 : #line 11037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23025 : (CONST_INT_P (operands[2])
23026 : && (SImode != DImode
23027 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
23028 : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
23029 : && ix86_pre_reload_split ()))
23030 : return -1;
23031 : return 608; /* *subsi3_eq_1 */
23032 :
23033 : case 7:
23034 : if (!(
23035 : #line 11037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23036 : (CONST_INT_P (operands[2])
23037 : && (DImode != DImode
23038 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
23039 : && ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
23040 : && ix86_pre_reload_split ()) &&
23041 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23042 : (TARGET_64BIT)))
23043 : return -1;
23044 : return 609; /* *subdi3_eq_1 */
23045 :
23046 : default:
23047 : return -1;
23048 : }
23049 :
23050 : case LSHIFTRT:
23051 : x10 = XEXP (x4, 1);
23052 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
23053 : return -1;
23054 : x8 = XEXP (x3, 1);
23055 : if (GET_CODE (x8) != ASHIFT)
23056 : return -1;
23057 : x11 = XEXP (x8, 0);
23058 : if (GET_CODE (x11) != LTU)
23059 : return -1;
23060 : x12 = XEXP (x11, 0);
23061 : if (GET_CODE (x12) != REG
23062 : || REGNO (x12) != 17
23063 : || GET_MODE (x12) != E_CCCmode)
23064 : return -1;
23065 : x13 = XEXP (x11, 1);
23066 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23067 : return -1;
23068 : x14 = XEXP (x8, 1);
23069 : if (GET_CODE (x14) != CONST_INT
23070 : || pattern351 (x1) != 0)
23071 : return -1;
23072 : switch (XWINT (x14, 0))
23073 : {
23074 : case 31L:
23075 : if (pattern1703 (x3,
23076 : E_SImode) != 0)
23077 : return -1;
23078 : return 1417; /* rcrsi2 */
23079 :
23080 : case 63L:
23081 : if (pattern1703 (x3,
23082 : E_DImode) != 0
23083 : || !
23084 : #line 19711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23085 : (TARGET_64BIT))
23086 : return -1;
23087 : return 1418; /* rcrdi2 */
23088 :
23089 : default:
23090 : return -1;
23091 : }
23092 :
23093 : case UNSPEC:
23094 : x6 = XVECEXP (x1, 0, 1);
23095 : if (pattern357 (x6) != 0)
23096 : return -1;
23097 : switch (pattern953 (x2))
23098 : {
23099 : case 0:
23100 : if (!
23101 : #line 1439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23102 : (ptr_mode == SImode))
23103 : return -1;
23104 : return 1693; /* *add_tp_si */
23105 :
23106 : case 1:
23107 : if (!
23108 : #line 1439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23109 : (ptr_mode == DImode))
23110 : return -1;
23111 : return 1694; /* *add_tp_di */
23112 :
23113 : case 2:
23114 : if (!
23115 : #line 24353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23116 : (!TARGET_64BIT && TARGET_GNU2_TLS))
23117 : return -1;
23118 : return 1698; /* *tls_dynamic_gnu2_combine_32 */
23119 :
23120 : case 3:
23121 : if (!(
23122 : #line 24416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23123 : (TARGET_64BIT && TARGET_GNU2_TLS) &&
23124 : #line 1439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23125 : (ptr_mode == SImode)))
23126 : return -1;
23127 : return 1703; /* *tls_dynamic_gnu2_combine_64_si */
23128 :
23129 : case 4:
23130 : if (!(
23131 : #line 24416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23132 : (TARGET_64BIT && TARGET_GNU2_TLS) &&
23133 : #line 1439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23134 : (ptr_mode == DImode)))
23135 : return -1;
23136 : return 1704; /* *tls_dynamic_gnu2_combine_64_di */
23137 :
23138 : default:
23139 : return -1;
23140 : }
23141 :
23142 : default:
23143 : return -1;
23144 : }
23145 : }
23146 :
23147 : int
23148 : recog_404 (rtx x1 ATTRIBUTE_UNUSED,
23149 : rtx_insn *insn ATTRIBUTE_UNUSED,
23150 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23151 : {
23152 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23153 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23154 : rtx x10, x11;
23155 : int res ATTRIBUTE_UNUSED;
23156 : x2 = XVECEXP (x1, 0, 0);
23157 : x3 = XEXP (x2, 1);
23158 : x4 = XEXP (x3, 0);
23159 : x5 = XEXP (x4, 1);
23160 : if (GET_CODE (x5) != CONST_INT)
23161 : return -1;
23162 : switch (pattern705 (x1))
23163 : {
23164 : case 0:
23165 : switch (XWINT (x5, 0))
23166 : {
23167 : case 0L:
23168 : x6 = XEXP (x3, 1);
23169 : if (GET_CODE (x6) != PLUS)
23170 : return -1;
23171 : x7 = XEXP (x6, 1);
23172 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
23173 : return -1;
23174 : x8 = XEXP (x2, 0);
23175 : operands[0] = x8;
23176 : operands[1] = x4;
23177 : x9 = XEXP (x4, 0);
23178 : operands[2] = x9;
23179 : switch (pattern1590 (x3))
23180 : {
23181 : case 0:
23182 : if (!
23183 : #line 9059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23184 : (TARGET_CMOVE))
23185 : return -1;
23186 : return 453; /* *dec_cmovhi */
23187 :
23188 : case 1:
23189 : if (!
23190 : #line 9059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23191 : (TARGET_CMOVE))
23192 : return -1;
23193 : return 454; /* *dec_cmovsi */
23194 :
23195 : case 2:
23196 : if (!(
23197 : #line 9059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23198 : (TARGET_CMOVE) &&
23199 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23200 : (TARGET_64BIT)))
23201 : return -1;
23202 : return 455; /* *dec_cmovdi */
23203 :
23204 : default:
23205 : return -1;
23206 : }
23207 :
23208 : case -1L:
23209 : switch (pattern1195 (x2))
23210 : {
23211 : case 0:
23212 : if (!(
23213 : #line 2455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23214 : (TARGET_AVX512BW) &&
23215 : #line 1588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23216 : (TARGET_AVX512DQ)))
23217 : return -1;
23218 : return 2699; /* *kortest_cmpqi_jcc */
23219 :
23220 : case 1:
23221 : if (!
23222 : #line 2455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23223 : (TARGET_AVX512BW))
23224 : return -1;
23225 : return 2700; /* *kortest_cmphi_jcc */
23226 :
23227 : case 2:
23228 : if (!
23229 : #line 2455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23230 : (TARGET_AVX512BW))
23231 : return -1;
23232 : return 2701; /* *kortest_cmpsi_jcc */
23233 :
23234 : case 3:
23235 : if (!(
23236 : #line 2455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23237 : (TARGET_AVX512BW) &&
23238 : #line 1589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23239 : (TARGET_AVX512BW && TARGET_64BIT)))
23240 : return -1;
23241 : return 2702; /* *kortest_cmpdi_jcc */
23242 :
23243 : case 4:
23244 : if (!(
23245 : #line 2491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23246 : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL) &&
23247 : #line 1588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23248 : (TARGET_AVX512DQ)))
23249 : return -1;
23250 : return 2703; /* *kortest_cmpqi_movqicc */
23251 :
23252 : case 5:
23253 : if (!
23254 : #line 2491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23255 : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL))
23256 : return -1;
23257 : return 2704; /* *kortest_cmphi_movqicc */
23258 :
23259 : case 6:
23260 : if (!(
23261 : #line 2491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23262 : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL) &&
23263 : #line 1589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23264 : (TARGET_AVX512BW)))
23265 : return -1;
23266 : return 2705; /* *kortest_cmpsi_movqicc */
23267 :
23268 : case 7:
23269 : if (!(
23270 : #line 2491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23271 : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL) &&
23272 : #line 1589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23273 : (TARGET_AVX512BW && TARGET_64BIT)))
23274 : return -1;
23275 : return 2706; /* *kortest_cmpdi_movqicc */
23276 :
23277 : case 8:
23278 : if (!(
23279 : #line 2534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23280 : (TARGET_AVX512BW && TARGET_CMOVE
23281 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
23282 : #line 1588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23283 : (TARGET_AVX512DQ)))
23284 : return -1;
23285 : return 2707; /* *kortest_cmpqi_movhicc */
23286 :
23287 : case 9:
23288 : if (!
23289 : #line 2534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23290 : (TARGET_AVX512BW && TARGET_CMOVE
23291 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
23292 : return -1;
23293 : return 2710; /* *kortest_cmphi_movhicc */
23294 :
23295 : case 10:
23296 : if (!(
23297 : #line 2534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23298 : (TARGET_AVX512BW && TARGET_CMOVE
23299 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
23300 : #line 1589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23301 : (TARGET_AVX512BW)))
23302 : return -1;
23303 : return 2713; /* *kortest_cmpsi_movhicc */
23304 :
23305 : case 11:
23306 : if (!(
23307 : #line 2534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23308 : (TARGET_AVX512BW && TARGET_CMOVE
23309 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
23310 : #line 1589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23311 : (TARGET_AVX512BW && TARGET_64BIT)))
23312 : return -1;
23313 : return 2716; /* *kortest_cmpdi_movhicc */
23314 :
23315 : case 12:
23316 : if (!(
23317 : #line 2534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23318 : (TARGET_AVX512BW && TARGET_CMOVE
23319 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
23320 : #line 1588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23321 : (TARGET_AVX512DQ)))
23322 : return -1;
23323 : return 2708; /* *kortest_cmpqi_movsicc */
23324 :
23325 : case 13:
23326 : if (!
23327 : #line 2534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23328 : (TARGET_AVX512BW && TARGET_CMOVE
23329 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
23330 : return -1;
23331 : return 2711; /* *kortest_cmphi_movsicc */
23332 :
23333 : case 14:
23334 : if (!(
23335 : #line 2534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23336 : (TARGET_AVX512BW && TARGET_CMOVE
23337 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
23338 : #line 1589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23339 : (TARGET_AVX512BW)))
23340 : return -1;
23341 : return 2714; /* *kortest_cmpsi_movsicc */
23342 :
23343 : case 15:
23344 : if (!(
23345 : #line 2534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23346 : (TARGET_AVX512BW && TARGET_CMOVE
23347 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
23348 : #line 1589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23349 : (TARGET_AVX512BW && TARGET_64BIT)))
23350 : return -1;
23351 : return 2717; /* *kortest_cmpdi_movsicc */
23352 :
23353 : case 16:
23354 : if (!(
23355 : #line 2534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23356 : (TARGET_AVX512BW && TARGET_CMOVE
23357 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && ((((
23358 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23359 : (TARGET_64BIT) &&
23360 : #line 1588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23361 : (TARGET_AVX512DQ)) &&
23362 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23363 : (TARGET_64BIT)) &&
23364 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23365 : (TARGET_64BIT)) &&
23366 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23367 : (TARGET_64BIT))))
23368 : return -1;
23369 : return 2709; /* *kortest_cmpqi_movdicc */
23370 :
23371 : case 17:
23372 : if (!(
23373 : #line 2534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23374 : (TARGET_AVX512BW && TARGET_CMOVE
23375 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
23376 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23377 : (TARGET_64BIT)))
23378 : return -1;
23379 : return 2712; /* *kortest_cmphi_movdicc */
23380 :
23381 : case 18:
23382 : if (!(
23383 : #line 2534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23384 : (TARGET_AVX512BW && TARGET_CMOVE
23385 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && ((((
23386 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23387 : (TARGET_64BIT) &&
23388 : #line 1589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23389 : (TARGET_AVX512BW)) &&
23390 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23391 : (TARGET_64BIT)) &&
23392 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23393 : (TARGET_64BIT)) &&
23394 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23395 : (TARGET_64BIT))))
23396 : return -1;
23397 : return 2715; /* *kortest_cmpsi_movdicc */
23398 :
23399 : case 19:
23400 : if (!(
23401 : #line 2534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23402 : (TARGET_AVX512BW && TARGET_CMOVE
23403 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && ((((
23404 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23405 : (TARGET_64BIT) &&
23406 : #line 1589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23407 : (TARGET_AVX512BW && TARGET_64BIT)) &&
23408 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23409 : (TARGET_64BIT)) &&
23410 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23411 : (TARGET_64BIT)) &&
23412 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23413 : (TARGET_64BIT))))
23414 : return -1;
23415 : return 2718; /* *kortest_cmpdi_movdicc */
23416 :
23417 : default:
23418 : return -1;
23419 : }
23420 :
23421 : default:
23422 : return -1;
23423 : }
23424 :
23425 : case 1:
23426 : x9 = XEXP (x4, 0);
23427 : x10 = XEXP (x9, 1);
23428 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
23429 : || XWINT (x5, 0) != 0L)
23430 : return -1;
23431 : switch (pattern1347 (x2))
23432 : {
23433 : case 0:
23434 : x11 = XEXP (x9, 2);
23435 : operands[2] = x11;
23436 : switch (pattern1542 (x2))
23437 : {
23438 : case 0:
23439 : if (
23440 : #line 20152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23441 : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23442 : && (CONST_INT_P (operands[2])
23443 : ? (INTVAL (operands[2]) < GET_MODE_BITSIZE (SImode)
23444 : && INTVAL (operands[2])
23445 : >= (optimize_function_for_size_p (cfun) ? 8 : 32))
23446 : : !memory_operand (operands[1], SImode))
23447 : && ix86_pre_reload_split ()))
23448 : return 1452; /* *jcc_btsi */
23449 : break;
23450 :
23451 : case 1:
23452 : if ((
23453 : #line 20152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23454 : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23455 : && (CONST_INT_P (operands[2])
23456 : ? (INTVAL (operands[2]) < GET_MODE_BITSIZE (DImode)
23457 : && INTVAL (operands[2])
23458 : >= (optimize_function_for_size_p (cfun) ? 8 : 32))
23459 : : !memory_operand (operands[1], DImode))
23460 : && ix86_pre_reload_split ()) &&
23461 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23462 : (TARGET_64BIT)))
23463 : return 1453; /* *jcc_btdi */
23464 : break;
23465 :
23466 : case 2:
23467 : if (
23468 : #line 20295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23469 : (TARGET_USE_BT && TARGET_CMOVE
23470 : && ix86_pre_reload_split ()))
23471 : return 1458; /* *cmov_bthi */
23472 : break;
23473 :
23474 : case 3:
23475 : if ((
23476 : #line 20295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23477 : (TARGET_USE_BT && TARGET_CMOVE
23478 : && ix86_pre_reload_split ()) &&
23479 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23480 : (TARGET_64BIT)))
23481 : return 1459; /* *cmov_bthi */
23482 : break;
23483 :
23484 : case 4:
23485 : if (
23486 : #line 20295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23487 : (TARGET_USE_BT && TARGET_CMOVE
23488 : && ix86_pre_reload_split ()))
23489 : return 1460; /* *cmov_btsi */
23490 : break;
23491 :
23492 : case 5:
23493 : if ((
23494 : #line 20295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23495 : (TARGET_USE_BT && TARGET_CMOVE
23496 : && ix86_pre_reload_split ()) &&
23497 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23498 : (TARGET_64BIT)))
23499 : return 1461; /* *cmov_btsi */
23500 : break;
23501 :
23502 : case 6:
23503 : if ((
23504 : #line 20295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23505 : (TARGET_USE_BT && TARGET_CMOVE
23506 : && ix86_pre_reload_split ()) &&
23507 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23508 : (TARGET_64BIT)))
23509 : return 1462; /* *cmov_btdi */
23510 : break;
23511 :
23512 : case 7:
23513 : if ((
23514 : #line 20295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23515 : (TARGET_USE_BT && TARGET_CMOVE
23516 : && ix86_pre_reload_split ()) &&
23517 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23518 : (TARGET_64BIT)))
23519 : return 1463; /* *cmov_btdi */
23520 : break;
23521 :
23522 : default:
23523 : break;
23524 : }
23525 : if (GET_CODE (x11) != SUBREG)
23526 : return -1;
23527 : switch (pattern1543 (x2))
23528 : {
23529 : case 0:
23530 : if (!
23531 : #line 20228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23532 : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23533 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
23534 : == GET_MODE_BITSIZE (SImode)-1
23535 : && ix86_pre_reload_split ()))
23536 : return -1;
23537 : return 1456; /* *jcc_btsi_mask_1 */
23538 :
23539 : case 1:
23540 : if (!(
23541 : #line 20228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23542 : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23543 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
23544 : == GET_MODE_BITSIZE (DImode)-1
23545 : && ix86_pre_reload_split ()) &&
23546 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23547 : (TARGET_64BIT)))
23548 : return -1;
23549 : return 1457; /* *jcc_btdi_mask_1 */
23550 :
23551 : default:
23552 : return -1;
23553 : }
23554 :
23555 : case 1:
23556 : if (!
23557 : #line 20191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23558 : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23559 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
23560 : == GET_MODE_BITSIZE (SImode)-1
23561 : && ix86_pre_reload_split ()))
23562 : return -1;
23563 : return 1454; /* *jcc_btsi_mask */
23564 :
23565 : case 2:
23566 : if (!(
23567 : #line 20191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23568 : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23569 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
23570 : == GET_MODE_BITSIZE (DImode)-1
23571 : && ix86_pre_reload_split ()) &&
23572 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23573 : (TARGET_64BIT)))
23574 : return -1;
23575 : return 1455; /* *jcc_btdi_mask */
23576 :
23577 : default:
23578 : return -1;
23579 : }
23580 :
23581 : default:
23582 : return -1;
23583 : }
23584 : }
23585 :
23586 : int
23587 : recog_417 (rtx x1 ATTRIBUTE_UNUSED,
23588 : rtx_insn *insn ATTRIBUTE_UNUSED,
23589 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23590 : {
23591 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23592 : rtx x2, x3, x4, x5, x6, x7, x8;
23593 : int res ATTRIBUTE_UNUSED;
23594 : x2 = XVECEXP (x1, 0, 0);
23595 : x3 = XEXP (x2, 1);
23596 : x4 = XEXP (x3, 0);
23597 : switch (GET_CODE (x4))
23598 : {
23599 : case CONST_INT:
23600 : case REG:
23601 : case SUBREG:
23602 : case MEM:
23603 : switch (pattern345 (x1))
23604 : {
23605 : case 0:
23606 : x5 = XEXP (x2, 0);
23607 : operands[0] = x5;
23608 : switch (pattern824 (x1))
23609 : {
23610 : case 0:
23611 : if ((
23612 : #line 16166 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23613 : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
23614 : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
23615 : == (2 * 4 * BITS_PER_UNIT - 1)))
23616 : && ix86_pre_reload_split ()) &&
23617 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23618 : (!TARGET_64BIT)))
23619 : return 1084; /* *ashldi3_doubleword_mask */
23620 : break;
23621 :
23622 : case 1:
23623 : if ((
23624 : #line 16166 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23625 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
23626 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
23627 : == (2 * 8 * BITS_PER_UNIT - 1)))
23628 : && ix86_pre_reload_split ()) &&
23629 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23630 : (TARGET_64BIT)))
23631 : return 1085; /* *ashlti3_doubleword_mask */
23632 : break;
23633 :
23634 : case 2:
23635 : if ((
23636 : #line 2302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23637 : (TARGET_AVX512F) &&
23638 : #line 2104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23639 : (TARGET_AVX512DQ)))
23640 : return 2670; /* kashiftqi */
23641 : break;
23642 :
23643 : case 3:
23644 : if (
23645 : #line 2302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23646 : (TARGET_AVX512F))
23647 : return 2672; /* kashifthi */
23648 : break;
23649 :
23650 : case 4:
23651 : if ((
23652 : #line 2302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23653 : (TARGET_AVX512F) &&
23654 : #line 2104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23655 : (TARGET_AVX512BW)))
23656 : return 2674; /* kashiftsi */
23657 : break;
23658 :
23659 : case 5:
23660 : if ((
23661 : #line 2302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23662 : (TARGET_AVX512F) &&
23663 : #line 2104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23664 : (TARGET_AVX512BW)))
23665 : return 2676; /* kashiftdi */
23666 : break;
23667 :
23668 : default:
23669 : break;
23670 : }
23671 : x6 = XEXP (x3, 1);
23672 : operands[2] = x6;
23673 : switch (pattern825 (x1))
23674 : {
23675 : case 0:
23676 : operands[0] = x5;
23677 : switch (GET_MODE (operands[0]))
23678 : {
23679 : case E_DImode:
23680 : if (GET_MODE (x3) == E_DImode)
23681 : {
23682 : if (register_operand (operands[0], E_DImode)
23683 : && reg_or_pm1_operand (operands[1], E_DImode)
23684 : &&
23685 : #line 1226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23686 : (!TARGET_64BIT))
23687 : return 1088; /* ashldi3_doubleword */
23688 : if (nonimmediate_operand (operands[0], E_DImode)
23689 : && nonimmediate_operand (operands[1], E_DImode)
23690 : && (
23691 : #line 16893 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23692 : (ix86_binary_operator_ok (ASHIFT, DImode, operands, TARGET_APX_NDD)
23693 : && true) &&
23694 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23695 : (TARGET_64BIT)))
23696 : return 1123; /* *ashldi3_1 */
23697 : }
23698 : break;
23699 :
23700 : case E_TImode:
23701 : if (register_operand (operands[0], E_TImode)
23702 : && GET_MODE (x3) == E_TImode
23703 : && reg_or_pm1_operand (operands[1], E_TImode)
23704 : &&
23705 : #line 1227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23706 : (TARGET_64BIT))
23707 : return 1089; /* ashlti3_doubleword */
23708 : break;
23709 :
23710 : case E_SImode:
23711 : if (nonimmediate_operand (operands[0], E_SImode)
23712 : && GET_MODE (x3) == E_SImode
23713 : && nonimmediate_operand (operands[1], E_SImode)
23714 : &&
23715 : #line 16893 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23716 : (ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)
23717 : && true))
23718 : return 1121; /* *ashlsi3_1 */
23719 : break;
23720 :
23721 : case E_HImode:
23722 : if (nonimmediate_operand (operands[0], E_HImode)
23723 : && GET_MODE (x3) == E_HImode
23724 : && nonimmediate_operand (operands[1], E_HImode)
23725 : &&
23726 : #line 17078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23727 : (ix86_binary_operator_ok (ASHIFT, HImode, operands, TARGET_APX_NDD)
23728 : && true))
23729 : return 1137; /* *ashlhi3_1 */
23730 : break;
23731 :
23732 : case E_QImode:
23733 : if (nonimmediate_operand (operands[0], E_QImode)
23734 : && GET_MODE (x3) == E_QImode
23735 : && nonimmediate_operand (operands[1], E_QImode)
23736 : &&
23737 : #line 17134 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23738 : (ix86_binary_operator_ok (ASHIFT, QImode, operands, TARGET_APX_NDD)
23739 : && true))
23740 : return 1139; /* *ashlqi3_1 */
23741 : break;
23742 :
23743 : case E_V2QImode:
23744 : if (register_operand (operands[0], E_V2QImode)
23745 : && GET_MODE (x3) == E_V2QImode
23746 : && register_operand (operands[1], E_V2QImode)
23747 : &&
23748 : #line 4039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23749 : (!TARGET_PARTIAL_REG_STALL || optimize_size))
23750 : return 2268; /* ashlv2qi3 */
23751 : break;
23752 :
23753 : default:
23754 : break;
23755 : }
23756 : break;
23757 :
23758 : case 1:
23759 : x7 = XEXP (x5, 0);
23760 : operands[0] = x7;
23761 : switch (pattern379 (x3))
23762 : {
23763 : case 0:
23764 : if (
23765 : #line 17203 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23766 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23767 : return 1140; /* *ashlqi3_1_slp */
23768 : break;
23769 :
23770 : case 1:
23771 : if (
23772 : #line 17203 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23773 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23774 : return 1141; /* *ashlhi3_1_slp */
23775 : break;
23776 :
23777 : default:
23778 : break;
23779 : }
23780 : break;
23781 :
23782 : default:
23783 : break;
23784 : }
23785 : if (GET_CODE (x6) != SUBREG
23786 : || maybe_ne (SUBREG_BYTE (x6), 0)
23787 : || GET_MODE (x6) != E_QImode)
23788 : return -1;
23789 : x8 = XVECEXP (x1, 0, 1);
23790 : if (pattern377 (x8) != 0)
23791 : return -1;
23792 : switch (pattern1446 (x2))
23793 : {
23794 : case 0:
23795 : if (!
23796 : #line 18773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23797 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
23798 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
23799 : == 4 * BITS_PER_UNIT - 1
23800 : && ix86_pre_reload_split ()))
23801 : return -1;
23802 : return 1276; /* *ashlsi3_mask */
23803 :
23804 : case 1:
23805 : if (!(
23806 : #line 18773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23807 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
23808 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
23809 : == 8 * BITS_PER_UNIT - 1
23810 : && ix86_pre_reload_split ()) &&
23811 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23812 : (TARGET_64BIT)))
23813 : return -1;
23814 : return 1279; /* *ashldi3_mask */
23815 :
23816 : case 2:
23817 : if (!
23818 : #line 18821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23819 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
23820 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
23821 : && ix86_pre_reload_split ()))
23822 : return -1;
23823 : return 1288; /* *ashlsi3_add */
23824 :
23825 : case 3:
23826 : if (!(
23827 : #line 18821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23828 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
23829 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
23830 : && ix86_pre_reload_split ()) &&
23831 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23832 : (TARGET_64BIT)))
23833 : return -1;
23834 : return 1291; /* *ashldi3_add */
23835 :
23836 : case 4:
23837 : if (!
23838 : #line 18867 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23839 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
23840 : && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
23841 : || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
23842 : == 4 * BITS_PER_UNIT - 1)
23843 : && ix86_pre_reload_split ()))
23844 : return -1;
23845 : return 1300; /* *ashlsi3_sub */
23846 :
23847 : case 5:
23848 : if (!(
23849 : #line 18867 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23850 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
23851 : && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
23852 : || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
23853 : == 8 * BITS_PER_UNIT - 1)
23854 : && ix86_pre_reload_split ()) &&
23855 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23856 : (TARGET_64BIT)))
23857 : return -1;
23858 : return 1303; /* *ashldi3_sub */
23859 :
23860 : default:
23861 : return -1;
23862 : }
23863 :
23864 : case 1:
23865 : if (register_operand (operands[0], E_DImode)
23866 : && register_operand (operands[1], E_DImode)
23867 : && (
23868 : #line 16227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23869 : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
23870 : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
23871 : == (2 * 4 * BITS_PER_UNIT - 1)))
23872 : && ix86_pre_reload_split ()) &&
23873 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23874 : (!TARGET_64BIT)))
23875 : return 1086; /* *ashldi3_doubleword_mask_1 */
23876 : if (!nonimmediate_operand (operands[0], E_DImode)
23877 : || !nonimmediate_operand (operands[1], E_DImode)
23878 : || !(
23879 : #line 18798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23880 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
23881 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
23882 : == 8 * BITS_PER_UNIT - 1
23883 : && ix86_pre_reload_split ()) &&
23884 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23885 : (TARGET_64BIT)))
23886 : return -1;
23887 : return 1285; /* *ashldi3_mask_1 */
23888 :
23889 : case 2:
23890 : if (!(
23891 : #line 16227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23892 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
23893 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
23894 : == (2 * 8 * BITS_PER_UNIT - 1)))
23895 : && ix86_pre_reload_split ()) &&
23896 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23897 : (TARGET_64BIT)))
23898 : return -1;
23899 : return 1087; /* *ashlti3_doubleword_mask_1 */
23900 :
23901 : case 3:
23902 : if (!
23903 : #line 18798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23904 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
23905 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
23906 : == 4 * BITS_PER_UNIT - 1
23907 : && ix86_pre_reload_split ()))
23908 : return -1;
23909 : return 1282; /* *ashlsi3_mask_1 */
23910 :
23911 : case 4:
23912 : if (!
23913 : #line 18845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23914 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
23915 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
23916 : && ix86_pre_reload_split ()))
23917 : return -1;
23918 : return 1294; /* *ashlsi3_add_1 */
23919 :
23920 : case 5:
23921 : if (!(
23922 : #line 18845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23923 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
23924 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
23925 : && ix86_pre_reload_split ()) &&
23926 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23927 : (TARGET_64BIT)))
23928 : return -1;
23929 : return 1297; /* *ashldi3_add_1 */
23930 :
23931 : case 6:
23932 : if (!
23933 : #line 18900 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23934 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
23935 : && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
23936 : || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
23937 : == 4 * BITS_PER_UNIT - 1)
23938 : && ix86_pre_reload_split ()))
23939 : return -1;
23940 : return 1306; /* *ashlsi3_sub_1 */
23941 :
23942 : case 7:
23943 : if (!(
23944 : #line 18900 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23945 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
23946 : && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
23947 : || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
23948 : == 8 * BITS_PER_UNIT - 1)
23949 : && ix86_pre_reload_split ()) &&
23950 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23951 : (TARGET_64BIT)))
23952 : return -1;
23953 : return 1309; /* *ashldi3_sub_1 */
23954 :
23955 : default:
23956 : return -1;
23957 : }
23958 :
23959 : case SIGN_EXTEND:
23960 : switch (pattern385 (x1))
23961 : {
23962 : case 0:
23963 : if (!(
23964 : #line 16328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23965 : (INTVAL (operands[2]) >= 4 * BITS_PER_UNIT
23966 : && INTVAL (operands[2]) < 4 * BITS_PER_UNIT * 2) &&
23967 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23968 : (!TARGET_64BIT)))
23969 : return -1;
23970 : return 1090; /* *ashldi3_doubleword_highpart */
23971 :
23972 : case 1:
23973 : if (!(
23974 : #line 16328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23975 : (INTVAL (operands[2]) >= 8 * BITS_PER_UNIT
23976 : && INTVAL (operands[2]) < 8 * BITS_PER_UNIT * 2) &&
23977 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23978 : (TARGET_64BIT)))
23979 : return -1;
23980 : return 1092; /* *ashlti3_doubleword_highpart */
23981 :
23982 : default:
23983 : return -1;
23984 : }
23985 :
23986 : case ZERO_EXTEND:
23987 : switch (pattern385 (x1))
23988 : {
23989 : case 0:
23990 : if (!(
23991 : #line 16328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23992 : (INTVAL (operands[2]) >= 4 * BITS_PER_UNIT
23993 : && INTVAL (operands[2]) < 4 * BITS_PER_UNIT * 2) &&
23994 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23995 : (!TARGET_64BIT)))
23996 : return -1;
23997 : return 1091; /* *ashldi3_doubleword_highpart */
23998 :
23999 : case 1:
24000 : if (!(
24001 : #line 16328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24002 : (INTVAL (operands[2]) >= 8 * BITS_PER_UNIT
24003 : && INTVAL (operands[2]) < 8 * BITS_PER_UNIT * 2) &&
24004 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24005 : (TARGET_64BIT)))
24006 : return -1;
24007 : return 1093; /* *ashlti3_doubleword_highpart */
24008 :
24009 : default:
24010 : return -1;
24011 : }
24012 :
24013 : default:
24014 : return -1;
24015 : }
24016 : }
24017 :
24018 : int
24019 : recog_433 (rtx x1 ATTRIBUTE_UNUSED,
24020 : rtx_insn *insn ATTRIBUTE_UNUSED,
24021 : int *pnum_clobbers ATTRIBUTE_UNUSED)
24022 : {
24023 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24024 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
24025 : rtx x10, x11, x12, x13, x14, x15, x16;
24026 : int res ATTRIBUTE_UNUSED;
24027 : x2 = XVECEXP (x1, 0, 0);
24028 : x3 = XEXP (x2, 1);
24029 : x4 = XEXP (x3, 0);
24030 : if (GET_CODE (x4) != MEM
24031 : || GET_MODE (x4) != E_QImode)
24032 : return -1;
24033 : x5 = XEXP (x2, 0);
24034 : operands[0] = x5;
24035 : x6 = XEXP (x4, 0);
24036 : switch (GET_CODE (x6))
24037 : {
24038 : case SUBREG:
24039 : case MEM:
24040 : operands[1] = x6;
24041 : if (!memory_operand (operands[1], E_SImode)
24042 : || pattern388 (x1) != 0)
24043 : return -1;
24044 : x7 = XEXP (x3, 1);
24045 : operands[2] = x7;
24046 : x8 = XVECEXP (x1, 0, 1);
24047 : x9 = XEXP (x8, 1);
24048 : x10 = XEXP (x9, 1);
24049 : operands[3] = x10;
24050 : if (!immediate_operand (operands[3], E_SImode)
24051 : || !
24052 : #line 21467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24053 : (!TARGET_64BIT && !TARGET_INDIRECT_BRANCH_REGISTER))
24054 : return -1;
24055 : return 1515; /* *sibcall_value_pop_memory */
24056 :
24057 : case SYMBOL_REF:
24058 : if (!constant_call_address_operand (x6, E_VOIDmode))
24059 : return -1;
24060 : x8 = XVECEXP (x1, 0, 1);
24061 : if (GET_CODE (x8) != UNSPEC)
24062 : return -1;
24063 : x11 = XVECEXP (x1, 0, 2);
24064 : if (GET_CODE (x11) != CLOBBER)
24065 : return -1;
24066 : switch (pattern1182 (x8))
24067 : {
24068 : case 0:
24069 : operands[2] = x6;
24070 : x7 = XEXP (x3, 1);
24071 : operands[3] = x7;
24072 : x12 = XVECEXP (x8, 0, 0);
24073 : operands[1] = x12;
24074 : if (!tls_symbolic_operand (operands[1], E_VOIDmode))
24075 : return -1;
24076 : x13 = XEXP (x11, 0);
24077 : operands[4] = x13;
24078 : switch (GET_MODE (operands[0]))
24079 : {
24080 : case E_SImode:
24081 : if (pattern1752 (x1,
24082 : E_SImode) != 0
24083 : || !(
24084 : #line 24016 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24085 : (TARGET_64BIT) &&
24086 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24087 : (Pmode == SImode)))
24088 : return -1;
24089 : return 1682; /* *tls_global_dynamic_64_si */
24090 :
24091 : case E_DImode:
24092 : if (pattern1752 (x1,
24093 : E_DImode) != 0
24094 : || !(
24095 : #line 24016 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24096 : (TARGET_64BIT) &&
24097 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24098 : (Pmode == DImode)))
24099 : return -1;
24100 : return 1683; /* *tls_global_dynamic_64_di */
24101 :
24102 : default:
24103 : return -1;
24104 : }
24105 :
24106 : case 1:
24107 : operands[1] = x6;
24108 : x7 = XEXP (x3, 1);
24109 : operands[2] = x7;
24110 : x13 = XEXP (x11, 0);
24111 : operands[3] = x13;
24112 : switch (GET_MODE (operands[0]))
24113 : {
24114 : case E_SImode:
24115 : if (pattern1684 (x1,
24116 : E_SImode) != 0
24117 : || !(
24118 : #line 24139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24119 : (TARGET_64BIT) &&
24120 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24121 : (Pmode == SImode)))
24122 : return -1;
24123 : return 1686; /* *tls_local_dynamic_base_64_si */
24124 :
24125 : case E_DImode:
24126 : if (pattern1684 (x1,
24127 : E_DImode) != 0
24128 : || !(
24129 : #line 24139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24130 : (TARGET_64BIT) &&
24131 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24132 : (Pmode == DImode)))
24133 : return -1;
24134 : return 1687; /* *tls_local_dynamic_base_64_di */
24135 :
24136 : default:
24137 : return -1;
24138 : }
24139 :
24140 : default:
24141 : return -1;
24142 : }
24143 :
24144 : case PLUS:
24145 : if (GET_MODE (x6) != E_DImode)
24146 : return -1;
24147 : x8 = XVECEXP (x1, 0, 1);
24148 : if (GET_CODE (x8) != UNSPEC)
24149 : return -1;
24150 : x11 = XVECEXP (x1, 0, 2);
24151 : if (GET_CODE (x11) != CLOBBER
24152 : || !register_operand (operands[0], E_DImode)
24153 : || GET_MODE (x3) != E_DImode)
24154 : return -1;
24155 : x14 = XEXP (x6, 0);
24156 : if (!register_operand (x14, E_DImode))
24157 : return -1;
24158 : x15 = XEXP (x6, 1);
24159 : if (!immediate_operand (x15, E_DImode)
24160 : || GET_MODE (x8) != E_DImode)
24161 : return -1;
24162 : x13 = XEXP (x11, 0);
24163 : if (!register_operand (x13, E_DImode))
24164 : return -1;
24165 : switch (pattern1182 (x8))
24166 : {
24167 : case 0:
24168 : x16 = XVECEXP (x8, 0, 1);
24169 : if (GET_MODE (x16) != E_DImode)
24170 : return -1;
24171 : operands[2] = x14;
24172 : operands[3] = x15;
24173 : x7 = XEXP (x3, 1);
24174 : operands[4] = x7;
24175 : x12 = XVECEXP (x8, 0, 0);
24176 : operands[1] = x12;
24177 : if (!tls_symbolic_operand (operands[1], E_VOIDmode))
24178 : return -1;
24179 : operands[5] = x13;
24180 : if (!
24181 : #line 24059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24182 : (TARGET_64BIT && ix86_cmodel == CM_LARGE_PIC && !TARGET_PECOFF
24183 : && GET_CODE (operands[3]) == CONST
24184 : && GET_CODE (XEXP (operands[3], 0)) == UNSPEC
24185 : && XINT (XEXP (operands[3], 0), 1) == UNSPEC_PLTOFF))
24186 : return -1;
24187 : return 1684; /* *tls_global_dynamic_64_largepic */
24188 :
24189 : case 1:
24190 : x12 = XVECEXP (x8, 0, 0);
24191 : if (GET_MODE (x12) != E_DImode)
24192 : return -1;
24193 : operands[1] = x14;
24194 : operands[2] = x15;
24195 : x7 = XEXP (x3, 1);
24196 : operands[3] = x7;
24197 : operands[4] = x13;
24198 : if (!
24199 : #line 24161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24200 : (TARGET_64BIT && ix86_cmodel == CM_LARGE_PIC && !TARGET_PECOFF
24201 : && GET_CODE (operands[2]) == CONST
24202 : && GET_CODE (XEXP (operands[2], 0)) == UNSPEC
24203 : && XINT (XEXP (operands[2], 0), 1) == UNSPEC_PLTOFF))
24204 : return -1;
24205 : return 1688; /* *tls_local_dynamic_base_64_largepic */
24206 :
24207 : default:
24208 : return -1;
24209 : }
24210 :
24211 : default:
24212 : return -1;
24213 : }
24214 : }
24215 :
24216 : int
24217 : recog_438 (rtx x1 ATTRIBUTE_UNUSED,
24218 : rtx_insn *insn ATTRIBUTE_UNUSED,
24219 : int *pnum_clobbers ATTRIBUTE_UNUSED)
24220 : {
24221 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24222 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
24223 : rtx x10, x11, x12, x13, x14, x15, x16;
24224 : int res ATTRIBUTE_UNUSED;
24225 : x2 = XVECEXP (x1, 0, 0);
24226 : if (GET_CODE (x2) != SET)
24227 : return -1;
24228 : x3 = XVECEXP (x1, 0, 3);
24229 : if (GET_CODE (x3) != CLOBBER)
24230 : return -1;
24231 : x4 = XEXP (x2, 1);
24232 : switch (GET_CODE (x4))
24233 : {
24234 : case UNSIGNED_FIX:
24235 : switch (pattern390 (x1))
24236 : {
24237 : case 0:
24238 : if (!
24239 : #line 6022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24240 : (!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
24241 : && optimize_function_for_speed_p (cfun)))
24242 : return -1;
24243 : return 227; /* *fixuns_truncsf_1 */
24244 :
24245 : case 1:
24246 : if (!
24247 : #line 6022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24248 : (!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
24249 : && optimize_function_for_speed_p (cfun)))
24250 : return -1;
24251 : return 228; /* *fixuns_truncdf_1 */
24252 :
24253 : default:
24254 : return -1;
24255 : }
24256 :
24257 : case FIX:
24258 : if (GET_MODE (x4) != E_DImode)
24259 : return -1;
24260 : x5 = XVECEXP (x1, 0, 1);
24261 : if (GET_CODE (x5) != USE)
24262 : return -1;
24263 : x6 = XVECEXP (x1, 0, 2);
24264 : if (GET_CODE (x6) != USE)
24265 : return -1;
24266 : x7 = XEXP (x2, 0);
24267 : operands[0] = x7;
24268 : if (!nonimmediate_operand (operands[0], E_DImode))
24269 : return -1;
24270 : x8 = XEXP (x4, 0);
24271 : operands[1] = x8;
24272 : if (!register_operand (operands[1], E_VOIDmode))
24273 : return -1;
24274 : x9 = XEXP (x5, 0);
24275 : operands[2] = x9;
24276 : if (!memory_operand (operands[2], E_HImode))
24277 : return -1;
24278 : x10 = XEXP (x6, 0);
24279 : operands[3] = x10;
24280 : if (!memory_operand (operands[3], E_HImode))
24281 : return -1;
24282 : x11 = XEXP (x3, 0);
24283 : operands[4] = x11;
24284 : if (!scratch_operand (operands[4], E_XFmode)
24285 : || !
24286 : #line 6132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24287 : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
24288 : && !TARGET_FISTTP
24289 : && !(TARGET_64BIT && SSE_FLOAT_MODE_P (GET_MODE (operands[1])))))
24290 : return -1;
24291 : return 239; /* fix_truncdi_i387 */
24292 :
24293 : case FLOAT:
24294 : switch (pattern392 (x1))
24295 : {
24296 : case 0:
24297 : if (!
24298 : #line 6321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24299 : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
24300 : && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
24301 : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)))
24302 : return -1;
24303 : return 258; /* floatdisf2_i387_with_xmm */
24304 :
24305 : case 1:
24306 : if (!
24307 : #line 6321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24308 : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
24309 : && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
24310 : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)))
24311 : return -1;
24312 : return 259; /* floatdidf2_i387_with_xmm */
24313 :
24314 : case 2:
24315 : if (!
24316 : #line 6321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24317 : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
24318 : && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
24319 : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)))
24320 : return -1;
24321 : return 260; /* floatdixf2_i387_with_xmm */
24322 :
24323 : default:
24324 : return -1;
24325 : }
24326 :
24327 : case DIV:
24328 : switch (pattern397 (x1,
24329 : MOD))
24330 : {
24331 : case 0:
24332 : return 667; /* divmodsi4_1 */
24333 :
24334 : case 1:
24335 : if (!
24336 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24337 : (TARGET_64BIT))
24338 : return -1;
24339 : return 668; /* divmoddi4_1 */
24340 :
24341 : case 2:
24342 : if (!
24343 : #line 1222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24344 : (TARGET_HIMODE_MATH))
24345 : return -1;
24346 : return 695; /* *divmodhi4_noext */
24347 :
24348 : case 3:
24349 : return 697; /* *divmodsi4_noext */
24350 :
24351 : case 4:
24352 : if (!
24353 : #line 1223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24354 : (TARGET_64BIT))
24355 : return -1;
24356 : return 699; /* *divmoddi4_noext */
24357 :
24358 : default:
24359 : return -1;
24360 : }
24361 :
24362 : case UDIV:
24363 : switch (pattern397 (x1,
24364 : UMOD))
24365 : {
24366 : case 0:
24367 : return 669; /* udivmodsi4_1 */
24368 :
24369 : case 1:
24370 : if (!
24371 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24372 : (TARGET_64BIT))
24373 : return -1;
24374 : return 670; /* udivmoddi4_1 */
24375 :
24376 : case 2:
24377 : if (!
24378 : #line 1222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24379 : (TARGET_HIMODE_MATH))
24380 : return -1;
24381 : return 696; /* *udivmodhi4_noext */
24382 :
24383 : case 3:
24384 : return 698; /* *udivmodsi4_noext */
24385 :
24386 : case 4:
24387 : if (!
24388 : #line 1223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24389 : (TARGET_64BIT))
24390 : return -1;
24391 : return 700; /* *udivmoddi4_noext */
24392 :
24393 : default:
24394 : return -1;
24395 : }
24396 :
24397 : case ZERO_EXTEND:
24398 : if (GET_MODE (x4) != E_DImode)
24399 : return -1;
24400 : x5 = XVECEXP (x1, 0, 1);
24401 : if (GET_CODE (x5) != SET)
24402 : return -1;
24403 : x11 = XEXP (x3, 0);
24404 : if (GET_CODE (x11) != REG
24405 : || REGNO (x11) != 17
24406 : || GET_MODE (x11) != E_CCmode)
24407 : return -1;
24408 : switch (pattern1068 (x1))
24409 : {
24410 : case 0:
24411 : switch (pattern1509 (x1,
24412 : MOD))
24413 : {
24414 : case 0:
24415 : if (!
24416 : #line 12261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24417 : (TARGET_64BIT))
24418 : return -1;
24419 : return 671; /* divmodsi4_zext_1 */
24420 :
24421 : case 1:
24422 : if (!
24423 : #line 12656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24424 : (TARGET_64BIT))
24425 : return -1;
24426 : return 701; /* *divmodsi4_noext_zext_1 */
24427 :
24428 : default:
24429 : return -1;
24430 : }
24431 :
24432 : case 1:
24433 : switch (pattern1509 (x1,
24434 : UMOD))
24435 : {
24436 : case 0:
24437 : if (!
24438 : #line 12297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24439 : (TARGET_64BIT))
24440 : return -1;
24441 : return 672; /* udivmodsi4_zext_1 */
24442 :
24443 : case 1:
24444 : if (!
24445 : #line 12656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24446 : (TARGET_64BIT))
24447 : return -1;
24448 : return 702; /* *udivmodsi4_noext_zext_1 */
24449 :
24450 : default:
24451 : return -1;
24452 : }
24453 :
24454 : case 2:
24455 : switch (pattern1510 (x1,
24456 : DIV))
24457 : {
24458 : case 0:
24459 : if (!
24460 : #line 12320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24461 : (TARGET_64BIT))
24462 : return -1;
24463 : return 673; /* divmodsi4_zext_2 */
24464 :
24465 : case 1:
24466 : if (!
24467 : #line 12670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24468 : (TARGET_64BIT))
24469 : return -1;
24470 : return 703; /* *divmodsi4_noext_zext_2 */
24471 :
24472 : default:
24473 : return -1;
24474 : }
24475 :
24476 : case 3:
24477 : switch (pattern1510 (x1,
24478 : UDIV))
24479 : {
24480 : case 0:
24481 : if (!
24482 : #line 12357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24483 : (TARGET_64BIT))
24484 : return -1;
24485 : return 674; /* udivmodsi4_zext_2 */
24486 :
24487 : case 1:
24488 : if (!
24489 : #line 12670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24490 : (TARGET_64BIT))
24491 : return -1;
24492 : return 704; /* *udivmodsi4_noext_zext_2 */
24493 :
24494 : default:
24495 : return -1;
24496 : }
24497 :
24498 : default:
24499 : return -1;
24500 : }
24501 :
24502 : case UNSPEC:
24503 : x7 = XEXP (x2, 0);
24504 : operands[0] = x7;
24505 : switch (XVECLEN (x4, 0))
24506 : {
24507 : case 4:
24508 : if (XINT (x4, 1) != 21
24509 : || pattern828 (x4) != 0
24510 : || pattern1262 (x1) != 0
24511 : || !tls_symbolic_operand (operands[2], E_VOIDmode))
24512 : return -1;
24513 : x12 = XVECEXP (x4, 0, 2);
24514 : operands[3] = x12;
24515 : if (!constant_call_address_operand (operands[3], E_VOIDmode))
24516 : return -1;
24517 : x5 = XVECEXP (x1, 0, 1);
24518 : x9 = XEXP (x5, 0);
24519 : operands[4] = x9;
24520 : if (!scratch_operand (operands[4], E_SImode))
24521 : return -1;
24522 : x6 = XVECEXP (x1, 0, 2);
24523 : x10 = XEXP (x6, 0);
24524 : operands[5] = x10;
24525 : if (!scratch_operand (operands[5], E_SImode)
24526 : || !
24527 : #line 23972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24528 : (!TARGET_64BIT && TARGET_GNU_TLS))
24529 : return -1;
24530 : return 1681; /* *tls_global_dynamic_32_gnu */
24531 :
24532 : case 3:
24533 : if (XINT (x4, 1) != 22
24534 : || GET_MODE (x4) != E_SImode)
24535 : return -1;
24536 : x12 = XVECEXP (x4, 0, 2);
24537 : if (GET_CODE (x12) != REG
24538 : || REGNO (x12) != 7
24539 : || GET_MODE (x12) != E_SImode
24540 : || pattern1262 (x1) != 0
24541 : || !constant_call_address_operand (operands[2], E_VOIDmode))
24542 : return -1;
24543 : x5 = XVECEXP (x1, 0, 1);
24544 : x9 = XEXP (x5, 0);
24545 : operands[3] = x9;
24546 : if (!scratch_operand (operands[3], E_SImode))
24547 : return -1;
24548 : x6 = XVECEXP (x1, 0, 2);
24549 : x10 = XEXP (x6, 0);
24550 : operands[4] = x10;
24551 : if (!scratch_operand (operands[4], E_SImode)
24552 : || !
24553 : #line 24100 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24554 : (!TARGET_64BIT && TARGET_GNU_TLS))
24555 : return -1;
24556 : return 1685; /* *tls_local_dynamic_base_32_gnu */
24557 :
24558 : case 1:
24559 : x5 = XVECEXP (x1, 0, 1);
24560 : if (GET_CODE (x5) != USE)
24561 : return -1;
24562 : x6 = XVECEXP (x1, 0, 2);
24563 : if (GET_CODE (x6) != USE
24564 : || !nonimmediate_operand (operands[0], E_DImode)
24565 : || GET_MODE (x4) != E_DImode)
24566 : return -1;
24567 : x13 = XVECEXP (x4, 0, 0);
24568 : operands[1] = x13;
24569 : if (!register_operand (operands[1], E_XFmode))
24570 : return -1;
24571 : x9 = XEXP (x5, 0);
24572 : operands[2] = x9;
24573 : if (!memory_operand (operands[2], E_HImode))
24574 : return -1;
24575 : x10 = XEXP (x6, 0);
24576 : operands[3] = x10;
24577 : if (!memory_operand (operands[3], E_HImode))
24578 : return -1;
24579 : x11 = XEXP (x3, 0);
24580 : operands[4] = x11;
24581 : if (!scratch_operand (operands[4], E_XFmode))
24582 : return -1;
24583 : switch (XINT (x4, 1))
24584 : {
24585 : case 79:
24586 : if (!
24587 : #line 26421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24588 : (TARGET_USE_FANCY_MATH_387
24589 : && flag_unsafe_math_optimizations))
24590 : return -1;
24591 : return 1782; /* fistdi2_floor */
24592 :
24593 : case 80:
24594 : if (!
24595 : #line 26421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24596 : (TARGET_USE_FANCY_MATH_387
24597 : && flag_unsafe_math_optimizations))
24598 : return -1;
24599 : return 1783; /* fistdi2_ceil */
24600 :
24601 : default:
24602 : return -1;
24603 : }
24604 :
24605 : default:
24606 : return -1;
24607 : }
24608 :
24609 : case PLUS:
24610 : if (pattern398 (x1) != 0)
24611 : return -1;
24612 : return 1689; /* *tls_local_dynamic_32_once */
24613 :
24614 : case UNSPEC_VOLATILE:
24615 : if (XVECLEN (x4, 0) != 1
24616 : || XINT (x4, 1) != 3)
24617 : return -1;
24618 : x5 = XVECEXP (x1, 0, 1);
24619 : if (pattern722 (x5,
24620 : 7,
24621 : MINUS) != 0)
24622 : return -1;
24623 : x6 = XVECEXP (x1, 0, 2);
24624 : if (pattern956 (x6,
24625 : E_CCmode,
24626 : 17) != 0)
24627 : return -1;
24628 : x11 = XEXP (x3, 0);
24629 : if (GET_CODE (x11) != MEM
24630 : || GET_MODE (x11) != E_BLKmode)
24631 : return -1;
24632 : x14 = XEXP (x11, 0);
24633 : if (GET_CODE (x14) != SCRATCH)
24634 : return -1;
24635 : x7 = XEXP (x2, 0);
24636 : operands[0] = x7;
24637 : x13 = XVECEXP (x4, 0, 0);
24638 : operands[1] = x13;
24639 : x15 = XEXP (x5, 1);
24640 : x16 = XEXP (x15, 1);
24641 : operands[2] = x16;
24642 : switch (GET_MODE (operands[0]))
24643 : {
24644 : case E_SImode:
24645 : if (pattern1803 (x1,
24646 : E_SImode) != 0
24647 : || !
24648 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24649 : (Pmode == SImode))
24650 : return -1;
24651 : return 1914; /* adjust_stack_and_probe_si */
24652 :
24653 : case E_DImode:
24654 : if (pattern1803 (x1,
24655 : E_DImode) != 0
24656 : || !
24657 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24658 : (Pmode == DImode))
24659 : return -1;
24660 : return 1915; /* adjust_stack_and_probe_di */
24661 :
24662 : default:
24663 : return -1;
24664 : }
24665 :
24666 : default:
24667 : return -1;
24668 : }
24669 : }
24670 :
24671 : rtx_insn *
24672 : split_8 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24673 : {
24674 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24675 : rtx x2, x3, x4, x5, x6, x7;
24676 : rtx_insn *res ATTRIBUTE_UNUSED;
24677 : x2 = XEXP (x1, 0);
24678 : operands[0] = x2;
24679 : x3 = XEXP (x1, 1);
24680 : x4 = XEXP (x3, 0);
24681 : switch (GET_CODE (x4))
24682 : {
24683 : case AND:
24684 : switch (pattern76 (x3))
24685 : {
24686 : case 0:
24687 : if (!(
24688 : #line 3769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24689 : (TARGET_64BIT
24690 : && CONST_WIDE_INT_P (operands[3])
24691 : && CONST_WIDE_INT_NUNITS (operands[3]) == 2
24692 : && CONST_WIDE_INT_ELT (operands[3], 0) == -1
24693 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0) &&
24694 : #line 3775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24695 : ( reload_completed)))
24696 : return NULL;
24697 : return gen_split_30 (insn, operands);
24698 :
24699 : case 1:
24700 : if (!(
24701 : #line 3791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24702 : (TARGET_64BIT
24703 : && CONST_WIDE_INT_P (operands[3])
24704 : && CONST_WIDE_INT_NUNITS (operands[3]) == 2
24705 : && CONST_WIDE_INT_ELT (operands[3], 0) == 0
24706 : && CONST_WIDE_INT_ELT (operands[3], 1) == -1) &&
24707 : #line 3797 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24708 : ( reload_completed)))
24709 : return NULL;
24710 : return gen_split_33 (insn, operands);
24711 :
24712 : case 2:
24713 : if (!(
24714 : #line 3813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24715 : (!TARGET_64BIT
24716 : && CONST_INT_P (operands[3])
24717 : && UINTVAL (operands[3]) == 0xffffffff00000000ll) &&
24718 : #line 3817 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24719 : ( reload_completed)))
24720 : return NULL;
24721 : return gen_split_36 (insn, operands);
24722 :
24723 : default:
24724 : return NULL;
24725 : }
24726 :
24727 : case ASHIFT:
24728 : x5 = XEXP (x4, 1);
24729 : operands[2] = x5;
24730 : x6 = XEXP (x4, 0);
24731 : switch (GET_CODE (x6))
24732 : {
24733 : case REG:
24734 : case SUBREG:
24735 : operands[1] = x6;
24736 : x7 = XEXP (x3, 1);
24737 : switch (GET_CODE (x7))
24738 : {
24739 : case CONST_INT:
24740 : case CONST_WIDE_INT:
24741 : operands[3] = x7;
24742 : switch (GET_MODE (operands[0]))
24743 : {
24744 : case E_QImode:
24745 : if (pattern616 (x3,
24746 : E_QImode) != 0
24747 : || !(
24748 : #line 8239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24749 : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
24750 : && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
24751 : < (HOST_WIDE_INT_1U << INTVAL (operands[2])))) &&
24752 : #line 8243 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24753 : ( reload_completed)))
24754 : return NULL;
24755 : return gen_split_167 (insn, operands);
24756 :
24757 : case E_HImode:
24758 : if (pattern616 (x3,
24759 : E_HImode) != 0
24760 : || !(
24761 : #line 8239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24762 : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
24763 : && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
24764 : < (HOST_WIDE_INT_1U << INTVAL (operands[2])))) &&
24765 : #line 8243 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24766 : ( reload_completed)))
24767 : return NULL;
24768 : return gen_split_169 (insn, operands);
24769 :
24770 : case E_SImode:
24771 : if (pattern616 (x3,
24772 : E_SImode) != 0
24773 : || !(
24774 : #line 8263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24775 : ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
24776 : < (HOST_WIDE_INT_1U << INTVAL (operands[2]))) &&
24777 : #line 8266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24778 : ( reload_completed)))
24779 : return NULL;
24780 : return gen_split_171 (insn, operands);
24781 :
24782 : case E_DImode:
24783 : if (GET_MODE (x3) != E_DImode
24784 : || GET_MODE (x4) != E_DImode)
24785 : return NULL;
24786 : if (register_operand (operands[0], E_DImode)
24787 : && register_no_SP_operand (operands[1], E_DImode)
24788 : && const_0_to_3_operand (operands[2], E_VOIDmode)
24789 : && const_int_operand (operands[3], E_VOIDmode)
24790 : && ((
24791 : #line 8263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24792 : ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
24793 : < (HOST_WIDE_INT_1U << INTVAL (operands[2]))) &&
24794 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24795 : (TARGET_64BIT)) &&
24796 : #line 8266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24797 : ( reload_completed)))
24798 : return gen_split_173 (insn, operands);
24799 : if (!nonimmediate_operand (operands[0], E_DImode)
24800 : || !register_operand (operands[1], E_DImode)
24801 : || !const_int_operand (operands[2], E_QImode)
24802 : || !const_scalar_int_operand (operands[3], E_DImode)
24803 : || !((
24804 : #line 15021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24805 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT / 2
24806 : && (DImode == DImode
24807 : ? CONST_INT_P (operands[3])
24808 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
24809 : : CONST_INT_P (operands[3])
24810 : ? INTVAL (operands[3]) >= 0
24811 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
24812 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
24813 : && !(CONST_INT_P (operands[3])
24814 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
24815 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
24816 : 0)),
24817 : VOIDmode))) &&
24818 : #line 1226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24819 : (!TARGET_64BIT)) &&
24820 : #line 15035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24821 : ( reload_completed)))
24822 : return NULL;
24823 : return gen_split_474 (insn, operands);
24824 :
24825 : case E_TImode:
24826 : if (pattern617 (x3,
24827 : E_TImode) != 0
24828 : || !((
24829 : #line 15021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24830 : (INTVAL (operands[2]) == 16 * BITS_PER_UNIT / 2
24831 : && (TImode == DImode
24832 : ? CONST_INT_P (operands[3])
24833 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
24834 : : CONST_INT_P (operands[3])
24835 : ? INTVAL (operands[3]) >= 0
24836 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
24837 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
24838 : && !(CONST_INT_P (operands[3])
24839 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
24840 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
24841 : 0)),
24842 : VOIDmode))) &&
24843 : #line 1227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24844 : (TARGET_64BIT)) &&
24845 : #line 15035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24846 : ( reload_completed)))
24847 : return NULL;
24848 : return gen_split_477 (insn, operands);
24849 :
24850 : default:
24851 : return NULL;
24852 : }
24853 :
24854 : case ZERO_EXTEND:
24855 : switch (pattern958 (x3))
24856 : {
24857 : case 0:
24858 : if (!((
24859 : #line 14944 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24860 : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) &&
24861 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24862 : (!TARGET_64BIT)) &&
24863 : #line 14946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24864 : ( reload_completed)))
24865 : return NULL;
24866 : return gen_split_438 (insn, operands);
24867 :
24868 : case 1:
24869 : if (!((
24870 : #line 14944 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24871 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
24872 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24873 : (TARGET_64BIT)) &&
24874 : #line 14946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24875 : ( reload_completed)))
24876 : return NULL;
24877 : return gen_split_441 (insn, operands);
24878 :
24879 : default:
24880 : return NULL;
24881 : }
24882 :
24883 : default:
24884 : return NULL;
24885 : }
24886 :
24887 : case SIGN_EXTEND:
24888 : switch (pattern725 (x3))
24889 : {
24890 : case 0:
24891 : if (!((
24892 : #line 14980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24893 : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) &&
24894 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24895 : (!TARGET_64BIT)) &&
24896 : #line 14982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24897 : ( reload_completed)))
24898 : return NULL;
24899 : return gen_split_450 (insn, operands);
24900 :
24901 : case 1:
24902 : if (!((
24903 : #line 14980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24904 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
24905 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24906 : (TARGET_64BIT)) &&
24907 : #line 14982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24908 : ( reload_completed)))
24909 : return NULL;
24910 : return gen_split_456 (insn, operands);
24911 :
24912 : case 2:
24913 : if (!((
24914 : #line 15053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24915 : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT
24916 : && (DImode == DImode
24917 : ? CONST_INT_P (operands[3])
24918 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
24919 : : CONST_INT_P (operands[3])
24920 : ? INTVAL (operands[3]) >= 0
24921 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
24922 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
24923 : && !(CONST_INT_P (operands[3])
24924 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
24925 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
24926 : 0)),
24927 : VOIDmode))) &&
24928 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24929 : (!TARGET_64BIT)) &&
24930 : #line 15067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24931 : ( reload_completed)))
24932 : return NULL;
24933 : return gen_split_480 (insn, operands);
24934 :
24935 : case 3:
24936 : if (!((
24937 : #line 15053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24938 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
24939 : && (TImode == DImode
24940 : ? CONST_INT_P (operands[3])
24941 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
24942 : : CONST_INT_P (operands[3])
24943 : ? INTVAL (operands[3]) >= 0
24944 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
24945 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
24946 : && !(CONST_INT_P (operands[3])
24947 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
24948 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
24949 : 0)),
24950 : VOIDmode))) &&
24951 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24952 : (TARGET_64BIT)) &&
24953 : #line 15067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24954 : ( reload_completed)))
24955 : return NULL;
24956 : return gen_split_486 (insn, operands);
24957 :
24958 : default:
24959 : return NULL;
24960 : }
24961 :
24962 : case ZERO_EXTEND:
24963 : switch (pattern725 (x3))
24964 : {
24965 : case 0:
24966 : if (!((
24967 : #line 14980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24968 : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) &&
24969 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24970 : (!TARGET_64BIT)) &&
24971 : #line 14982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24972 : ( reload_completed)))
24973 : return NULL;
24974 : return gen_split_453 (insn, operands);
24975 :
24976 : case 1:
24977 : if (!((
24978 : #line 14980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24979 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
24980 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24981 : (TARGET_64BIT)) &&
24982 : #line 14982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24983 : ( reload_completed)))
24984 : return NULL;
24985 : return gen_split_459 (insn, operands);
24986 :
24987 : case 2:
24988 : if (!((
24989 : #line 15053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24990 : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT
24991 : && (DImode == DImode
24992 : ? CONST_INT_P (operands[3])
24993 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
24994 : : CONST_INT_P (operands[3])
24995 : ? INTVAL (operands[3]) >= 0
24996 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
24997 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
24998 : && !(CONST_INT_P (operands[3])
24999 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
25000 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
25001 : 0)),
25002 : VOIDmode))) &&
25003 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25004 : (!TARGET_64BIT)) &&
25005 : #line 15067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25006 : ( reload_completed)))
25007 : return NULL;
25008 : return gen_split_483 (insn, operands);
25009 :
25010 : case 3:
25011 : if (!((
25012 : #line 15053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25013 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
25014 : && (TImode == DImode
25015 : ? CONST_INT_P (operands[3])
25016 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
25017 : : CONST_INT_P (operands[3])
25018 : ? INTVAL (operands[3]) >= 0
25019 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
25020 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
25021 : && !(CONST_INT_P (operands[3])
25022 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
25023 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
25024 : 0)),
25025 : VOIDmode))) &&
25026 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25027 : (TARGET_64BIT)) &&
25028 : #line 15067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25029 : ( reload_completed)))
25030 : return NULL;
25031 : return gen_split_489 (insn, operands);
25032 :
25033 : default:
25034 : return NULL;
25035 : }
25036 :
25037 : default:
25038 : return NULL;
25039 : }
25040 :
25041 : case ZERO_EXTEND:
25042 : switch (pattern407 (x3))
25043 : {
25044 : case 0:
25045 : if (!((
25046 : #line 14961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25047 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
25048 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25049 : (!TARGET_64BIT)) &&
25050 : #line 14963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25051 : ( reload_completed)))
25052 : return NULL;
25053 : return gen_split_444 (insn, operands);
25054 :
25055 : case 1:
25056 : if (!((
25057 : #line 14961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25058 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
25059 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25060 : (TARGET_64BIT)) &&
25061 : #line 14963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25062 : ( reload_completed)))
25063 : return NULL;
25064 : return gen_split_447 (insn, operands);
25065 :
25066 : case 2:
25067 : if (!((
25068 : #line 15005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25069 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
25070 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25071 : (!TARGET_64BIT)) &&
25072 : #line 15007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25073 : ( reload_completed)))
25074 : return NULL;
25075 : return gen_split_462 (insn, operands);
25076 :
25077 : case 3:
25078 : if (!((
25079 : #line 15005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25080 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
25081 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25082 : (TARGET_64BIT)) &&
25083 : #line 15007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25084 : ( reload_completed)))
25085 : return NULL;
25086 : return gen_split_468 (insn, operands);
25087 :
25088 : case 4:
25089 : if (!((
25090 : #line 15005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25091 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
25092 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25093 : (!TARGET_64BIT)) &&
25094 : #line 15007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25095 : ( reload_completed)))
25096 : return NULL;
25097 : return gen_split_465 (insn, operands);
25098 :
25099 : case 5:
25100 : if (!((
25101 : #line 15005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25102 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
25103 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25104 : (TARGET_64BIT)) &&
25105 : #line 15007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25106 : ( reload_completed)))
25107 : return NULL;
25108 : return gen_split_471 (insn, operands);
25109 :
25110 : case 6:
25111 : if (!((
25112 : #line 15082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25113 : (DImode == DImode
25114 : ? CONST_INT_P (operands[2])
25115 : && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
25116 : && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
25117 : : CONST_WIDE_INT_P (operands[2])
25118 : && CONST_WIDE_INT_NUNITS (operands[2]) == 2
25119 : && CONST_WIDE_INT_ELT (operands[2], 0) == 0
25120 : && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
25121 : 1)),
25122 : VOIDmode)) &&
25123 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25124 : (!TARGET_64BIT)) &&
25125 : #line 15093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25126 : ( reload_completed)))
25127 : return NULL;
25128 : return gen_split_492 (insn, operands);
25129 :
25130 : case 7:
25131 : if (!((
25132 : #line 15082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25133 : (TImode == DImode
25134 : ? CONST_INT_P (operands[2])
25135 : && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
25136 : && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
25137 : : CONST_WIDE_INT_P (operands[2])
25138 : && CONST_WIDE_INT_NUNITS (operands[2]) == 2
25139 : && CONST_WIDE_INT_ELT (operands[2], 0) == 0
25140 : && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
25141 : 1)),
25142 : VOIDmode)) &&
25143 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25144 : (TARGET_64BIT)) &&
25145 : #line 15093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25146 : ( reload_completed)))
25147 : return NULL;
25148 : return gen_split_495 (insn, operands);
25149 :
25150 : default:
25151 : return NULL;
25152 : }
25153 :
25154 : default:
25155 : return NULL;
25156 : }
25157 : }
25158 :
25159 : rtx_insn *
25160 : split_16 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25161 : {
25162 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25163 : rtx x2, x3, x4, x5, x6;
25164 : rtx_insn *res ATTRIBUTE_UNUSED;
25165 : x2 = XVECEXP (x1, 0, 0);
25166 : switch (pattern938 (x2))
25167 : {
25168 : case 0:
25169 : x3 = XEXP (x2, 0);
25170 : operands[0] = x3;
25171 : x4 = XEXP (x2, 1);
25172 : x5 = XEXP (x4, 1);
25173 : if (GET_CODE (x5) == SUBREG)
25174 : {
25175 : switch (pattern1428 (x4))
25176 : {
25177 : case 0:
25178 : if (((
25179 : #line 17523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25180 : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
25181 : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
25182 : == (2 * 4 * BITS_PER_UNIT - 1)))
25183 : && ix86_pre_reload_split ()) &&
25184 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25185 : (!TARGET_64BIT)) &&
25186 : #line 17528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25187 : ( 1)))
25188 : return gen_split_595 (insn, operands);
25189 : break;
25190 :
25191 : case 1:
25192 : if (((
25193 : #line 17523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25194 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
25195 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
25196 : == (2 * 8 * BITS_PER_UNIT - 1)))
25197 : && ix86_pre_reload_split ()) &&
25198 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25199 : (TARGET_64BIT)) &&
25200 : #line 17528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25201 : ( 1)))
25202 : return gen_split_597 (insn, operands);
25203 : break;
25204 :
25205 : default:
25206 : break;
25207 : }
25208 : }
25209 : if (GET_MODE (x4) == E_SImode
25210 : && nonimmediate_operand (operands[1], E_SImode))
25211 : {
25212 : if (register_operand (operands[0], E_SImode))
25213 : {
25214 : operands[2] = x5;
25215 : if (register_operand (operands[2], E_QImode)
25216 : &&
25217 : #line 18400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25218 : (TARGET_BMI2 && reload_completed))
25219 : return gen_split_628 (insn, operands);
25220 : }
25221 : if (GET_CODE (x5) == SUBREG)
25222 : {
25223 : switch (pattern1540 (x5))
25224 : {
25225 : case 0:
25226 : if ((
25227 : #line 18773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25228 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
25229 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
25230 : == 4 * BITS_PER_UNIT - 1
25231 : && ix86_pre_reload_split ()) &&
25232 : #line 18778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25233 : ( 1)))
25234 : return gen_split_645 (insn, operands);
25235 : break;
25236 :
25237 : case 1:
25238 : if ((
25239 : #line 18821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25240 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
25241 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25242 : && ix86_pre_reload_split ()) &&
25243 : #line 18825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25244 : ( 1)))
25245 : return gen_split_657 (insn, operands);
25246 : break;
25247 :
25248 : case 2:
25249 : if ((
25250 : #line 18867 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25251 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
25252 : && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25253 : || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
25254 : == 4 * BITS_PER_UNIT - 1)
25255 : && ix86_pre_reload_split ()) &&
25256 : #line 18873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25257 : ( 1)))
25258 : return gen_split_669 (insn, operands);
25259 : break;
25260 :
25261 : default:
25262 : break;
25263 : }
25264 : }
25265 : }
25266 : operands[2] = x5;
25267 : switch (pattern1346 (x2))
25268 : {
25269 : case 0:
25270 : if (register_operand (operands[1], E_DImode)
25271 : && nonmemory_operand (operands[2], E_QImode)
25272 : && (
25273 : #line 17635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25274 : (epilogue_completed) &&
25275 : #line 1226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25276 : (!TARGET_64BIT)))
25277 : return gen_split_603 (insn, operands);
25278 : if (nonimmediate_operand (operands[1], E_DImode)
25279 : && register_operand (operands[2], E_QImode)
25280 : && (
25281 : #line 18400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25282 : (TARGET_BMI2 && reload_completed) &&
25283 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25284 : (TARGET_64BIT)))
25285 : return gen_split_630 (insn, operands);
25286 : break;
25287 :
25288 : case 1:
25289 : if ((
25290 : #line 17635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25291 : (epilogue_completed) &&
25292 : #line 1227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25293 : (TARGET_64BIT)))
25294 : return gen_split_605 (insn, operands);
25295 : break;
25296 :
25297 : case 2:
25298 : if ((
25299 : #line 18597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25300 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25301 : #line 18604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25302 : ( reload_completed
25303 : && !(rtx_equal_p (operands[0], operands[1])))))
25304 : return gen_split_634 (insn, operands);
25305 : break;
25306 :
25307 : case 3:
25308 : if ((
25309 : #line 18597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25310 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25311 : #line 18604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25312 : ( reload_completed
25313 : && !(rtx_equal_p (operands[0], operands[1])))))
25314 : return gen_split_636 (insn, operands);
25315 : break;
25316 :
25317 : default:
25318 : break;
25319 : }
25320 : if (GET_MODE (x4) != E_DImode
25321 : || !nonimmediate_operand (operands[1], E_DImode))
25322 : return NULL;
25323 : switch (GET_CODE (x5))
25324 : {
25325 : case CONST_INT:
25326 : if (pattern1243 (x2) != 0
25327 : || !(
25328 : #line 18325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25329 : (TARGET_64BIT) &&
25330 : #line 18327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25331 : ( reload_completed)))
25332 : return NULL;
25333 : return gen_split_623 (insn, operands);
25334 :
25335 : case SUBREG:
25336 : if (maybe_ne (SUBREG_BYTE (x5), 0)
25337 : || GET_MODE (x5) != E_QImode)
25338 : return NULL;
25339 : operands[0] = x3;
25340 : if (!nonimmediate_operand (operands[0], E_DImode))
25341 : return NULL;
25342 : x6 = XEXP (x5, 0);
25343 : switch (pattern1244 (x6))
25344 : {
25345 : case 0:
25346 : if (!((
25347 : #line 18773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25348 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
25349 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
25350 : == 8 * BITS_PER_UNIT - 1
25351 : && ix86_pre_reload_split ()) &&
25352 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25353 : (TARGET_64BIT)) &&
25354 : #line 18778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25355 : ( 1)))
25356 : return NULL;
25357 : return gen_split_648 (insn, operands);
25358 :
25359 : case 1:
25360 : if (!((
25361 : #line 18821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25362 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
25363 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25364 : && ix86_pre_reload_split ()) &&
25365 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25366 : (TARGET_64BIT)) &&
25367 : #line 18825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25368 : ( 1)))
25369 : return NULL;
25370 : return gen_split_660 (insn, operands);
25371 :
25372 : case 2:
25373 : if (!((
25374 : #line 18867 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25375 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
25376 : && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25377 : || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
25378 : == 8 * BITS_PER_UNIT - 1)
25379 : && ix86_pre_reload_split ()) &&
25380 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25381 : (TARGET_64BIT)) &&
25382 : #line 18873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25383 : ( 1)))
25384 : return NULL;
25385 : return gen_split_672 (insn, operands);
25386 :
25387 : default:
25388 : return NULL;
25389 : }
25390 :
25391 : default:
25392 : return NULL;
25393 : }
25394 :
25395 : case 1:
25396 : if (register_operand (operands[0], E_DImode)
25397 : && register_operand (operands[1], E_DImode)
25398 : && ((
25399 : #line 17584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25400 : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
25401 : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
25402 : == (2 * 4 * BITS_PER_UNIT - 1)))
25403 : && ix86_pre_reload_split ()) &&
25404 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25405 : (!TARGET_64BIT)) &&
25406 : #line 17589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25407 : ( 1)))
25408 : return gen_split_599 (insn, operands);
25409 : if (!nonimmediate_operand (operands[0], E_DImode)
25410 : || !nonimmediate_operand (operands[1], E_DImode)
25411 : || !((
25412 : #line 18798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25413 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
25414 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
25415 : == 8 * BITS_PER_UNIT - 1
25416 : && ix86_pre_reload_split ()) &&
25417 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25418 : (TARGET_64BIT)) &&
25419 : #line 18803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25420 : ( 1)))
25421 : return NULL;
25422 : return gen_split_654 (insn, operands);
25423 :
25424 : case 2:
25425 : if (!((
25426 : #line 17584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25427 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
25428 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
25429 : == (2 * 8 * BITS_PER_UNIT - 1)))
25430 : && ix86_pre_reload_split ()) &&
25431 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25432 : (TARGET_64BIT)) &&
25433 : #line 17589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25434 : ( 1)))
25435 : return NULL;
25436 : return gen_split_601 (insn, operands);
25437 :
25438 : case 3:
25439 : if (!(
25440 : #line 18798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25441 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
25442 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
25443 : == 4 * BITS_PER_UNIT - 1
25444 : && ix86_pre_reload_split ()) &&
25445 : #line 18803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25446 : ( 1)))
25447 : return NULL;
25448 : return gen_split_651 (insn, operands);
25449 :
25450 : case 4:
25451 : if (!(
25452 : #line 18845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25453 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
25454 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25455 : && ix86_pre_reload_split ()) &&
25456 : #line 18849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25457 : ( 1)))
25458 : return NULL;
25459 : return gen_split_663 (insn, operands);
25460 :
25461 : case 5:
25462 : if (!((
25463 : #line 18845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25464 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
25465 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25466 : && ix86_pre_reload_split ()) &&
25467 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25468 : (TARGET_64BIT)) &&
25469 : #line 18849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25470 : ( 1)))
25471 : return NULL;
25472 : return gen_split_666 (insn, operands);
25473 :
25474 : case 6:
25475 : if (!(
25476 : #line 18900 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25477 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
25478 : && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25479 : || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
25480 : == 4 * BITS_PER_UNIT - 1)
25481 : && ix86_pre_reload_split ()) &&
25482 : #line 18906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25483 : ( 1)))
25484 : return NULL;
25485 : return gen_split_675 (insn, operands);
25486 :
25487 : case 7:
25488 : if (!((
25489 : #line 18900 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25490 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
25491 : && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25492 : || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
25493 : == 8 * BITS_PER_UNIT - 1)
25494 : && ix86_pre_reload_split ()) &&
25495 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25496 : (TARGET_64BIT)) &&
25497 : #line 18906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25498 : ( 1)))
25499 : return NULL;
25500 : return gen_split_678 (insn, operands);
25501 :
25502 : default:
25503 : return NULL;
25504 : }
25505 : }
25506 :
25507 : rtx_insn *
25508 : split_30 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25509 : {
25510 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25511 : rtx x2, x3, x4, x5, x6, x7;
25512 : rtx_insn *res ATTRIBUTE_UNUSED;
25513 : x2 = XVECEXP (x1, 0, 1);
25514 : if (pattern237 (x2,
25515 : E_CCmode,
25516 : 17) != 0)
25517 : return NULL;
25518 : x3 = XVECEXP (x1, 0, 0);
25519 : x4 = XEXP (x3, 1);
25520 : x5 = XEXP (x4, 0);
25521 : switch (GET_CODE (x5))
25522 : {
25523 : case CONST_INT:
25524 : case CONST_WIDE_INT:
25525 : case CONST_POLY_INT:
25526 : case CONST_FIXED:
25527 : case CONST_DOUBLE:
25528 : case CONST_VECTOR:
25529 : case CONST:
25530 : case REG:
25531 : case SUBREG:
25532 : case MEM:
25533 : case LABEL_REF:
25534 : case SYMBOL_REF:
25535 : case HIGH:
25536 : switch (pattern938 (x3))
25537 : {
25538 : case 0:
25539 : x6 = XEXP (x3, 0);
25540 : operands[0] = x6;
25541 : x7 = XEXP (x4, 1);
25542 : switch (GET_CODE (x7))
25543 : {
25544 : case REG:
25545 : case SUBREG:
25546 : if (GET_CODE (x7) == SUBREG)
25547 : {
25548 : switch (pattern1428 (x4))
25549 : {
25550 : case 0:
25551 : if (((
25552 : #line 16166 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25553 : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
25554 : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
25555 : == (2 * 4 * BITS_PER_UNIT - 1)))
25556 : && ix86_pre_reload_split ()) &&
25557 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25558 : (!TARGET_64BIT)) &&
25559 : #line 16171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25560 : ( 1)))
25561 : return gen_split_558 (insn, operands);
25562 : break;
25563 :
25564 : case 1:
25565 : if (((
25566 : #line 16166 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25567 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
25568 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
25569 : == (2 * 8 * BITS_PER_UNIT - 1)))
25570 : && ix86_pre_reload_split ()) &&
25571 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25572 : (TARGET_64BIT)) &&
25573 : #line 16171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25574 : ( 1)))
25575 : return gen_split_559 (insn, operands);
25576 : break;
25577 :
25578 : default:
25579 : break;
25580 : }
25581 : }
25582 : operands[2] = x7;
25583 : if (register_operand (operands[2], E_QImode)
25584 : && register_operand (operands[0], E_SImode)
25585 : && GET_MODE (x4) == E_SImode
25586 : && nonimmediate_operand (operands[1], E_SImode)
25587 : &&
25588 : #line 16966 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25589 : (TARGET_BMI2 && reload_completed))
25590 : return gen_split_578 (insn, operands);
25591 : if (GET_CODE (x7) == SUBREG
25592 : && known_eq (SUBREG_BYTE (x7), 0)
25593 : && GET_MODE (x7) == E_QImode)
25594 : {
25595 : switch (pattern1245 (x4,
25596 : E_SImode))
25597 : {
25598 : case 0:
25599 : if ((
25600 : #line 18773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25601 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
25602 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
25603 : == 4 * BITS_PER_UNIT - 1
25604 : && ix86_pre_reload_split ()) &&
25605 : #line 18778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25606 : ( 1)))
25607 : return gen_split_644 (insn, operands);
25608 : break;
25609 :
25610 : case 1:
25611 : if ((
25612 : #line 18821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25613 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
25614 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25615 : && ix86_pre_reload_split ()) &&
25616 : #line 18825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25617 : ( 1)))
25618 : return gen_split_656 (insn, operands);
25619 : break;
25620 :
25621 : case 2:
25622 : if ((
25623 : #line 18867 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25624 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
25625 : && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25626 : || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
25627 : == 4 * BITS_PER_UNIT - 1)
25628 : && ix86_pre_reload_split ()) &&
25629 : #line 18873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25630 : ( 1)))
25631 : return gen_split_668 (insn, operands);
25632 : break;
25633 :
25634 : default:
25635 : break;
25636 : }
25637 : }
25638 : break;
25639 :
25640 : case CONST_INT:
25641 : operands[2] = x7;
25642 : if (const_0_to_3_operand (operands[2], E_VOIDmode))
25643 : {
25644 : switch (GET_MODE (operands[0]))
25645 : {
25646 : case E_QImode:
25647 : if (general_reg_operand (operands[0], E_QImode)
25648 : && GET_MODE (x4) == E_QImode
25649 : && index_reg_operand (operands[1], E_QImode)
25650 : &&
25651 : #line 17247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25652 : (reload_completed
25653 : && REGNO (operands[0]) != REGNO (operands[1])))
25654 : return gen_split_583 (insn, operands);
25655 : break;
25656 :
25657 : case E_HImode:
25658 : if (general_reg_operand (operands[0], E_HImode)
25659 : && GET_MODE (x4) == E_HImode
25660 : && index_reg_operand (operands[1], E_HImode)
25661 : &&
25662 : #line 17247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25663 : (reload_completed
25664 : && REGNO (operands[0]) != REGNO (operands[1])))
25665 : return gen_split_584 (insn, operands);
25666 : break;
25667 :
25668 : case E_SImode:
25669 : if (general_reg_operand (operands[0], E_SImode)
25670 : && GET_MODE (x4) == E_SImode
25671 : && index_reg_operand (operands[1], E_SImode)
25672 : &&
25673 : #line 17247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25674 : (reload_completed
25675 : && REGNO (operands[0]) != REGNO (operands[1])))
25676 : return gen_split_585 (insn, operands);
25677 : break;
25678 :
25679 : default:
25680 : break;
25681 : }
25682 : }
25683 : break;
25684 :
25685 : default:
25686 : break;
25687 : }
25688 : operands[2] = x7;
25689 : res = split_23 (x1, insn);
25690 : if (res != NULL_RTX)
25691 : return res;
25692 : if (GET_CODE (x7) != SUBREG)
25693 : return NULL;
25694 : switch (pattern1246 (x3,
25695 : E_DImode))
25696 : {
25697 : case 0:
25698 : if (!((
25699 : #line 18773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25700 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
25701 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
25702 : == 8 * BITS_PER_UNIT - 1
25703 : && ix86_pre_reload_split ()) &&
25704 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25705 : (TARGET_64BIT)) &&
25706 : #line 18778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25707 : ( 1)))
25708 : return NULL;
25709 : return gen_split_647 (insn, operands);
25710 :
25711 : case 1:
25712 : if (!((
25713 : #line 18821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25714 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
25715 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25716 : && ix86_pre_reload_split ()) &&
25717 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25718 : (TARGET_64BIT)) &&
25719 : #line 18825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25720 : ( 1)))
25721 : return NULL;
25722 : return gen_split_659 (insn, operands);
25723 :
25724 : case 2:
25725 : if (!((
25726 : #line 18867 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25727 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
25728 : && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25729 : || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
25730 : == 8 * BITS_PER_UNIT - 1)
25731 : && ix86_pre_reload_split ()) &&
25732 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25733 : (TARGET_64BIT)) &&
25734 : #line 18873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25735 : ( 1)))
25736 : return NULL;
25737 : return gen_split_671 (insn, operands);
25738 :
25739 : default:
25740 : return NULL;
25741 : }
25742 :
25743 : case 1:
25744 : if (register_operand (operands[0], E_DImode)
25745 : && register_operand (operands[1], E_DImode)
25746 : && ((
25747 : #line 16227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25748 : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
25749 : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
25750 : == (2 * 4 * BITS_PER_UNIT - 1)))
25751 : && ix86_pre_reload_split ()) &&
25752 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25753 : (!TARGET_64BIT)) &&
25754 : #line 16232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25755 : ( 1)))
25756 : return gen_split_560 (insn, operands);
25757 : if (!nonimmediate_operand (operands[0], E_DImode)
25758 : || !nonimmediate_operand (operands[1], E_DImode)
25759 : || !((
25760 : #line 18798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25761 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
25762 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
25763 : == 8 * BITS_PER_UNIT - 1
25764 : && ix86_pre_reload_split ()) &&
25765 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25766 : (TARGET_64BIT)) &&
25767 : #line 18803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25768 : ( 1)))
25769 : return NULL;
25770 : return gen_split_653 (insn, operands);
25771 :
25772 : case 2:
25773 : if (!((
25774 : #line 16227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25775 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
25776 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
25777 : == (2 * 8 * BITS_PER_UNIT - 1)))
25778 : && ix86_pre_reload_split ()) &&
25779 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25780 : (TARGET_64BIT)) &&
25781 : #line 16232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25782 : ( 1)))
25783 : return NULL;
25784 : return gen_split_561 (insn, operands);
25785 :
25786 : case 3:
25787 : if (!(
25788 : #line 18798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25789 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
25790 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
25791 : == 4 * BITS_PER_UNIT - 1
25792 : && ix86_pre_reload_split ()) &&
25793 : #line 18803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25794 : ( 1)))
25795 : return NULL;
25796 : return gen_split_650 (insn, operands);
25797 :
25798 : case 4:
25799 : if (!(
25800 : #line 18845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25801 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
25802 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25803 : && ix86_pre_reload_split ()) &&
25804 : #line 18849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25805 : ( 1)))
25806 : return NULL;
25807 : return gen_split_662 (insn, operands);
25808 :
25809 : case 5:
25810 : if (!((
25811 : #line 18845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25812 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
25813 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25814 : && ix86_pre_reload_split ()) &&
25815 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25816 : (TARGET_64BIT)) &&
25817 : #line 18849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25818 : ( 1)))
25819 : return NULL;
25820 : return gen_split_665 (insn, operands);
25821 :
25822 : case 6:
25823 : if (!(
25824 : #line 18900 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25825 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
25826 : && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25827 : || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
25828 : == 4 * BITS_PER_UNIT - 1)
25829 : && ix86_pre_reload_split ()) &&
25830 : #line 18906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25831 : ( 1)))
25832 : return NULL;
25833 : return gen_split_674 (insn, operands);
25834 :
25835 : case 7:
25836 : if (!((
25837 : #line 18900 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25838 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
25839 : && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25840 : || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
25841 : == 8 * BITS_PER_UNIT - 1)
25842 : && ix86_pre_reload_split ()) &&
25843 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25844 : (TARGET_64BIT)) &&
25845 : #line 18906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25846 : ( 1)))
25847 : return NULL;
25848 : return gen_split_677 (insn, operands);
25849 :
25850 : default:
25851 : return NULL;
25852 : }
25853 :
25854 : case SIGN_EXTEND:
25855 : switch (pattern384 (x3))
25856 : {
25857 : case 0:
25858 : if (!((
25859 : #line 16328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25860 : (INTVAL (operands[2]) >= 4 * BITS_PER_UNIT
25861 : && INTVAL (operands[2]) < 4 * BITS_PER_UNIT * 2) &&
25862 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25863 : (!TARGET_64BIT)) &&
25864 : #line 16331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25865 : ( reload_completed)))
25866 : return NULL;
25867 : return gen_split_564 (insn, operands);
25868 :
25869 : case 1:
25870 : if (!((
25871 : #line 16328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25872 : (INTVAL (operands[2]) >= 8 * BITS_PER_UNIT
25873 : && INTVAL (operands[2]) < 8 * BITS_PER_UNIT * 2) &&
25874 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25875 : (TARGET_64BIT)) &&
25876 : #line 16331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25877 : ( reload_completed)))
25878 : return NULL;
25879 : return gen_split_566 (insn, operands);
25880 :
25881 : default:
25882 : return NULL;
25883 : }
25884 :
25885 : case ZERO_EXTEND:
25886 : switch (pattern384 (x3))
25887 : {
25888 : case 0:
25889 : if (!((
25890 : #line 16328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25891 : (INTVAL (operands[2]) >= 4 * BITS_PER_UNIT
25892 : && INTVAL (operands[2]) < 4 * BITS_PER_UNIT * 2) &&
25893 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25894 : (!TARGET_64BIT)) &&
25895 : #line 16331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25896 : ( reload_completed)))
25897 : return NULL;
25898 : return gen_split_565 (insn, operands);
25899 :
25900 : case 1:
25901 : if (!((
25902 : #line 16328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25903 : (INTVAL (operands[2]) >= 8 * BITS_PER_UNIT
25904 : && INTVAL (operands[2]) < 8 * BITS_PER_UNIT * 2) &&
25905 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25906 : (TARGET_64BIT)) &&
25907 : #line 16331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25908 : ( reload_completed)))
25909 : return NULL;
25910 : return gen_split_567 (insn, operands);
25911 :
25912 : default:
25913 : return NULL;
25914 : }
25915 :
25916 : default:
25917 : return NULL;
25918 : }
25919 : }
25920 :
25921 : rtx_insn *
25922 : split_38 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25923 : {
25924 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25925 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
25926 : rtx_insn *res ATTRIBUTE_UNUSED;
25927 : x2 = XVECEXP (x1, 0, 0);
25928 : x3 = XEXP (x2, 1);
25929 : operands[3] = x3;
25930 : if (promotable_binary_operator (operands[3], E_VOIDmode)
25931 : && pattern346 (x1) == 0
25932 : && general_reg_operand (operands[0], E_VOIDmode))
25933 : {
25934 : x4 = XEXP (x3, 0);
25935 : operands[1] = x4;
25936 : if (general_reg_operand (operands[1], E_VOIDmode))
25937 : {
25938 : x5 = XEXP (x3, 1);
25939 : operands[2] = x5;
25940 : if (aligned_operand (operands[2], E_VOIDmode)
25941 : &&
25942 : #line 28912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25943 : (! TARGET_PARTIAL_REG_STALL && reload_completed
25944 : && ((GET_MODE (operands[0]) == HImode
25945 : && ((optimize_function_for_speed_p (cfun) && !TARGET_FAST_PREFIX)
25946 : /* ??? next two lines just !satisfies_constraint_K (...) */
25947 : || !CONST_INT_P (operands[2])
25948 : || satisfies_constraint_K (operands[2])))
25949 : || (GET_MODE (operands[0]) == QImode
25950 : && (TARGET_PROMOTE_QImode || optimize_function_for_size_p (cfun))))))
25951 : return gen_split_1009 (insn, operands);
25952 : }
25953 : }
25954 : x6 = XVECEXP (x1, 0, 1);
25955 : if (GET_CODE (x6) != CLOBBER)
25956 : return NULL;
25957 : x7 = XEXP (x6, 0);
25958 : if (GET_CODE (x7) != REG
25959 : || REGNO (x7) != 17
25960 : || GET_MODE (x7) != E_CCmode)
25961 : return NULL;
25962 : x8 = XEXP (x2, 0);
25963 : operands[0] = x8;
25964 : x5 = XEXP (x3, 1);
25965 : operands[2] = x5;
25966 : switch (GET_CODE (x3))
25967 : {
25968 : case PLUS:
25969 : if (GET_MODE (x3) != E_V2QImode)
25970 : return NULL;
25971 : x4 = XEXP (x3, 0);
25972 : operands[1] = x4;
25973 : if (general_reg_operand (operands[1], E_V2QImode)
25974 : && general_reg_operand (operands[0], E_V2QImode)
25975 : && general_reg_operand (operands[2], E_V2QImode)
25976 : &&
25977 : #line 3291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25978 : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25979 : && reload_completed))
25980 : return gen_split_1090 (insn, operands);
25981 : if (!sse_reg_operand (operands[1], E_V2QImode)
25982 : || !sse_reg_operand (operands[0], E_V2QImode)
25983 : || !sse_reg_operand (operands[2], E_V2QImode)
25984 : || !
25985 : #line 3325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25986 : (TARGET_SSE2 && reload_completed))
25987 : return NULL;
25988 : return gen_split_1092 (insn, operands);
25989 :
25990 : case MINUS:
25991 : if (GET_MODE (x3) != E_V2QImode)
25992 : return NULL;
25993 : x4 = XEXP (x3, 0);
25994 : operands[1] = x4;
25995 : if (general_reg_operand (operands[1], E_V2QImode)
25996 : && general_reg_operand (operands[0], E_V2QImode)
25997 : && general_reg_operand (operands[2], E_V2QImode)
25998 : &&
25999 : #line 3291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26000 : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
26001 : && reload_completed))
26002 : return gen_split_1091 (insn, operands);
26003 : if (!sse_reg_operand (operands[1], E_V2QImode)
26004 : || !sse_reg_operand (operands[0], E_V2QImode)
26005 : || !sse_reg_operand (operands[2], E_V2QImode)
26006 : || !
26007 : #line 3325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26008 : (TARGET_SSE2 && reload_completed))
26009 : return NULL;
26010 : return gen_split_1093 (insn, operands);
26011 :
26012 : case ASHIFT:
26013 : x4 = XEXP (x3, 0);
26014 : operands[1] = x4;
26015 : switch (GET_MODE (operands[0]))
26016 : {
26017 : case E_V2QImode:
26018 : if (pattern1344 (x3,
26019 : E_V2QImode) != 0
26020 : || !
26021 : #line 4041 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26022 : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
26023 : && reload_completed))
26024 : return NULL;
26025 : return gen_split_1101 (insn, operands);
26026 :
26027 : case E_QImode:
26028 : if (pattern1350 (x3,
26029 : E_QImode) != 0
26030 : || !
26031 : #line 2327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26032 : (TARGET_AVX512F && reload_completed))
26033 : return NULL;
26034 : return gen_split_1272 (insn, operands);
26035 :
26036 : case E_HImode:
26037 : if (pattern1350 (x3,
26038 : E_HImode) != 0
26039 : || !
26040 : #line 2327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26041 : (TARGET_AVX512F && reload_completed))
26042 : return NULL;
26043 : return gen_split_1274 (insn, operands);
26044 :
26045 : case E_SImode:
26046 : if (pattern1350 (x3,
26047 : E_SImode) != 0
26048 : || !(
26049 : #line 2327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26050 : (TARGET_AVX512F && reload_completed) &&
26051 : #line 2109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26052 : (TARGET_AVX512BW)))
26053 : return NULL;
26054 : return gen_split_1276 (insn, operands);
26055 :
26056 : case E_DImode:
26057 : if (pattern1350 (x3,
26058 : E_DImode) != 0
26059 : || !(
26060 : #line 2327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26061 : (TARGET_AVX512F && reload_completed) &&
26062 : #line 2109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26063 : (TARGET_AVX512BW)))
26064 : return NULL;
26065 : return gen_split_1278 (insn, operands);
26066 :
26067 : default:
26068 : return NULL;
26069 : }
26070 :
26071 : case AND:
26072 : x4 = XEXP (x3, 0);
26073 : switch (GET_CODE (x4))
26074 : {
26075 : case NOT:
26076 : x9 = XEXP (x4, 0);
26077 : operands[1] = x9;
26078 : switch (GET_MODE (operands[0]))
26079 : {
26080 : case E_V4QImode:
26081 : if (GET_MODE (x3) != E_V4QImode
26082 : || GET_MODE (x4) != E_V4QImode)
26083 : return NULL;
26084 : if (general_reg_operand (operands[0], E_V4QImode)
26085 : && general_reg_operand (operands[1], E_V4QImode)
26086 : && general_reg_operand (operands[2], E_V4QImode))
26087 : {
26088 : if (
26089 : #line 4656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26090 : (TARGET_BMI && reload_completed))
26091 : return gen_split_1117 (insn, operands);
26092 : if (
26093 : #line 4673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26094 : (!TARGET_BMI && reload_completed))
26095 : return gen_split_1120 (insn, operands);
26096 : }
26097 : if (!sse_reg_operand (operands[0], E_V4QImode)
26098 : || !sse_reg_operand (operands[1], E_V4QImode)
26099 : || !sse_reg_operand (operands[2], E_V4QImode)
26100 : || !
26101 : #line 4692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26102 : (TARGET_SSE2 && reload_completed))
26103 : return NULL;
26104 : return gen_split_1123 (insn, operands);
26105 :
26106 : case E_V2QImode:
26107 : if (GET_MODE (x3) != E_V2QImode
26108 : || GET_MODE (x4) != E_V2QImode)
26109 : return NULL;
26110 : if (general_reg_operand (operands[0], E_V2QImode)
26111 : && general_reg_operand (operands[1], E_V2QImode)
26112 : && general_reg_operand (operands[2], E_V2QImode))
26113 : {
26114 : if (
26115 : #line 4656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26116 : (TARGET_BMI && reload_completed))
26117 : return gen_split_1118 (insn, operands);
26118 : if (
26119 : #line 4673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26120 : (!TARGET_BMI && reload_completed))
26121 : return gen_split_1121 (insn, operands);
26122 : }
26123 : if (!sse_reg_operand (operands[0], E_V2QImode)
26124 : || !sse_reg_operand (operands[1], E_V2QImode)
26125 : || !sse_reg_operand (operands[2], E_V2QImode)
26126 : || !
26127 : #line 4692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26128 : (TARGET_SSE2 && reload_completed))
26129 : return NULL;
26130 : return gen_split_1124 (insn, operands);
26131 :
26132 : case E_V2HImode:
26133 : if (GET_MODE (x3) != E_V2HImode
26134 : || GET_MODE (x4) != E_V2HImode)
26135 : return NULL;
26136 : if (general_reg_operand (operands[0], E_V2HImode)
26137 : && general_reg_operand (operands[1], E_V2HImode)
26138 : && general_reg_operand (operands[2], E_V2HImode))
26139 : {
26140 : if (
26141 : #line 4656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26142 : (TARGET_BMI && reload_completed))
26143 : return gen_split_1119 (insn, operands);
26144 : if (
26145 : #line 4673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26146 : (!TARGET_BMI && reload_completed))
26147 : return gen_split_1122 (insn, operands);
26148 : }
26149 : if (!sse_reg_operand (operands[0], E_V2HImode)
26150 : || !sse_reg_operand (operands[1], E_V2HImode)
26151 : || !sse_reg_operand (operands[2], E_V2HImode)
26152 : || !
26153 : #line 4692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26154 : (TARGET_SSE2 && reload_completed))
26155 : return NULL;
26156 : return gen_split_1125 (insn, operands);
26157 :
26158 : case E_QImode:
26159 : if (pattern1513 (x3,
26160 : E_QImode) != 0
26161 : || !
26162 : #line 2197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26163 : (TARGET_AVX512F && reload_completed))
26164 : return NULL;
26165 : return gen_split_1255 (insn, operands);
26166 :
26167 : case E_HImode:
26168 : if (pattern1513 (x3,
26169 : E_HImode) != 0
26170 : || !
26171 : #line 2197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26172 : (TARGET_AVX512F && reload_completed))
26173 : return NULL;
26174 : return gen_split_1256 (insn, operands);
26175 :
26176 : case E_SImode:
26177 : if (pattern1513 (x3,
26178 : E_SImode) != 0
26179 : || !(
26180 : #line 2197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26181 : (TARGET_AVX512F && reload_completed) &&
26182 : #line 2109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26183 : (TARGET_AVX512BW)))
26184 : return NULL;
26185 : return gen_split_1257 (insn, operands);
26186 :
26187 : case E_DImode:
26188 : if (pattern1513 (x3,
26189 : E_DImode) != 0
26190 : || !(
26191 : #line 2197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26192 : (TARGET_AVX512F && reload_completed) &&
26193 : #line 2109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26194 : (TARGET_AVX512BW)))
26195 : return NULL;
26196 : return gen_split_1258 (insn, operands);
26197 :
26198 : default:
26199 : return NULL;
26200 : }
26201 :
26202 : case REG:
26203 : case SUBREG:
26204 : case MEM:
26205 : switch (pattern1264 (x3))
26206 : {
26207 : case 0:
26208 : if (nonimmediate_gr_operand (operands[0], E_V4QImode)
26209 : && nonimmediate_gr_operand (operands[1], E_V4QImode)
26210 : && reg_or_const_vector_operand (operands[2], E_V4QImode)
26211 : &&
26212 : #line 4759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26213 : (reload_completed))
26214 : return gen_split_1126 (insn, operands);
26215 : if (!sse_reg_operand (operands[0], E_V4QImode)
26216 : || !sse_reg_operand (operands[1], E_V4QImode)
26217 : || !sse_reg_operand (operands[2], E_V4QImode)
26218 : || !
26219 : #line 4783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26220 : (TARGET_SSE2 && reload_completed))
26221 : return NULL;
26222 : return gen_split_1135 (insn, operands);
26223 :
26224 : case 1:
26225 : if (nonimmediate_gr_operand (operands[0], E_V2QImode)
26226 : && nonimmediate_gr_operand (operands[1], E_V2QImode)
26227 : && reg_or_const_vector_operand (operands[2], E_V2QImode)
26228 : &&
26229 : #line 4759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26230 : (reload_completed))
26231 : return gen_split_1129 (insn, operands);
26232 : if (!sse_reg_operand (operands[0], E_V2QImode)
26233 : || !sse_reg_operand (operands[1], E_V2QImode)
26234 : || !sse_reg_operand (operands[2], E_V2QImode)
26235 : || !
26236 : #line 4783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26237 : (TARGET_SSE2 && reload_completed))
26238 : return NULL;
26239 : return gen_split_1138 (insn, operands);
26240 :
26241 : case 2:
26242 : if (nonimmediate_gr_operand (operands[0], E_V2HImode)
26243 : && nonimmediate_gr_operand (operands[1], E_V2HImode)
26244 : && reg_or_const_vector_operand (operands[2], E_V2HImode)
26245 : &&
26246 : #line 4759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26247 : (reload_completed))
26248 : return gen_split_1132 (insn, operands);
26249 : if (!sse_reg_operand (operands[0], E_V2HImode)
26250 : || !sse_reg_operand (operands[1], E_V2HImode)
26251 : || !sse_reg_operand (operands[2], E_V2HImode)
26252 : || !
26253 : #line 4783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26254 : (TARGET_SSE2 && reload_completed))
26255 : return NULL;
26256 : return gen_split_1141 (insn, operands);
26257 :
26258 : case 3:
26259 : if (!
26260 : #line 2161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26261 : (TARGET_AVX512F && reload_completed))
26262 : return NULL;
26263 : return gen_split_1243 (insn, operands);
26264 :
26265 : case 4:
26266 : if (!
26267 : #line 2161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26268 : (TARGET_AVX512F && reload_completed))
26269 : return NULL;
26270 : return gen_split_1246 (insn, operands);
26271 :
26272 : case 5:
26273 : if (!(
26274 : #line 2161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26275 : (TARGET_AVX512F && reload_completed) &&
26276 : #line 2109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26277 : (TARGET_AVX512BW)))
26278 : return NULL;
26279 : return gen_split_1249 (insn, operands);
26280 :
26281 : case 6:
26282 : if (!(
26283 : #line 2161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26284 : (TARGET_AVX512F && reload_completed) &&
26285 : #line 2109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26286 : (TARGET_AVX512BW)))
26287 : return NULL;
26288 : return gen_split_1252 (insn, operands);
26289 :
26290 : default:
26291 : return NULL;
26292 : }
26293 :
26294 : default:
26295 : return NULL;
26296 : }
26297 :
26298 : case IOR:
26299 : switch (pattern1264 (x3))
26300 : {
26301 : case 0:
26302 : if (nonimmediate_gr_operand (operands[0], E_V4QImode)
26303 : && nonimmediate_gr_operand (operands[1], E_V4QImode)
26304 : && reg_or_const_vector_operand (operands[2], E_V4QImode)
26305 : &&
26306 : #line 4759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26307 : (reload_completed))
26308 : return gen_split_1127 (insn, operands);
26309 : if (!sse_reg_operand (operands[0], E_V4QImode)
26310 : || !sse_reg_operand (operands[1], E_V4QImode)
26311 : || !sse_reg_operand (operands[2], E_V4QImode)
26312 : || !
26313 : #line 4783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26314 : (TARGET_SSE2 && reload_completed))
26315 : return NULL;
26316 : return gen_split_1136 (insn, operands);
26317 :
26318 : case 1:
26319 : if (nonimmediate_gr_operand (operands[0], E_V2QImode)
26320 : && nonimmediate_gr_operand (operands[1], E_V2QImode)
26321 : && reg_or_const_vector_operand (operands[2], E_V2QImode)
26322 : &&
26323 : #line 4759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26324 : (reload_completed))
26325 : return gen_split_1130 (insn, operands);
26326 : if (!sse_reg_operand (operands[0], E_V2QImode)
26327 : || !sse_reg_operand (operands[1], E_V2QImode)
26328 : || !sse_reg_operand (operands[2], E_V2QImode)
26329 : || !
26330 : #line 4783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26331 : (TARGET_SSE2 && reload_completed))
26332 : return NULL;
26333 : return gen_split_1139 (insn, operands);
26334 :
26335 : case 2:
26336 : if (nonimmediate_gr_operand (operands[0], E_V2HImode)
26337 : && nonimmediate_gr_operand (operands[1], E_V2HImode)
26338 : && reg_or_const_vector_operand (operands[2], E_V2HImode)
26339 : &&
26340 : #line 4759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26341 : (reload_completed))
26342 : return gen_split_1133 (insn, operands);
26343 : if (!sse_reg_operand (operands[0], E_V2HImode)
26344 : || !sse_reg_operand (operands[1], E_V2HImode)
26345 : || !sse_reg_operand (operands[2], E_V2HImode)
26346 : || !
26347 : #line 4783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26348 : (TARGET_SSE2 && reload_completed))
26349 : return NULL;
26350 : return gen_split_1142 (insn, operands);
26351 :
26352 : case 3:
26353 : if (!
26354 : #line 2161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26355 : (TARGET_AVX512F && reload_completed))
26356 : return NULL;
26357 : return gen_split_1244 (insn, operands);
26358 :
26359 : case 4:
26360 : if (!
26361 : #line 2161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26362 : (TARGET_AVX512F && reload_completed))
26363 : return NULL;
26364 : return gen_split_1247 (insn, operands);
26365 :
26366 : case 5:
26367 : if (!(
26368 : #line 2161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26369 : (TARGET_AVX512F && reload_completed) &&
26370 : #line 2109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26371 : (TARGET_AVX512BW)))
26372 : return NULL;
26373 : return gen_split_1250 (insn, operands);
26374 :
26375 : case 6:
26376 : if (!(
26377 : #line 2161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26378 : (TARGET_AVX512F && reload_completed) &&
26379 : #line 2109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26380 : (TARGET_AVX512BW)))
26381 : return NULL;
26382 : return gen_split_1253 (insn, operands);
26383 :
26384 : default:
26385 : return NULL;
26386 : }
26387 :
26388 : case XOR:
26389 : switch (pattern1264 (x3))
26390 : {
26391 : case 0:
26392 : if (nonimmediate_gr_operand (operands[0], E_V4QImode)
26393 : && nonimmediate_gr_operand (operands[1], E_V4QImode)
26394 : && reg_or_const_vector_operand (operands[2], E_V4QImode)
26395 : &&
26396 : #line 4759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26397 : (reload_completed))
26398 : return gen_split_1128 (insn, operands);
26399 : if (!sse_reg_operand (operands[0], E_V4QImode)
26400 : || !sse_reg_operand (operands[1], E_V4QImode)
26401 : || !sse_reg_operand (operands[2], E_V4QImode)
26402 : || !
26403 : #line 4783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26404 : (TARGET_SSE2 && reload_completed))
26405 : return NULL;
26406 : return gen_split_1137 (insn, operands);
26407 :
26408 : case 1:
26409 : if (nonimmediate_gr_operand (operands[0], E_V2QImode)
26410 : && nonimmediate_gr_operand (operands[1], E_V2QImode)
26411 : && reg_or_const_vector_operand (operands[2], E_V2QImode)
26412 : &&
26413 : #line 4759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26414 : (reload_completed))
26415 : return gen_split_1131 (insn, operands);
26416 : if (!sse_reg_operand (operands[0], E_V2QImode)
26417 : || !sse_reg_operand (operands[1], E_V2QImode)
26418 : || !sse_reg_operand (operands[2], E_V2QImode)
26419 : || !
26420 : #line 4783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26421 : (TARGET_SSE2 && reload_completed))
26422 : return NULL;
26423 : return gen_split_1140 (insn, operands);
26424 :
26425 : case 2:
26426 : if (nonimmediate_gr_operand (operands[0], E_V2HImode)
26427 : && nonimmediate_gr_operand (operands[1], E_V2HImode)
26428 : && reg_or_const_vector_operand (operands[2], E_V2HImode)
26429 : &&
26430 : #line 4759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26431 : (reload_completed))
26432 : return gen_split_1134 (insn, operands);
26433 : if (!sse_reg_operand (operands[0], E_V2HImode)
26434 : || !sse_reg_operand (operands[1], E_V2HImode)
26435 : || !sse_reg_operand (operands[2], E_V2HImode)
26436 : || !
26437 : #line 4783 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26438 : (TARGET_SSE2 && reload_completed))
26439 : return NULL;
26440 : return gen_split_1143 (insn, operands);
26441 :
26442 : case 3:
26443 : if (!
26444 : #line 2161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26445 : (TARGET_AVX512F && reload_completed))
26446 : return NULL;
26447 : return gen_split_1245 (insn, operands);
26448 :
26449 : case 4:
26450 : if (!
26451 : #line 2161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26452 : (TARGET_AVX512F && reload_completed))
26453 : return NULL;
26454 : return gen_split_1248 (insn, operands);
26455 :
26456 : case 5:
26457 : if (!(
26458 : #line 2161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26459 : (TARGET_AVX512F && reload_completed) &&
26460 : #line 2109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26461 : (TARGET_AVX512BW)))
26462 : return NULL;
26463 : return gen_split_1251 (insn, operands);
26464 :
26465 : case 6:
26466 : if (!(
26467 : #line 2161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26468 : (TARGET_AVX512F && reload_completed) &&
26469 : #line 2109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26470 : (TARGET_AVX512BW)))
26471 : return NULL;
26472 : return gen_split_1254 (insn, operands);
26473 :
26474 : default:
26475 : return NULL;
26476 : }
26477 :
26478 : default:
26479 : return NULL;
26480 : }
26481 : }
26482 :
26483 : rtx_insn *
26484 : split_55 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26485 : {
26486 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26487 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
26488 : rtx x10;
26489 : rtx_insn *res ATTRIBUTE_UNUSED;
26490 : x2 = XEXP (x1, 0);
26491 : operands[0] = x2;
26492 : x3 = XEXP (x1, 1);
26493 : x4 = XEXP (x3, 0);
26494 : switch (GET_CODE (x4))
26495 : {
26496 : case VEC_SELECT:
26497 : if (GET_MODE (x4) != E_SImode)
26498 : return NULL;
26499 : x5 = XEXP (x4, 1);
26500 : if (GET_CODE (x5) != PARALLEL
26501 : || XVECLEN (x5, 0) != 1)
26502 : return NULL;
26503 : x6 = XVECEXP (x5, 0, 0);
26504 : if (GET_CODE (x6) != CONST_INT
26505 : || !register_operand (operands[0], E_DImode)
26506 : || GET_MODE (x3) != E_DImode)
26507 : return NULL;
26508 : x7 = XEXP (x4, 0);
26509 : operands[1] = x7;
26510 : if (XWINT (x6, 0) == 0L)
26511 : {
26512 : switch (GET_MODE (operands[1]))
26513 : {
26514 : case E_V2SImode:
26515 : if (register_operand (operands[1], E_V2SImode)
26516 : &&
26517 : #line 5822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26518 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
26519 : && TARGET_SSE2 && reload_completed))
26520 : return gen_split_1161 (insn, operands);
26521 : break;
26522 :
26523 : case E_V4SImode:
26524 : if (register_operand (operands[1], E_V4SImode)
26525 : &&
26526 : #line 21723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26527 : (TARGET_SSE2 && reload_completed))
26528 : return gen_split_3504 (insn, operands);
26529 : break;
26530 :
26531 : default:
26532 : break;
26533 : }
26534 : }
26535 : operands[2] = x6;
26536 : switch (GET_MODE (operands[1]))
26537 : {
26538 : case E_V2SImode:
26539 : if (!memory_operand (operands[1], E_V2SImode)
26540 : || !const_0_to_1_operand (operands[2], E_SImode)
26541 : || !(
26542 : #line 5892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26543 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_64BIT) &&
26544 : #line 5894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26545 : ( reload_completed)))
26546 : return NULL;
26547 : return gen_split_1163 (insn, operands);
26548 :
26549 : case E_V4SImode:
26550 : if (!memory_operand (operands[1], E_V4SImode)
26551 : || !const_0_to_3_operand (operands[2], E_SImode)
26552 : || !(
26553 : #line 21800 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26554 : (TARGET_64BIT && TARGET_SSE) &&
26555 : #line 21802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26556 : ( reload_completed)))
26557 : return NULL;
26558 : return gen_split_3505 (insn, operands);
26559 :
26560 : default:
26561 : return NULL;
26562 : }
26563 :
26564 : case NOT:
26565 : x7 = XEXP (x4, 0);
26566 : switch (GET_CODE (x7))
26567 : {
26568 : case REG:
26569 : operands[1] = x7;
26570 : if (!mask_reg_operand (operands[1], E_SImode)
26571 : || !mask_reg_operand (operands[0], E_DImode)
26572 : || GET_MODE (x3) != E_DImode
26573 : || GET_MODE (x4) != E_SImode
26574 : || !
26575 : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26576 : (TARGET_AVX512BW && reload_completed))
26577 : return NULL;
26578 : return gen_split_1263 (insn, operands);
26579 :
26580 : case SUBREG:
26581 : if (maybe_ne (SUBREG_BYTE (x7), 0)
26582 : || GET_MODE (x7) != E_HImode)
26583 : return NULL;
26584 : x8 = XEXP (x7, 0);
26585 : if (GET_CODE (x8) != UNSPEC
26586 : || XVECLEN (x8, 0) != 1
26587 : || XINT (x8, 1) != 50
26588 : || GET_MODE (x8) != E_SImode
26589 : || !register_operand (operands[0], E_SImode)
26590 : || GET_MODE (x3) != E_SImode
26591 : || GET_MODE (x4) != E_HImode)
26592 : return NULL;
26593 : x9 = XVECEXP (x8, 0, 0);
26594 : operands[1] = x9;
26595 : if (!register_operand (operands[1], E_V16QImode)
26596 : || !
26597 : #line 22671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26598 : (TARGET_SSE2))
26599 : return NULL;
26600 : return gen_split_3554 (insn, operands);
26601 :
26602 : default:
26603 : return NULL;
26604 : }
26605 :
26606 : case UNSPEC:
26607 : if (XVECLEN (x4, 0) != 1
26608 : || XINT (x4, 1) != 50
26609 : || GET_MODE (x4) != E_SImode
26610 : || !register_operand (operands[0], E_DImode)
26611 : || GET_MODE (x3) != E_DImode)
26612 : return NULL;
26613 : x10 = XVECEXP (x4, 0, 0);
26614 : switch (GET_CODE (x10))
26615 : {
26616 : case LT:
26617 : switch (pattern986 (x10))
26618 : {
26619 : case 0:
26620 : if (!((
26621 : #line 22519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26622 : (TARGET_64BIT && TARGET_SSE) &&
26623 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26624 : (TARGET_AVX)) &&
26625 : #line 22521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26626 : ( reload_completed)))
26627 : return NULL;
26628 : return gen_split_3526 (insn, operands);
26629 :
26630 : case 1:
26631 : if (!(
26632 : #line 22519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26633 : (TARGET_64BIT && TARGET_SSE) &&
26634 : #line 22521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26635 : ( reload_completed)))
26636 : return NULL;
26637 : return gen_split_3528 (insn, operands);
26638 :
26639 : case 2:
26640 : if (!((
26641 : #line 22519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26642 : (TARGET_64BIT && TARGET_SSE) &&
26643 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26644 : (TARGET_AVX)) &&
26645 : #line 22521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26646 : ( reload_completed)))
26647 : return NULL;
26648 : return gen_split_3530 (insn, operands);
26649 :
26650 : case 3:
26651 : if (!((
26652 : #line 22519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26653 : (TARGET_64BIT && TARGET_SSE) &&
26654 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26655 : (TARGET_SSE2)) &&
26656 : #line 22521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26657 : ( reload_completed)))
26658 : return NULL;
26659 : return gen_split_3532 (insn, operands);
26660 :
26661 : case 4:
26662 : if (!((
26663 : #line 22782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26664 : (TARGET_64BIT && TARGET_SSE2) &&
26665 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26666 : (TARGET_AVX2)) &&
26667 : #line 22784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26668 : ( 1)))
26669 : return NULL;
26670 : return gen_split_3563 (insn, operands);
26671 :
26672 : case 5:
26673 : if (!(
26674 : #line 22782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26675 : (TARGET_64BIT && TARGET_SSE2) &&
26676 : #line 22784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26677 : ( 1)))
26678 : return NULL;
26679 : return gen_split_3564 (insn, operands);
26680 :
26681 : default:
26682 : return NULL;
26683 : }
26684 :
26685 : case SUBREG:
26686 : switch (pattern1101 (x10))
26687 : {
26688 : case 0:
26689 : if (!((
26690 : #line 22544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26691 : (TARGET_64BIT && TARGET_SSE) &&
26692 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26693 : (TARGET_AVX)) &&
26694 : #line 22546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26695 : ( reload_completed)))
26696 : return NULL;
26697 : return gen_split_3534 (insn, operands);
26698 :
26699 : case 1:
26700 : if (!(
26701 : #line 22544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26702 : (TARGET_64BIT && TARGET_SSE) &&
26703 : #line 22546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26704 : ( reload_completed)))
26705 : return NULL;
26706 : return gen_split_3536 (insn, operands);
26707 :
26708 : case 2:
26709 : if (!((
26710 : #line 22544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26711 : (TARGET_64BIT && TARGET_SSE) &&
26712 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26713 : (TARGET_AVX)) &&
26714 : #line 22546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26715 : ( reload_completed)))
26716 : return NULL;
26717 : return gen_split_3538 (insn, operands);
26718 :
26719 : case 3:
26720 : if (!((
26721 : #line 22544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26722 : (TARGET_64BIT && TARGET_SSE) &&
26723 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26724 : (TARGET_SSE2)) &&
26725 : #line 22546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26726 : ( reload_completed)))
26727 : return NULL;
26728 : return gen_split_3540 (insn, operands);
26729 :
26730 : case 4:
26731 : if (!((
26732 : #line 22583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26733 : (TARGET_64BIT && TARGET_SSE) &&
26734 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26735 : (TARGET_AVX)) &&
26736 : #line 22585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26737 : ( reload_completed)))
26738 : return NULL;
26739 : return gen_split_3546 (insn, operands);
26740 :
26741 : case 5:
26742 : if (!(
26743 : #line 22583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26744 : (TARGET_64BIT && TARGET_SSE) &&
26745 : #line 22585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26746 : ( reload_completed)))
26747 : return NULL;
26748 : return gen_split_3548 (insn, operands);
26749 :
26750 : case 6:
26751 : if (!((
26752 : #line 22583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26753 : (TARGET_64BIT && TARGET_SSE) &&
26754 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26755 : (TARGET_AVX)) &&
26756 : #line 22585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26757 : ( reload_completed)))
26758 : return NULL;
26759 : return gen_split_3550 (insn, operands);
26760 :
26761 : case 7:
26762 : if (!((
26763 : #line 22583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26764 : (TARGET_64BIT && TARGET_SSE) &&
26765 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26766 : (TARGET_SSE2)) &&
26767 : #line 22585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26768 : ( reload_completed)))
26769 : return NULL;
26770 : return gen_split_3552 (insn, operands);
26771 :
26772 : default:
26773 : return NULL;
26774 : }
26775 :
26776 : case VEC_MERGE:
26777 : switch (pattern988 (x10))
26778 : {
26779 : case 0:
26780 : if (!((
26781 : #line 22811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26782 : (TARGET_64BIT && TARGET_SSE2) &&
26783 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26784 : (TARGET_AVX2)) &&
26785 : #line 22813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26786 : ( 1)))
26787 : return NULL;
26788 : return gen_split_3565 (insn, operands);
26789 :
26790 : case 1:
26791 : if (!(
26792 : #line 22811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26793 : (TARGET_64BIT && TARGET_SSE2) &&
26794 : #line 22813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26795 : ( 1)))
26796 : return NULL;
26797 : return gen_split_3566 (insn, operands);
26798 :
26799 : default:
26800 : return NULL;
26801 : }
26802 :
26803 : default:
26804 : return NULL;
26805 : }
26806 :
26807 : case SUBREG:
26808 : if (pattern118 (x3) != 0
26809 : || !(
26810 : #line 22657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26811 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
26812 : #line 22659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26813 : ( 1)))
26814 : return NULL;
26815 : return gen_split_3553 (insn, operands);
26816 :
26817 : default:
26818 : return NULL;
26819 : }
26820 : }
26821 :
26822 : rtx_insn *
26823 : split_62 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26824 : {
26825 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26826 : rtx x2, x3, x4;
26827 : rtx_insn *res ATTRIBUTE_UNUSED;
26828 : x2 = XEXP (x1, 1);
26829 : x3 = XEXP (x2, 0);
26830 : x4 = XEXP (x3, 0);
26831 : switch (GET_CODE (x4))
26832 : {
26833 : case REG:
26834 : case SUBREG:
26835 : case MEM:
26836 : case NOT:
26837 : switch (pattern537 (x2))
26838 : {
26839 : case 0:
26840 : if (!((
26841 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26842 : ((64 == 64 || TARGET_AVX512VL
26843 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26844 : && ix86_pre_reload_split ()
26845 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26846 : STRIP_UNARY (operands[4]))
26847 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26848 : STRIP_UNARY (operands[4]))
26849 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26850 : STRIP_UNARY (operands[3]))
26851 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26852 : STRIP_UNARY (operands[3])))) &&
26853 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26854 : (TARGET_AVX512F)) &&
26855 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26856 : ( 1)))
26857 : return NULL;
26858 : return gen_split_1757 (insn, operands);
26859 :
26860 : case 1:
26861 : if (!((
26862 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26863 : ((32 == 64 || TARGET_AVX512VL
26864 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26865 : && ix86_pre_reload_split ()
26866 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26867 : STRIP_UNARY (operands[4]))
26868 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26869 : STRIP_UNARY (operands[4]))
26870 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26871 : STRIP_UNARY (operands[3]))
26872 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26873 : STRIP_UNARY (operands[3])))) &&
26874 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26875 : (TARGET_AVX)) &&
26876 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26877 : ( 1)))
26878 : return NULL;
26879 : return gen_split_1784 (insn, operands);
26880 :
26881 : case 2:
26882 : if (!(
26883 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26884 : ((16 == 64 || TARGET_AVX512VL
26885 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26886 : && ix86_pre_reload_split ()
26887 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26888 : STRIP_UNARY (operands[4]))
26889 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26890 : STRIP_UNARY (operands[4]))
26891 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26892 : STRIP_UNARY (operands[3]))
26893 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26894 : STRIP_UNARY (operands[3])))) &&
26895 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26896 : ( 1)))
26897 : return NULL;
26898 : return gen_split_1811 (insn, operands);
26899 :
26900 : case 3:
26901 : if (!((
26902 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26903 : ((64 == 64 || TARGET_AVX512VL
26904 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26905 : && ix86_pre_reload_split ()
26906 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26907 : STRIP_UNARY (operands[4]))
26908 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26909 : STRIP_UNARY (operands[4]))
26910 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26911 : STRIP_UNARY (operands[3]))
26912 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26913 : STRIP_UNARY (operands[3])))) &&
26914 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26915 : (TARGET_AVX512F)) &&
26916 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26917 : ( 1)))
26918 : return NULL;
26919 : return gen_split_1838 (insn, operands);
26920 :
26921 : case 4:
26922 : if (!((
26923 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26924 : ((32 == 64 || TARGET_AVX512VL
26925 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26926 : && ix86_pre_reload_split ()
26927 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26928 : STRIP_UNARY (operands[4]))
26929 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26930 : STRIP_UNARY (operands[4]))
26931 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26932 : STRIP_UNARY (operands[3]))
26933 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26934 : STRIP_UNARY (operands[3])))) &&
26935 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26936 : (TARGET_AVX)) &&
26937 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26938 : ( 1)))
26939 : return NULL;
26940 : return gen_split_1865 (insn, operands);
26941 :
26942 : case 5:
26943 : if (!(
26944 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26945 : ((16 == 64 || TARGET_AVX512VL
26946 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26947 : && ix86_pre_reload_split ()
26948 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26949 : STRIP_UNARY (operands[4]))
26950 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26951 : STRIP_UNARY (operands[4]))
26952 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26953 : STRIP_UNARY (operands[3]))
26954 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26955 : STRIP_UNARY (operands[3])))) &&
26956 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26957 : ( 1)))
26958 : return NULL;
26959 : return gen_split_1892 (insn, operands);
26960 :
26961 : case 6:
26962 : if (!((
26963 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26964 : ((64 == 64 || TARGET_AVX512VL
26965 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26966 : && ix86_pre_reload_split ()
26967 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26968 : STRIP_UNARY (operands[4]))
26969 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26970 : STRIP_UNARY (operands[4]))
26971 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26972 : STRIP_UNARY (operands[3]))
26973 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26974 : STRIP_UNARY (operands[3])))) &&
26975 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26976 : (TARGET_AVX512F)) &&
26977 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26978 : ( 1)))
26979 : return NULL;
26980 : return gen_split_1919 (insn, operands);
26981 :
26982 : case 7:
26983 : if (!((
26984 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26985 : ((32 == 64 || TARGET_AVX512VL
26986 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26987 : && ix86_pre_reload_split ()
26988 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26989 : STRIP_UNARY (operands[4]))
26990 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26991 : STRIP_UNARY (operands[4]))
26992 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26993 : STRIP_UNARY (operands[3]))
26994 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26995 : STRIP_UNARY (operands[3])))) &&
26996 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26997 : (TARGET_AVX)) &&
26998 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26999 : ( 1)))
27000 : return NULL;
27001 : return gen_split_1946 (insn, operands);
27002 :
27003 : case 8:
27004 : if (!(
27005 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27006 : ((16 == 64 || TARGET_AVX512VL
27007 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27008 : && ix86_pre_reload_split ()
27009 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27010 : STRIP_UNARY (operands[4]))
27011 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27012 : STRIP_UNARY (operands[4]))
27013 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27014 : STRIP_UNARY (operands[3]))
27015 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27016 : STRIP_UNARY (operands[3])))) &&
27017 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27018 : ( 1)))
27019 : return NULL;
27020 : return gen_split_1973 (insn, operands);
27021 :
27022 : case 9:
27023 : if (!((
27024 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27025 : ((64 == 64 || TARGET_AVX512VL
27026 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27027 : && ix86_pre_reload_split ()
27028 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27029 : STRIP_UNARY (operands[4]))
27030 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27031 : STRIP_UNARY (operands[4]))
27032 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27033 : STRIP_UNARY (operands[3]))
27034 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27035 : STRIP_UNARY (operands[3])))) &&
27036 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27037 : (TARGET_AVX512F)) &&
27038 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27039 : ( 1)))
27040 : return NULL;
27041 : return gen_split_2000 (insn, operands);
27042 :
27043 : case 10:
27044 : if (!((
27045 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27046 : ((32 == 64 || TARGET_AVX512VL
27047 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27048 : && ix86_pre_reload_split ()
27049 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27050 : STRIP_UNARY (operands[4]))
27051 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27052 : STRIP_UNARY (operands[4]))
27053 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27054 : STRIP_UNARY (operands[3]))
27055 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27056 : STRIP_UNARY (operands[3])))) &&
27057 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27058 : (TARGET_AVX)) &&
27059 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27060 : ( 1)))
27061 : return NULL;
27062 : return gen_split_2027 (insn, operands);
27063 :
27064 : case 11:
27065 : if (!(
27066 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27067 : ((16 == 64 || TARGET_AVX512VL
27068 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27069 : && ix86_pre_reload_split ()
27070 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27071 : STRIP_UNARY (operands[4]))
27072 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27073 : STRIP_UNARY (operands[4]))
27074 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27075 : STRIP_UNARY (operands[3]))
27076 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27077 : STRIP_UNARY (operands[3])))) &&
27078 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27079 : ( 1)))
27080 : return NULL;
27081 : return gen_split_2054 (insn, operands);
27082 :
27083 : case 12:
27084 : if (!((
27085 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27086 : ((64 == 64 || TARGET_AVX512VL
27087 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27088 : && ix86_pre_reload_split ()
27089 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27090 : STRIP_UNARY (operands[4]))
27091 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27092 : STRIP_UNARY (operands[4]))
27093 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27094 : STRIP_UNARY (operands[3]))
27095 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27096 : STRIP_UNARY (operands[3])))) &&
27097 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27098 : (TARGET_AVX512F)) &&
27099 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27100 : ( 1)))
27101 : return NULL;
27102 : return gen_split_1760 (insn, operands);
27103 :
27104 : case 13:
27105 : if (!((
27106 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27107 : ((32 == 64 || TARGET_AVX512VL
27108 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27109 : && ix86_pre_reload_split ()
27110 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27111 : STRIP_UNARY (operands[4]))
27112 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27113 : STRIP_UNARY (operands[4]))
27114 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27115 : STRIP_UNARY (operands[3]))
27116 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27117 : STRIP_UNARY (operands[3])))) &&
27118 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27119 : (TARGET_AVX)) &&
27120 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27121 : ( 1)))
27122 : return NULL;
27123 : return gen_split_1787 (insn, operands);
27124 :
27125 : case 14:
27126 : if (!(
27127 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27128 : ((16 == 64 || TARGET_AVX512VL
27129 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27130 : && ix86_pre_reload_split ()
27131 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27132 : STRIP_UNARY (operands[4]))
27133 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27134 : STRIP_UNARY (operands[4]))
27135 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27136 : STRIP_UNARY (operands[3]))
27137 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27138 : STRIP_UNARY (operands[3])))) &&
27139 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27140 : ( 1)))
27141 : return NULL;
27142 : return gen_split_1814 (insn, operands);
27143 :
27144 : case 15:
27145 : if (!((
27146 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27147 : ((64 == 64 || TARGET_AVX512VL
27148 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27149 : && ix86_pre_reload_split ()
27150 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27151 : STRIP_UNARY (operands[4]))
27152 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27153 : STRIP_UNARY (operands[4]))
27154 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27155 : STRIP_UNARY (operands[3]))
27156 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27157 : STRIP_UNARY (operands[3])))) &&
27158 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27159 : (TARGET_AVX512F)) &&
27160 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27161 : ( 1)))
27162 : return NULL;
27163 : return gen_split_1841 (insn, operands);
27164 :
27165 : case 16:
27166 : if (!((
27167 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27168 : ((32 == 64 || TARGET_AVX512VL
27169 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27170 : && ix86_pre_reload_split ()
27171 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27172 : STRIP_UNARY (operands[4]))
27173 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27174 : STRIP_UNARY (operands[4]))
27175 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27176 : STRIP_UNARY (operands[3]))
27177 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27178 : STRIP_UNARY (operands[3])))) &&
27179 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27180 : (TARGET_AVX)) &&
27181 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27182 : ( 1)))
27183 : return NULL;
27184 : return gen_split_1868 (insn, operands);
27185 :
27186 : case 17:
27187 : if (!(
27188 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27189 : ((16 == 64 || TARGET_AVX512VL
27190 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27191 : && ix86_pre_reload_split ()
27192 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27193 : STRIP_UNARY (operands[4]))
27194 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27195 : STRIP_UNARY (operands[4]))
27196 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27197 : STRIP_UNARY (operands[3]))
27198 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27199 : STRIP_UNARY (operands[3])))) &&
27200 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27201 : ( 1)))
27202 : return NULL;
27203 : return gen_split_1895 (insn, operands);
27204 :
27205 : case 18:
27206 : if (!((
27207 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27208 : ((64 == 64 || TARGET_AVX512VL
27209 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27210 : && ix86_pre_reload_split ()
27211 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27212 : STRIP_UNARY (operands[4]))
27213 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27214 : STRIP_UNARY (operands[4]))
27215 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27216 : STRIP_UNARY (operands[3]))
27217 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27218 : STRIP_UNARY (operands[3])))) &&
27219 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27220 : (TARGET_AVX512F)) &&
27221 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27222 : ( 1)))
27223 : return NULL;
27224 : return gen_split_1922 (insn, operands);
27225 :
27226 : case 19:
27227 : if (!((
27228 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27229 : ((32 == 64 || TARGET_AVX512VL
27230 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27231 : && ix86_pre_reload_split ()
27232 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27233 : STRIP_UNARY (operands[4]))
27234 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27235 : STRIP_UNARY (operands[4]))
27236 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27237 : STRIP_UNARY (operands[3]))
27238 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27239 : STRIP_UNARY (operands[3])))) &&
27240 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27241 : (TARGET_AVX)) &&
27242 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27243 : ( 1)))
27244 : return NULL;
27245 : return gen_split_1949 (insn, operands);
27246 :
27247 : case 20:
27248 : if (!(
27249 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27250 : ((16 == 64 || TARGET_AVX512VL
27251 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27252 : && ix86_pre_reload_split ()
27253 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27254 : STRIP_UNARY (operands[4]))
27255 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27256 : STRIP_UNARY (operands[4]))
27257 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27258 : STRIP_UNARY (operands[3]))
27259 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27260 : STRIP_UNARY (operands[3])))) &&
27261 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27262 : ( 1)))
27263 : return NULL;
27264 : return gen_split_1976 (insn, operands);
27265 :
27266 : case 21:
27267 : if (!((
27268 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27269 : ((64 == 64 || TARGET_AVX512VL
27270 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27271 : && ix86_pre_reload_split ()
27272 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27273 : STRIP_UNARY (operands[4]))
27274 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27275 : STRIP_UNARY (operands[4]))
27276 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27277 : STRIP_UNARY (operands[3]))
27278 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27279 : STRIP_UNARY (operands[3])))) &&
27280 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27281 : (TARGET_AVX512F)) &&
27282 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27283 : ( 1)))
27284 : return NULL;
27285 : return gen_split_2003 (insn, operands);
27286 :
27287 : case 22:
27288 : if (!((
27289 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27290 : ((32 == 64 || TARGET_AVX512VL
27291 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27292 : && ix86_pre_reload_split ()
27293 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27294 : STRIP_UNARY (operands[4]))
27295 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27296 : STRIP_UNARY (operands[4]))
27297 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27298 : STRIP_UNARY (operands[3]))
27299 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27300 : STRIP_UNARY (operands[3])))) &&
27301 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27302 : (TARGET_AVX)) &&
27303 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27304 : ( 1)))
27305 : return NULL;
27306 : return gen_split_2030 (insn, operands);
27307 :
27308 : case 23:
27309 : if (!(
27310 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27311 : ((16 == 64 || TARGET_AVX512VL
27312 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27313 : && ix86_pre_reload_split ()
27314 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27315 : STRIP_UNARY (operands[4]))
27316 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27317 : STRIP_UNARY (operands[4]))
27318 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27319 : STRIP_UNARY (operands[3]))
27320 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27321 : STRIP_UNARY (operands[3])))) &&
27322 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27323 : ( 1)))
27324 : return NULL;
27325 : return gen_split_2057 (insn, operands);
27326 :
27327 : case 24:
27328 : if (!((
27329 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27330 : ((64 == 64 || TARGET_AVX512VL
27331 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27332 : && ix86_pre_reload_split ()
27333 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27334 : STRIP_UNARY (operands[4]))
27335 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27336 : STRIP_UNARY (operands[4]))
27337 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27338 : STRIP_UNARY (operands[3]))
27339 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27340 : STRIP_UNARY (operands[3])))) &&
27341 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27342 : (TARGET_AVX512F)) &&
27343 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27344 : ( 1)))
27345 : return NULL;
27346 : return gen_split_1763 (insn, operands);
27347 :
27348 : case 25:
27349 : if (!((
27350 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27351 : ((32 == 64 || TARGET_AVX512VL
27352 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27353 : && ix86_pre_reload_split ()
27354 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27355 : STRIP_UNARY (operands[4]))
27356 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27357 : STRIP_UNARY (operands[4]))
27358 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27359 : STRIP_UNARY (operands[3]))
27360 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27361 : STRIP_UNARY (operands[3])))) &&
27362 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27363 : (TARGET_AVX)) &&
27364 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27365 : ( 1)))
27366 : return NULL;
27367 : return gen_split_1790 (insn, operands);
27368 :
27369 : case 26:
27370 : if (!(
27371 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27372 : ((16 == 64 || TARGET_AVX512VL
27373 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27374 : && ix86_pre_reload_split ()
27375 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27376 : STRIP_UNARY (operands[4]))
27377 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27378 : STRIP_UNARY (operands[4]))
27379 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27380 : STRIP_UNARY (operands[3]))
27381 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27382 : STRIP_UNARY (operands[3])))) &&
27383 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27384 : ( 1)))
27385 : return NULL;
27386 : return gen_split_1817 (insn, operands);
27387 :
27388 : case 27:
27389 : if (!((
27390 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27391 : ((64 == 64 || TARGET_AVX512VL
27392 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27393 : && ix86_pre_reload_split ()
27394 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27395 : STRIP_UNARY (operands[4]))
27396 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27397 : STRIP_UNARY (operands[4]))
27398 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27399 : STRIP_UNARY (operands[3]))
27400 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27401 : STRIP_UNARY (operands[3])))) &&
27402 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27403 : (TARGET_AVX512F)) &&
27404 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27405 : ( 1)))
27406 : return NULL;
27407 : return gen_split_1844 (insn, operands);
27408 :
27409 : case 28:
27410 : if (!((
27411 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27412 : ((32 == 64 || TARGET_AVX512VL
27413 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27414 : && ix86_pre_reload_split ()
27415 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27416 : STRIP_UNARY (operands[4]))
27417 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27418 : STRIP_UNARY (operands[4]))
27419 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27420 : STRIP_UNARY (operands[3]))
27421 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27422 : STRIP_UNARY (operands[3])))) &&
27423 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27424 : (TARGET_AVX)) &&
27425 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27426 : ( 1)))
27427 : return NULL;
27428 : return gen_split_1871 (insn, operands);
27429 :
27430 : case 29:
27431 : if (!(
27432 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27433 : ((16 == 64 || TARGET_AVX512VL
27434 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27435 : && ix86_pre_reload_split ()
27436 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27437 : STRIP_UNARY (operands[4]))
27438 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27439 : STRIP_UNARY (operands[4]))
27440 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27441 : STRIP_UNARY (operands[3]))
27442 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27443 : STRIP_UNARY (operands[3])))) &&
27444 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27445 : ( 1)))
27446 : return NULL;
27447 : return gen_split_1898 (insn, operands);
27448 :
27449 : case 30:
27450 : if (!((
27451 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27452 : ((64 == 64 || TARGET_AVX512VL
27453 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27454 : && ix86_pre_reload_split ()
27455 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27456 : STRIP_UNARY (operands[4]))
27457 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27458 : STRIP_UNARY (operands[4]))
27459 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27460 : STRIP_UNARY (operands[3]))
27461 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27462 : STRIP_UNARY (operands[3])))) &&
27463 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27464 : (TARGET_AVX512F)) &&
27465 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27466 : ( 1)))
27467 : return NULL;
27468 : return gen_split_1925 (insn, operands);
27469 :
27470 : case 31:
27471 : if (!((
27472 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27473 : ((32 == 64 || TARGET_AVX512VL
27474 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27475 : && ix86_pre_reload_split ()
27476 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27477 : STRIP_UNARY (operands[4]))
27478 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27479 : STRIP_UNARY (operands[4]))
27480 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27481 : STRIP_UNARY (operands[3]))
27482 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27483 : STRIP_UNARY (operands[3])))) &&
27484 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27485 : (TARGET_AVX)) &&
27486 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27487 : ( 1)))
27488 : return NULL;
27489 : return gen_split_1952 (insn, operands);
27490 :
27491 : case 32:
27492 : if (!(
27493 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27494 : ((16 == 64 || TARGET_AVX512VL
27495 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27496 : && ix86_pre_reload_split ()
27497 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27498 : STRIP_UNARY (operands[4]))
27499 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27500 : STRIP_UNARY (operands[4]))
27501 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27502 : STRIP_UNARY (operands[3]))
27503 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27504 : STRIP_UNARY (operands[3])))) &&
27505 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27506 : ( 1)))
27507 : return NULL;
27508 : return gen_split_1979 (insn, operands);
27509 :
27510 : case 33:
27511 : if (!((
27512 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27513 : ((64 == 64 || TARGET_AVX512VL
27514 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27515 : && ix86_pre_reload_split ()
27516 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27517 : STRIP_UNARY (operands[4]))
27518 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27519 : STRIP_UNARY (operands[4]))
27520 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27521 : STRIP_UNARY (operands[3]))
27522 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27523 : STRIP_UNARY (operands[3])))) &&
27524 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27525 : (TARGET_AVX512F)) &&
27526 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27527 : ( 1)))
27528 : return NULL;
27529 : return gen_split_2006 (insn, operands);
27530 :
27531 : case 34:
27532 : if (!((
27533 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27534 : ((32 == 64 || TARGET_AVX512VL
27535 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27536 : && ix86_pre_reload_split ()
27537 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27538 : STRIP_UNARY (operands[4]))
27539 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27540 : STRIP_UNARY (operands[4]))
27541 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27542 : STRIP_UNARY (operands[3]))
27543 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27544 : STRIP_UNARY (operands[3])))) &&
27545 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27546 : (TARGET_AVX)) &&
27547 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27548 : ( 1)))
27549 : return NULL;
27550 : return gen_split_2033 (insn, operands);
27551 :
27552 : case 35:
27553 : if (!(
27554 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27555 : ((16 == 64 || TARGET_AVX512VL
27556 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27557 : && ix86_pre_reload_split ()
27558 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27559 : STRIP_UNARY (operands[4]))
27560 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27561 : STRIP_UNARY (operands[4]))
27562 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27563 : STRIP_UNARY (operands[3]))
27564 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27565 : STRIP_UNARY (operands[3])))) &&
27566 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27567 : ( 1)))
27568 : return NULL;
27569 : return gen_split_2060 (insn, operands);
27570 :
27571 : case 36:
27572 : if (!((
27573 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27574 : ((64 == 64 || TARGET_AVX512VL
27575 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27576 : && ix86_pre_reload_split ()) &&
27577 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27578 : (TARGET_AVX512F)) &&
27579 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27580 : ( 1)))
27581 : return NULL;
27582 : return gen_split_3041 (insn, operands);
27583 :
27584 : case 37:
27585 : if (!((
27586 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27587 : ((32 == 64 || TARGET_AVX512VL
27588 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27589 : && ix86_pre_reload_split ()) &&
27590 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27591 : (TARGET_AVX)) &&
27592 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27593 : ( 1)))
27594 : return NULL;
27595 : return gen_split_3050 (insn, operands);
27596 :
27597 : case 38:
27598 : if (!(
27599 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27600 : ((16 == 64 || TARGET_AVX512VL
27601 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27602 : && ix86_pre_reload_split ()) &&
27603 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27604 : ( 1)))
27605 : return NULL;
27606 : return gen_split_3059 (insn, operands);
27607 :
27608 : case 39:
27609 : if (!((
27610 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27611 : ((64 == 64 || TARGET_AVX512VL
27612 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27613 : && ix86_pre_reload_split ()) &&
27614 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27615 : (TARGET_AVX512F)) &&
27616 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27617 : ( 1)))
27618 : return NULL;
27619 : return gen_split_3068 (insn, operands);
27620 :
27621 : case 40:
27622 : if (!((
27623 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27624 : ((32 == 64 || TARGET_AVX512VL
27625 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27626 : && ix86_pre_reload_split ()) &&
27627 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27628 : (TARGET_AVX)) &&
27629 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27630 : ( 1)))
27631 : return NULL;
27632 : return gen_split_3077 (insn, operands);
27633 :
27634 : case 41:
27635 : if (!(
27636 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27637 : ((16 == 64 || TARGET_AVX512VL
27638 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27639 : && ix86_pre_reload_split ()) &&
27640 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27641 : ( 1)))
27642 : return NULL;
27643 : return gen_split_3086 (insn, operands);
27644 :
27645 : case 42:
27646 : if (!((
27647 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27648 : ((64 == 64 || TARGET_AVX512VL
27649 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27650 : && ix86_pre_reload_split ()) &&
27651 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27652 : (TARGET_AVX512F)) &&
27653 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27654 : ( 1)))
27655 : return NULL;
27656 : return gen_split_3095 (insn, operands);
27657 :
27658 : case 43:
27659 : if (!((
27660 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27661 : ((32 == 64 || TARGET_AVX512VL
27662 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27663 : && ix86_pre_reload_split ()) &&
27664 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27665 : (TARGET_AVX)) &&
27666 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27667 : ( 1)))
27668 : return NULL;
27669 : return gen_split_3104 (insn, operands);
27670 :
27671 : case 44:
27672 : if (!(
27673 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27674 : ((16 == 64 || TARGET_AVX512VL
27675 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27676 : && ix86_pre_reload_split ()) &&
27677 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27678 : ( 1)))
27679 : return NULL;
27680 : return gen_split_3113 (insn, operands);
27681 :
27682 : case 45:
27683 : if (!((
27684 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27685 : ((64 == 64 || TARGET_AVX512VL
27686 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27687 : && ix86_pre_reload_split ()) &&
27688 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27689 : (TARGET_AVX512F)) &&
27690 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27691 : ( 1)))
27692 : return NULL;
27693 : return gen_split_3122 (insn, operands);
27694 :
27695 : case 46:
27696 : if (!((
27697 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27698 : ((32 == 64 || TARGET_AVX512VL
27699 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27700 : && ix86_pre_reload_split ()) &&
27701 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27702 : (TARGET_AVX)) &&
27703 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27704 : ( 1)))
27705 : return NULL;
27706 : return gen_split_3131 (insn, operands);
27707 :
27708 : case 47:
27709 : if (!(
27710 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27711 : ((16 == 64 || TARGET_AVX512VL
27712 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27713 : && ix86_pre_reload_split ()) &&
27714 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27715 : ( 1)))
27716 : return NULL;
27717 : return gen_split_3140 (insn, operands);
27718 :
27719 : default:
27720 : return NULL;
27721 : }
27722 :
27723 : case AND:
27724 : switch (pattern539 (x2))
27725 : {
27726 : case 0:
27727 : if (!((
27728 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27729 : ((64 == 64 || TARGET_AVX512VL
27730 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27731 : && ix86_pre_reload_split ()
27732 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27733 : STRIP_UNARY (operands[4]))
27734 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27735 : STRIP_UNARY (operands[4]))
27736 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27737 : STRIP_UNARY (operands[3]))
27738 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27739 : STRIP_UNARY (operands[3])))) &&
27740 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27741 : (TARGET_AVX512F)) &&
27742 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27743 : ( 1)))
27744 : return NULL;
27745 : return gen_split_2405 (insn, operands);
27746 :
27747 : case 1:
27748 : if (!((
27749 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27750 : ((32 == 64 || TARGET_AVX512VL
27751 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27752 : && ix86_pre_reload_split ()
27753 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27754 : STRIP_UNARY (operands[4]))
27755 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27756 : STRIP_UNARY (operands[4]))
27757 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27758 : STRIP_UNARY (operands[3]))
27759 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27760 : STRIP_UNARY (operands[3])))) &&
27761 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27762 : (TARGET_AVX)) &&
27763 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27764 : ( 1)))
27765 : return NULL;
27766 : return gen_split_2432 (insn, operands);
27767 :
27768 : case 2:
27769 : if (!(
27770 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27771 : ((16 == 64 || TARGET_AVX512VL
27772 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27773 : && ix86_pre_reload_split ()
27774 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27775 : STRIP_UNARY (operands[4]))
27776 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27777 : STRIP_UNARY (operands[4]))
27778 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27779 : STRIP_UNARY (operands[3]))
27780 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27781 : STRIP_UNARY (operands[3])))) &&
27782 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27783 : ( 1)))
27784 : return NULL;
27785 : return gen_split_2459 (insn, operands);
27786 :
27787 : case 3:
27788 : if (!((
27789 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27790 : ((64 == 64 || TARGET_AVX512VL
27791 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27792 : && ix86_pre_reload_split ()
27793 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27794 : STRIP_UNARY (operands[4]))
27795 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27796 : STRIP_UNARY (operands[4]))
27797 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27798 : STRIP_UNARY (operands[3]))
27799 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27800 : STRIP_UNARY (operands[3])))) &&
27801 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27802 : (TARGET_AVX512F)) &&
27803 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27804 : ( 1)))
27805 : return NULL;
27806 : return gen_split_2486 (insn, operands);
27807 :
27808 : case 4:
27809 : if (!((
27810 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27811 : ((32 == 64 || TARGET_AVX512VL
27812 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27813 : && ix86_pre_reload_split ()
27814 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27815 : STRIP_UNARY (operands[4]))
27816 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27817 : STRIP_UNARY (operands[4]))
27818 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27819 : STRIP_UNARY (operands[3]))
27820 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27821 : STRIP_UNARY (operands[3])))) &&
27822 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27823 : (TARGET_AVX)) &&
27824 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27825 : ( 1)))
27826 : return NULL;
27827 : return gen_split_2513 (insn, operands);
27828 :
27829 : case 5:
27830 : if (!(
27831 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27832 : ((16 == 64 || TARGET_AVX512VL
27833 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27834 : && ix86_pre_reload_split ()
27835 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27836 : STRIP_UNARY (operands[4]))
27837 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27838 : STRIP_UNARY (operands[4]))
27839 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27840 : STRIP_UNARY (operands[3]))
27841 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27842 : STRIP_UNARY (operands[3])))) &&
27843 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27844 : ( 1)))
27845 : return NULL;
27846 : return gen_split_2540 (insn, operands);
27847 :
27848 : case 6:
27849 : if (!((
27850 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27851 : ((64 == 64 || TARGET_AVX512VL
27852 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27853 : && ix86_pre_reload_split ()
27854 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27855 : STRIP_UNARY (operands[4]))
27856 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27857 : STRIP_UNARY (operands[4]))
27858 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27859 : STRIP_UNARY (operands[3]))
27860 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27861 : STRIP_UNARY (operands[3])))) &&
27862 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27863 : (TARGET_AVX512F)) &&
27864 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27865 : ( 1)))
27866 : return NULL;
27867 : return gen_split_2567 (insn, operands);
27868 :
27869 : case 7:
27870 : if (!((
27871 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27872 : ((32 == 64 || TARGET_AVX512VL
27873 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27874 : && ix86_pre_reload_split ()
27875 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27876 : STRIP_UNARY (operands[4]))
27877 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27878 : STRIP_UNARY (operands[4]))
27879 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27880 : STRIP_UNARY (operands[3]))
27881 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27882 : STRIP_UNARY (operands[3])))) &&
27883 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27884 : (TARGET_AVX)) &&
27885 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27886 : ( 1)))
27887 : return NULL;
27888 : return gen_split_2594 (insn, operands);
27889 :
27890 : case 8:
27891 : if (!(
27892 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27893 : ((16 == 64 || TARGET_AVX512VL
27894 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27895 : && ix86_pre_reload_split ()
27896 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27897 : STRIP_UNARY (operands[4]))
27898 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27899 : STRIP_UNARY (operands[4]))
27900 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27901 : STRIP_UNARY (operands[3]))
27902 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27903 : STRIP_UNARY (operands[3])))) &&
27904 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27905 : ( 1)))
27906 : return NULL;
27907 : return gen_split_2621 (insn, operands);
27908 :
27909 : case 9:
27910 : if (!((
27911 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27912 : ((64 == 64 || TARGET_AVX512VL
27913 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27914 : && ix86_pre_reload_split ()
27915 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27916 : STRIP_UNARY (operands[4]))
27917 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27918 : STRIP_UNARY (operands[4]))
27919 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27920 : STRIP_UNARY (operands[3]))
27921 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27922 : STRIP_UNARY (operands[3])))) &&
27923 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27924 : (TARGET_AVX512F)) &&
27925 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27926 : ( 1)))
27927 : return NULL;
27928 : return gen_split_2648 (insn, operands);
27929 :
27930 : case 10:
27931 : if (!((
27932 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27933 : ((32 == 64 || TARGET_AVX512VL
27934 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27935 : && ix86_pre_reload_split ()
27936 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27937 : STRIP_UNARY (operands[4]))
27938 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27939 : STRIP_UNARY (operands[4]))
27940 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27941 : STRIP_UNARY (operands[3]))
27942 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27943 : STRIP_UNARY (operands[3])))) &&
27944 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27945 : (TARGET_AVX)) &&
27946 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27947 : ( 1)))
27948 : return NULL;
27949 : return gen_split_2675 (insn, operands);
27950 :
27951 : case 11:
27952 : if (!(
27953 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27954 : ((16 == 64 || TARGET_AVX512VL
27955 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27956 : && ix86_pre_reload_split ()
27957 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27958 : STRIP_UNARY (operands[4]))
27959 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27960 : STRIP_UNARY (operands[4]))
27961 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27962 : STRIP_UNARY (operands[3]))
27963 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27964 : STRIP_UNARY (operands[3])))) &&
27965 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27966 : ( 1)))
27967 : return NULL;
27968 : return gen_split_2702 (insn, operands);
27969 :
27970 : default:
27971 : return NULL;
27972 : }
27973 :
27974 : case IOR:
27975 : switch (pattern539 (x2))
27976 : {
27977 : case 0:
27978 : if (!((
27979 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27980 : ((64 == 64 || TARGET_AVX512VL
27981 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27982 : && ix86_pre_reload_split ()
27983 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27984 : STRIP_UNARY (operands[4]))
27985 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27986 : STRIP_UNARY (operands[4]))
27987 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27988 : STRIP_UNARY (operands[3]))
27989 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27990 : STRIP_UNARY (operands[3])))) &&
27991 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27992 : (TARGET_AVX512F)) &&
27993 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27994 : ( 1)))
27995 : return NULL;
27996 : return gen_split_2408 (insn, operands);
27997 :
27998 : case 1:
27999 : if (!((
28000 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28001 : ((32 == 64 || TARGET_AVX512VL
28002 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28003 : && ix86_pre_reload_split ()
28004 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28005 : STRIP_UNARY (operands[4]))
28006 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28007 : STRIP_UNARY (operands[4]))
28008 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28009 : STRIP_UNARY (operands[3]))
28010 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28011 : STRIP_UNARY (operands[3])))) &&
28012 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28013 : (TARGET_AVX)) &&
28014 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28015 : ( 1)))
28016 : return NULL;
28017 : return gen_split_2435 (insn, operands);
28018 :
28019 : case 2:
28020 : if (!(
28021 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28022 : ((16 == 64 || TARGET_AVX512VL
28023 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28024 : && ix86_pre_reload_split ()
28025 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28026 : STRIP_UNARY (operands[4]))
28027 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28028 : STRIP_UNARY (operands[4]))
28029 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28030 : STRIP_UNARY (operands[3]))
28031 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28032 : STRIP_UNARY (operands[3])))) &&
28033 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28034 : ( 1)))
28035 : return NULL;
28036 : return gen_split_2462 (insn, operands);
28037 :
28038 : case 3:
28039 : if (!((
28040 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28041 : ((64 == 64 || TARGET_AVX512VL
28042 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28043 : && ix86_pre_reload_split ()
28044 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28045 : STRIP_UNARY (operands[4]))
28046 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28047 : STRIP_UNARY (operands[4]))
28048 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28049 : STRIP_UNARY (operands[3]))
28050 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28051 : STRIP_UNARY (operands[3])))) &&
28052 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28053 : (TARGET_AVX512F)) &&
28054 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28055 : ( 1)))
28056 : return NULL;
28057 : return gen_split_2489 (insn, operands);
28058 :
28059 : case 4:
28060 : if (!((
28061 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28062 : ((32 == 64 || TARGET_AVX512VL
28063 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28064 : && ix86_pre_reload_split ()
28065 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28066 : STRIP_UNARY (operands[4]))
28067 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28068 : STRIP_UNARY (operands[4]))
28069 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28070 : STRIP_UNARY (operands[3]))
28071 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28072 : STRIP_UNARY (operands[3])))) &&
28073 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28074 : (TARGET_AVX)) &&
28075 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28076 : ( 1)))
28077 : return NULL;
28078 : return gen_split_2516 (insn, operands);
28079 :
28080 : case 5:
28081 : if (!(
28082 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28083 : ((16 == 64 || TARGET_AVX512VL
28084 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28085 : && ix86_pre_reload_split ()
28086 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28087 : STRIP_UNARY (operands[4]))
28088 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28089 : STRIP_UNARY (operands[4]))
28090 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28091 : STRIP_UNARY (operands[3]))
28092 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28093 : STRIP_UNARY (operands[3])))) &&
28094 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28095 : ( 1)))
28096 : return NULL;
28097 : return gen_split_2543 (insn, operands);
28098 :
28099 : case 6:
28100 : if (!((
28101 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28102 : ((64 == 64 || TARGET_AVX512VL
28103 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28104 : && ix86_pre_reload_split ()
28105 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28106 : STRIP_UNARY (operands[4]))
28107 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28108 : STRIP_UNARY (operands[4]))
28109 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28110 : STRIP_UNARY (operands[3]))
28111 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28112 : STRIP_UNARY (operands[3])))) &&
28113 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28114 : (TARGET_AVX512F)) &&
28115 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28116 : ( 1)))
28117 : return NULL;
28118 : return gen_split_2570 (insn, operands);
28119 :
28120 : case 7:
28121 : if (!((
28122 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28123 : ((32 == 64 || TARGET_AVX512VL
28124 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28125 : && ix86_pre_reload_split ()
28126 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28127 : STRIP_UNARY (operands[4]))
28128 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28129 : STRIP_UNARY (operands[4]))
28130 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28131 : STRIP_UNARY (operands[3]))
28132 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28133 : STRIP_UNARY (operands[3])))) &&
28134 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28135 : (TARGET_AVX)) &&
28136 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28137 : ( 1)))
28138 : return NULL;
28139 : return gen_split_2597 (insn, operands);
28140 :
28141 : case 8:
28142 : if (!(
28143 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28144 : ((16 == 64 || TARGET_AVX512VL
28145 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28146 : && ix86_pre_reload_split ()
28147 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28148 : STRIP_UNARY (operands[4]))
28149 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28150 : STRIP_UNARY (operands[4]))
28151 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28152 : STRIP_UNARY (operands[3]))
28153 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28154 : STRIP_UNARY (operands[3])))) &&
28155 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28156 : ( 1)))
28157 : return NULL;
28158 : return gen_split_2624 (insn, operands);
28159 :
28160 : case 9:
28161 : if (!((
28162 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28163 : ((64 == 64 || TARGET_AVX512VL
28164 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28165 : && ix86_pre_reload_split ()
28166 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28167 : STRIP_UNARY (operands[4]))
28168 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28169 : STRIP_UNARY (operands[4]))
28170 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28171 : STRIP_UNARY (operands[3]))
28172 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28173 : STRIP_UNARY (operands[3])))) &&
28174 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28175 : (TARGET_AVX512F)) &&
28176 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28177 : ( 1)))
28178 : return NULL;
28179 : return gen_split_2651 (insn, operands);
28180 :
28181 : case 10:
28182 : if (!((
28183 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28184 : ((32 == 64 || TARGET_AVX512VL
28185 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28186 : && ix86_pre_reload_split ()
28187 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28188 : STRIP_UNARY (operands[4]))
28189 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28190 : STRIP_UNARY (operands[4]))
28191 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28192 : STRIP_UNARY (operands[3]))
28193 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28194 : STRIP_UNARY (operands[3])))) &&
28195 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28196 : (TARGET_AVX)) &&
28197 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28198 : ( 1)))
28199 : return NULL;
28200 : return gen_split_2678 (insn, operands);
28201 :
28202 : case 11:
28203 : if (!(
28204 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28205 : ((16 == 64 || TARGET_AVX512VL
28206 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28207 : && ix86_pre_reload_split ()
28208 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28209 : STRIP_UNARY (operands[4]))
28210 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28211 : STRIP_UNARY (operands[4]))
28212 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28213 : STRIP_UNARY (operands[3]))
28214 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28215 : STRIP_UNARY (operands[3])))) &&
28216 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28217 : ( 1)))
28218 : return NULL;
28219 : return gen_split_2705 (insn, operands);
28220 :
28221 : default:
28222 : return NULL;
28223 : }
28224 :
28225 : case XOR:
28226 : switch (pattern539 (x2))
28227 : {
28228 : case 0:
28229 : if (!((
28230 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28231 : ((64 == 64 || TARGET_AVX512VL
28232 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28233 : && ix86_pre_reload_split ()
28234 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28235 : STRIP_UNARY (operands[4]))
28236 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28237 : STRIP_UNARY (operands[4]))
28238 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28239 : STRIP_UNARY (operands[3]))
28240 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28241 : STRIP_UNARY (operands[3])))) &&
28242 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28243 : (TARGET_AVX512F)) &&
28244 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28245 : ( 1)))
28246 : return NULL;
28247 : return gen_split_2411 (insn, operands);
28248 :
28249 : case 1:
28250 : if (!((
28251 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28252 : ((32 == 64 || TARGET_AVX512VL
28253 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28254 : && ix86_pre_reload_split ()
28255 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28256 : STRIP_UNARY (operands[4]))
28257 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28258 : STRIP_UNARY (operands[4]))
28259 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28260 : STRIP_UNARY (operands[3]))
28261 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28262 : STRIP_UNARY (operands[3])))) &&
28263 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28264 : (TARGET_AVX)) &&
28265 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28266 : ( 1)))
28267 : return NULL;
28268 : return gen_split_2438 (insn, operands);
28269 :
28270 : case 2:
28271 : if (!(
28272 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28273 : ((16 == 64 || TARGET_AVX512VL
28274 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28275 : && ix86_pre_reload_split ()
28276 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28277 : STRIP_UNARY (operands[4]))
28278 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28279 : STRIP_UNARY (operands[4]))
28280 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28281 : STRIP_UNARY (operands[3]))
28282 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28283 : STRIP_UNARY (operands[3])))) &&
28284 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28285 : ( 1)))
28286 : return NULL;
28287 : return gen_split_2465 (insn, operands);
28288 :
28289 : case 3:
28290 : if (!((
28291 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28292 : ((64 == 64 || TARGET_AVX512VL
28293 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28294 : && ix86_pre_reload_split ()
28295 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28296 : STRIP_UNARY (operands[4]))
28297 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28298 : STRIP_UNARY (operands[4]))
28299 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28300 : STRIP_UNARY (operands[3]))
28301 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28302 : STRIP_UNARY (operands[3])))) &&
28303 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28304 : (TARGET_AVX512F)) &&
28305 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28306 : ( 1)))
28307 : return NULL;
28308 : return gen_split_2492 (insn, operands);
28309 :
28310 : case 4:
28311 : if (!((
28312 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28313 : ((32 == 64 || TARGET_AVX512VL
28314 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28315 : && ix86_pre_reload_split ()
28316 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28317 : STRIP_UNARY (operands[4]))
28318 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28319 : STRIP_UNARY (operands[4]))
28320 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28321 : STRIP_UNARY (operands[3]))
28322 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28323 : STRIP_UNARY (operands[3])))) &&
28324 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28325 : (TARGET_AVX)) &&
28326 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28327 : ( 1)))
28328 : return NULL;
28329 : return gen_split_2519 (insn, operands);
28330 :
28331 : case 5:
28332 : if (!(
28333 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28334 : ((16 == 64 || TARGET_AVX512VL
28335 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28336 : && ix86_pre_reload_split ()
28337 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28338 : STRIP_UNARY (operands[4]))
28339 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28340 : STRIP_UNARY (operands[4]))
28341 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28342 : STRIP_UNARY (operands[3]))
28343 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28344 : STRIP_UNARY (operands[3])))) &&
28345 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28346 : ( 1)))
28347 : return NULL;
28348 : return gen_split_2546 (insn, operands);
28349 :
28350 : case 6:
28351 : if (!((
28352 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28353 : ((64 == 64 || TARGET_AVX512VL
28354 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28355 : && ix86_pre_reload_split ()
28356 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28357 : STRIP_UNARY (operands[4]))
28358 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28359 : STRIP_UNARY (operands[4]))
28360 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28361 : STRIP_UNARY (operands[3]))
28362 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28363 : STRIP_UNARY (operands[3])))) &&
28364 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28365 : (TARGET_AVX512F)) &&
28366 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28367 : ( 1)))
28368 : return NULL;
28369 : return gen_split_2573 (insn, operands);
28370 :
28371 : case 7:
28372 : if (!((
28373 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28374 : ((32 == 64 || TARGET_AVX512VL
28375 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28376 : && ix86_pre_reload_split ()
28377 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28378 : STRIP_UNARY (operands[4]))
28379 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28380 : STRIP_UNARY (operands[4]))
28381 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28382 : STRIP_UNARY (operands[3]))
28383 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28384 : STRIP_UNARY (operands[3])))) &&
28385 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28386 : (TARGET_AVX)) &&
28387 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28388 : ( 1)))
28389 : return NULL;
28390 : return gen_split_2600 (insn, operands);
28391 :
28392 : case 8:
28393 : if (!(
28394 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28395 : ((16 == 64 || TARGET_AVX512VL
28396 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28397 : && ix86_pre_reload_split ()
28398 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28399 : STRIP_UNARY (operands[4]))
28400 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28401 : STRIP_UNARY (operands[4]))
28402 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28403 : STRIP_UNARY (operands[3]))
28404 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28405 : STRIP_UNARY (operands[3])))) &&
28406 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28407 : ( 1)))
28408 : return NULL;
28409 : return gen_split_2627 (insn, operands);
28410 :
28411 : case 9:
28412 : if (!((
28413 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28414 : ((64 == 64 || TARGET_AVX512VL
28415 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28416 : && ix86_pre_reload_split ()
28417 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28418 : STRIP_UNARY (operands[4]))
28419 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28420 : STRIP_UNARY (operands[4]))
28421 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28422 : STRIP_UNARY (operands[3]))
28423 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28424 : STRIP_UNARY (operands[3])))) &&
28425 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28426 : (TARGET_AVX512F)) &&
28427 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28428 : ( 1)))
28429 : return NULL;
28430 : return gen_split_2654 (insn, operands);
28431 :
28432 : case 10:
28433 : if (!((
28434 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28435 : ((32 == 64 || TARGET_AVX512VL
28436 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28437 : && ix86_pre_reload_split ()
28438 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28439 : STRIP_UNARY (operands[4]))
28440 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28441 : STRIP_UNARY (operands[4]))
28442 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28443 : STRIP_UNARY (operands[3]))
28444 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28445 : STRIP_UNARY (operands[3])))) &&
28446 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28447 : (TARGET_AVX)) &&
28448 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28449 : ( 1)))
28450 : return NULL;
28451 : return gen_split_2681 (insn, operands);
28452 :
28453 : case 11:
28454 : if (!(
28455 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28456 : ((16 == 64 || TARGET_AVX512VL
28457 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28458 : && ix86_pre_reload_split ()
28459 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28460 : STRIP_UNARY (operands[4]))
28461 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28462 : STRIP_UNARY (operands[4]))
28463 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28464 : STRIP_UNARY (operands[3]))
28465 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28466 : STRIP_UNARY (operands[3])))) &&
28467 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28468 : ( 1)))
28469 : return NULL;
28470 : return gen_split_2708 (insn, operands);
28471 :
28472 : default:
28473 : return NULL;
28474 : }
28475 :
28476 : default:
28477 : return NULL;
28478 : }
28479 : }
28480 :
28481 : rtx_insn *
28482 : split_72 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
28483 : {
28484 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
28485 : rtx x2, x3, x4;
28486 : rtx_insn *res ATTRIBUTE_UNUSED;
28487 : x2 = XEXP (x1, 1);
28488 : x3 = XEXP (x2, 0);
28489 : switch (GET_CODE (x3))
28490 : {
28491 : case AND:
28492 : return split_70 (x1, insn);
28493 :
28494 : case IOR:
28495 : x4 = XEXP (x3, 0);
28496 : switch (GET_CODE (x4))
28497 : {
28498 : case REG:
28499 : case SUBREG:
28500 : case MEM:
28501 : case NOT:
28502 : switch (pattern543 (x2))
28503 : {
28504 : case 0:
28505 : if (!((
28506 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28507 : ((64 == 64 || TARGET_AVX512VL
28508 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28509 : && ix86_pre_reload_split ()
28510 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28511 : STRIP_UNARY (operands[4]))
28512 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28513 : STRIP_UNARY (operands[4]))
28514 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28515 : STRIP_UNARY (operands[3]))
28516 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28517 : STRIP_UNARY (operands[3])))) &&
28518 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28519 : (TARGET_AVX512F)) &&
28520 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28521 : ( 1)))
28522 : return NULL;
28523 : return gen_split_2074 (insn, operands);
28524 :
28525 : case 1:
28526 : if (!((
28527 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28528 : ((32 == 64 || TARGET_AVX512VL
28529 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28530 : && ix86_pre_reload_split ()
28531 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28532 : STRIP_UNARY (operands[4]))
28533 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28534 : STRIP_UNARY (operands[4]))
28535 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28536 : STRIP_UNARY (operands[3]))
28537 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28538 : STRIP_UNARY (operands[3])))) &&
28539 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28540 : (TARGET_AVX)) &&
28541 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28542 : ( 1)))
28543 : return NULL;
28544 : return gen_split_2101 (insn, operands);
28545 :
28546 : case 2:
28547 : if (!(
28548 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28549 : ((16 == 64 || TARGET_AVX512VL
28550 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28551 : && ix86_pre_reload_split ()
28552 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28553 : STRIP_UNARY (operands[4]))
28554 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28555 : STRIP_UNARY (operands[4]))
28556 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28557 : STRIP_UNARY (operands[3]))
28558 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28559 : STRIP_UNARY (operands[3])))) &&
28560 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28561 : ( 1)))
28562 : return NULL;
28563 : return gen_split_2128 (insn, operands);
28564 :
28565 : case 3:
28566 : if (!((
28567 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28568 : ((64 == 64 || TARGET_AVX512VL
28569 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28570 : && ix86_pre_reload_split ()
28571 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28572 : STRIP_UNARY (operands[4]))
28573 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28574 : STRIP_UNARY (operands[4]))
28575 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28576 : STRIP_UNARY (operands[3]))
28577 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28578 : STRIP_UNARY (operands[3])))) &&
28579 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28580 : (TARGET_AVX512F)) &&
28581 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28582 : ( 1)))
28583 : return NULL;
28584 : return gen_split_2155 (insn, operands);
28585 :
28586 : case 4:
28587 : if (!((
28588 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28589 : ((32 == 64 || TARGET_AVX512VL
28590 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28591 : && ix86_pre_reload_split ()
28592 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28593 : STRIP_UNARY (operands[4]))
28594 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28595 : STRIP_UNARY (operands[4]))
28596 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28597 : STRIP_UNARY (operands[3]))
28598 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28599 : STRIP_UNARY (operands[3])))) &&
28600 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28601 : (TARGET_AVX)) &&
28602 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28603 : ( 1)))
28604 : return NULL;
28605 : return gen_split_2182 (insn, operands);
28606 :
28607 : case 5:
28608 : if (!(
28609 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28610 : ((16 == 64 || TARGET_AVX512VL
28611 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28612 : && ix86_pre_reload_split ()
28613 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28614 : STRIP_UNARY (operands[4]))
28615 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28616 : STRIP_UNARY (operands[4]))
28617 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28618 : STRIP_UNARY (operands[3]))
28619 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28620 : STRIP_UNARY (operands[3])))) &&
28621 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28622 : ( 1)))
28623 : return NULL;
28624 : return gen_split_2209 (insn, operands);
28625 :
28626 : case 6:
28627 : if (!((
28628 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28629 : ((64 == 64 || TARGET_AVX512VL
28630 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28631 : && ix86_pre_reload_split ()
28632 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28633 : STRIP_UNARY (operands[4]))
28634 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28635 : STRIP_UNARY (operands[4]))
28636 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28637 : STRIP_UNARY (operands[3]))
28638 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28639 : STRIP_UNARY (operands[3])))) &&
28640 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28641 : (TARGET_AVX512F)) &&
28642 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28643 : ( 1)))
28644 : return NULL;
28645 : return gen_split_2236 (insn, operands);
28646 :
28647 : case 7:
28648 : if (!((
28649 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28650 : ((32 == 64 || TARGET_AVX512VL
28651 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28652 : && ix86_pre_reload_split ()
28653 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28654 : STRIP_UNARY (operands[4]))
28655 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28656 : STRIP_UNARY (operands[4]))
28657 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28658 : STRIP_UNARY (operands[3]))
28659 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28660 : STRIP_UNARY (operands[3])))) &&
28661 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28662 : (TARGET_AVX)) &&
28663 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28664 : ( 1)))
28665 : return NULL;
28666 : return gen_split_2263 (insn, operands);
28667 :
28668 : case 8:
28669 : if (!(
28670 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28671 : ((16 == 64 || TARGET_AVX512VL
28672 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28673 : && ix86_pre_reload_split ()
28674 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28675 : STRIP_UNARY (operands[4]))
28676 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28677 : STRIP_UNARY (operands[4]))
28678 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28679 : STRIP_UNARY (operands[3]))
28680 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28681 : STRIP_UNARY (operands[3])))) &&
28682 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28683 : ( 1)))
28684 : return NULL;
28685 : return gen_split_2290 (insn, operands);
28686 :
28687 : case 9:
28688 : if (!((
28689 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28690 : ((64 == 64 || TARGET_AVX512VL
28691 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28692 : && ix86_pre_reload_split ()
28693 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28694 : STRIP_UNARY (operands[4]))
28695 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28696 : STRIP_UNARY (operands[4]))
28697 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28698 : STRIP_UNARY (operands[3]))
28699 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28700 : STRIP_UNARY (operands[3])))) &&
28701 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28702 : (TARGET_AVX512F)) &&
28703 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28704 : ( 1)))
28705 : return NULL;
28706 : return gen_split_2317 (insn, operands);
28707 :
28708 : case 10:
28709 : if (!((
28710 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28711 : ((32 == 64 || TARGET_AVX512VL
28712 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28713 : && ix86_pre_reload_split ()
28714 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28715 : STRIP_UNARY (operands[4]))
28716 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28717 : STRIP_UNARY (operands[4]))
28718 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28719 : STRIP_UNARY (operands[3]))
28720 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28721 : STRIP_UNARY (operands[3])))) &&
28722 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28723 : (TARGET_AVX)) &&
28724 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28725 : ( 1)))
28726 : return NULL;
28727 : return gen_split_2344 (insn, operands);
28728 :
28729 : case 11:
28730 : if (!((
28731 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28732 : ((16 == 64 || TARGET_AVX512VL
28733 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28734 : && ix86_pre_reload_split ()
28735 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28736 : STRIP_UNARY (operands[4]))
28737 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28738 : STRIP_UNARY (operands[4]))
28739 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28740 : STRIP_UNARY (operands[3]))
28741 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28742 : STRIP_UNARY (operands[3])))) &&
28743 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28744 : (TARGET_SSE2)) &&
28745 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28746 : ( 1)))
28747 : return NULL;
28748 : return gen_split_2371 (insn, operands);
28749 :
28750 : case 12:
28751 : if (!((
28752 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28753 : ((64 == 64 || TARGET_AVX512VL
28754 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28755 : && ix86_pre_reload_split ()
28756 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28757 : STRIP_UNARY (operands[4]))
28758 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28759 : STRIP_UNARY (operands[4]))
28760 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28761 : STRIP_UNARY (operands[3]))
28762 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28763 : STRIP_UNARY (operands[3])))) &&
28764 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28765 : (TARGET_AVX512F)) &&
28766 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28767 : ( 1)))
28768 : return NULL;
28769 : return gen_split_2077 (insn, operands);
28770 :
28771 : case 13:
28772 : if (!((
28773 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28774 : ((32 == 64 || TARGET_AVX512VL
28775 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28776 : && ix86_pre_reload_split ()
28777 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28778 : STRIP_UNARY (operands[4]))
28779 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28780 : STRIP_UNARY (operands[4]))
28781 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28782 : STRIP_UNARY (operands[3]))
28783 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28784 : STRIP_UNARY (operands[3])))) &&
28785 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28786 : (TARGET_AVX)) &&
28787 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28788 : ( 1)))
28789 : return NULL;
28790 : return gen_split_2104 (insn, operands);
28791 :
28792 : case 14:
28793 : if (!(
28794 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28795 : ((16 == 64 || TARGET_AVX512VL
28796 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28797 : && ix86_pre_reload_split ()
28798 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28799 : STRIP_UNARY (operands[4]))
28800 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28801 : STRIP_UNARY (operands[4]))
28802 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28803 : STRIP_UNARY (operands[3]))
28804 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28805 : STRIP_UNARY (operands[3])))) &&
28806 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28807 : ( 1)))
28808 : return NULL;
28809 : return gen_split_2131 (insn, operands);
28810 :
28811 : case 15:
28812 : if (!((
28813 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28814 : ((64 == 64 || TARGET_AVX512VL
28815 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28816 : && ix86_pre_reload_split ()
28817 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28818 : STRIP_UNARY (operands[4]))
28819 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28820 : STRIP_UNARY (operands[4]))
28821 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28822 : STRIP_UNARY (operands[3]))
28823 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28824 : STRIP_UNARY (operands[3])))) &&
28825 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28826 : (TARGET_AVX512F)) &&
28827 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28828 : ( 1)))
28829 : return NULL;
28830 : return gen_split_2158 (insn, operands);
28831 :
28832 : case 16:
28833 : if (!((
28834 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28835 : ((32 == 64 || TARGET_AVX512VL
28836 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28837 : && ix86_pre_reload_split ()
28838 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28839 : STRIP_UNARY (operands[4]))
28840 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28841 : STRIP_UNARY (operands[4]))
28842 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28843 : STRIP_UNARY (operands[3]))
28844 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28845 : STRIP_UNARY (operands[3])))) &&
28846 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28847 : (TARGET_AVX)) &&
28848 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28849 : ( 1)))
28850 : return NULL;
28851 : return gen_split_2185 (insn, operands);
28852 :
28853 : case 17:
28854 : if (!(
28855 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28856 : ((16 == 64 || TARGET_AVX512VL
28857 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28858 : && ix86_pre_reload_split ()
28859 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28860 : STRIP_UNARY (operands[4]))
28861 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28862 : STRIP_UNARY (operands[4]))
28863 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28864 : STRIP_UNARY (operands[3]))
28865 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28866 : STRIP_UNARY (operands[3])))) &&
28867 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28868 : ( 1)))
28869 : return NULL;
28870 : return gen_split_2212 (insn, operands);
28871 :
28872 : case 18:
28873 : if (!((
28874 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28875 : ((64 == 64 || TARGET_AVX512VL
28876 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28877 : && ix86_pre_reload_split ()
28878 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28879 : STRIP_UNARY (operands[4]))
28880 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28881 : STRIP_UNARY (operands[4]))
28882 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28883 : STRIP_UNARY (operands[3]))
28884 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28885 : STRIP_UNARY (operands[3])))) &&
28886 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28887 : (TARGET_AVX512F)) &&
28888 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28889 : ( 1)))
28890 : return NULL;
28891 : return gen_split_2239 (insn, operands);
28892 :
28893 : case 19:
28894 : if (!((
28895 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28896 : ((32 == 64 || TARGET_AVX512VL
28897 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28898 : && ix86_pre_reload_split ()
28899 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28900 : STRIP_UNARY (operands[4]))
28901 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28902 : STRIP_UNARY (operands[4]))
28903 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28904 : STRIP_UNARY (operands[3]))
28905 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28906 : STRIP_UNARY (operands[3])))) &&
28907 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28908 : (TARGET_AVX)) &&
28909 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28910 : ( 1)))
28911 : return NULL;
28912 : return gen_split_2266 (insn, operands);
28913 :
28914 : case 20:
28915 : if (!(
28916 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28917 : ((16 == 64 || TARGET_AVX512VL
28918 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28919 : && ix86_pre_reload_split ()
28920 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28921 : STRIP_UNARY (operands[4]))
28922 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28923 : STRIP_UNARY (operands[4]))
28924 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28925 : STRIP_UNARY (operands[3]))
28926 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28927 : STRIP_UNARY (operands[3])))) &&
28928 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28929 : ( 1)))
28930 : return NULL;
28931 : return gen_split_2293 (insn, operands);
28932 :
28933 : case 21:
28934 : if (!((
28935 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28936 : ((64 == 64 || TARGET_AVX512VL
28937 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28938 : && ix86_pre_reload_split ()
28939 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28940 : STRIP_UNARY (operands[4]))
28941 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28942 : STRIP_UNARY (operands[4]))
28943 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28944 : STRIP_UNARY (operands[3]))
28945 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28946 : STRIP_UNARY (operands[3])))) &&
28947 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28948 : (TARGET_AVX512F)) &&
28949 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28950 : ( 1)))
28951 : return NULL;
28952 : return gen_split_2320 (insn, operands);
28953 :
28954 : case 22:
28955 : if (!((
28956 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28957 : ((32 == 64 || TARGET_AVX512VL
28958 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28959 : && ix86_pre_reload_split ()
28960 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28961 : STRIP_UNARY (operands[4]))
28962 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28963 : STRIP_UNARY (operands[4]))
28964 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28965 : STRIP_UNARY (operands[3]))
28966 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28967 : STRIP_UNARY (operands[3])))) &&
28968 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28969 : (TARGET_AVX)) &&
28970 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28971 : ( 1)))
28972 : return NULL;
28973 : return gen_split_2347 (insn, operands);
28974 :
28975 : case 23:
28976 : if (!((
28977 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28978 : ((16 == 64 || TARGET_AVX512VL
28979 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28980 : && ix86_pre_reload_split ()
28981 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28982 : STRIP_UNARY (operands[4]))
28983 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28984 : STRIP_UNARY (operands[4]))
28985 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28986 : STRIP_UNARY (operands[3]))
28987 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28988 : STRIP_UNARY (operands[3])))) &&
28989 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28990 : (TARGET_SSE2)) &&
28991 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28992 : ( 1)))
28993 : return NULL;
28994 : return gen_split_2374 (insn, operands);
28995 :
28996 : case 24:
28997 : if (!((
28998 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28999 : ((64 == 64 || TARGET_AVX512VL
29000 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29001 : && ix86_pre_reload_split ()
29002 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29003 : STRIP_UNARY (operands[4]))
29004 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29005 : STRIP_UNARY (operands[4]))
29006 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29007 : STRIP_UNARY (operands[3]))
29008 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29009 : STRIP_UNARY (operands[3])))) &&
29010 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29011 : (TARGET_AVX512F)) &&
29012 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29013 : ( 1)))
29014 : return NULL;
29015 : return gen_split_2080 (insn, operands);
29016 :
29017 : case 25:
29018 : if (!((
29019 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29020 : ((32 == 64 || TARGET_AVX512VL
29021 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29022 : && ix86_pre_reload_split ()
29023 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29024 : STRIP_UNARY (operands[4]))
29025 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29026 : STRIP_UNARY (operands[4]))
29027 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29028 : STRIP_UNARY (operands[3]))
29029 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29030 : STRIP_UNARY (operands[3])))) &&
29031 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29032 : (TARGET_AVX)) &&
29033 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29034 : ( 1)))
29035 : return NULL;
29036 : return gen_split_2107 (insn, operands);
29037 :
29038 : case 26:
29039 : if (!(
29040 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29041 : ((16 == 64 || TARGET_AVX512VL
29042 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29043 : && ix86_pre_reload_split ()
29044 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29045 : STRIP_UNARY (operands[4]))
29046 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29047 : STRIP_UNARY (operands[4]))
29048 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29049 : STRIP_UNARY (operands[3]))
29050 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29051 : STRIP_UNARY (operands[3])))) &&
29052 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29053 : ( 1)))
29054 : return NULL;
29055 : return gen_split_2134 (insn, operands);
29056 :
29057 : case 27:
29058 : if (!((
29059 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29060 : ((64 == 64 || TARGET_AVX512VL
29061 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29062 : && ix86_pre_reload_split ()
29063 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29064 : STRIP_UNARY (operands[4]))
29065 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29066 : STRIP_UNARY (operands[4]))
29067 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29068 : STRIP_UNARY (operands[3]))
29069 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29070 : STRIP_UNARY (operands[3])))) &&
29071 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29072 : (TARGET_AVX512F)) &&
29073 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29074 : ( 1)))
29075 : return NULL;
29076 : return gen_split_2161 (insn, operands);
29077 :
29078 : case 28:
29079 : if (!((
29080 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29081 : ((32 == 64 || TARGET_AVX512VL
29082 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29083 : && ix86_pre_reload_split ()
29084 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29085 : STRIP_UNARY (operands[4]))
29086 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29087 : STRIP_UNARY (operands[4]))
29088 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29089 : STRIP_UNARY (operands[3]))
29090 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29091 : STRIP_UNARY (operands[3])))) &&
29092 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29093 : (TARGET_AVX)) &&
29094 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29095 : ( 1)))
29096 : return NULL;
29097 : return gen_split_2188 (insn, operands);
29098 :
29099 : case 29:
29100 : if (!(
29101 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29102 : ((16 == 64 || TARGET_AVX512VL
29103 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29104 : && ix86_pre_reload_split ()
29105 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29106 : STRIP_UNARY (operands[4]))
29107 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29108 : STRIP_UNARY (operands[4]))
29109 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29110 : STRIP_UNARY (operands[3]))
29111 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29112 : STRIP_UNARY (operands[3])))) &&
29113 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29114 : ( 1)))
29115 : return NULL;
29116 : return gen_split_2215 (insn, operands);
29117 :
29118 : case 30:
29119 : if (!((
29120 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29121 : ((64 == 64 || TARGET_AVX512VL
29122 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29123 : && ix86_pre_reload_split ()
29124 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29125 : STRIP_UNARY (operands[4]))
29126 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29127 : STRIP_UNARY (operands[4]))
29128 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29129 : STRIP_UNARY (operands[3]))
29130 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29131 : STRIP_UNARY (operands[3])))) &&
29132 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29133 : (TARGET_AVX512F)) &&
29134 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29135 : ( 1)))
29136 : return NULL;
29137 : return gen_split_2242 (insn, operands);
29138 :
29139 : case 31:
29140 : if (!((
29141 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29142 : ((32 == 64 || TARGET_AVX512VL
29143 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29144 : && ix86_pre_reload_split ()
29145 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29146 : STRIP_UNARY (operands[4]))
29147 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29148 : STRIP_UNARY (operands[4]))
29149 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29150 : STRIP_UNARY (operands[3]))
29151 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29152 : STRIP_UNARY (operands[3])))) &&
29153 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29154 : (TARGET_AVX)) &&
29155 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29156 : ( 1)))
29157 : return NULL;
29158 : return gen_split_2269 (insn, operands);
29159 :
29160 : case 32:
29161 : if (!(
29162 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29163 : ((16 == 64 || TARGET_AVX512VL
29164 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29165 : && ix86_pre_reload_split ()
29166 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29167 : STRIP_UNARY (operands[4]))
29168 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29169 : STRIP_UNARY (operands[4]))
29170 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29171 : STRIP_UNARY (operands[3]))
29172 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29173 : STRIP_UNARY (operands[3])))) &&
29174 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29175 : ( 1)))
29176 : return NULL;
29177 : return gen_split_2296 (insn, operands);
29178 :
29179 : case 33:
29180 : if (!((
29181 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29182 : ((64 == 64 || TARGET_AVX512VL
29183 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29184 : && ix86_pre_reload_split ()
29185 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29186 : STRIP_UNARY (operands[4]))
29187 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29188 : STRIP_UNARY (operands[4]))
29189 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29190 : STRIP_UNARY (operands[3]))
29191 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29192 : STRIP_UNARY (operands[3])))) &&
29193 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29194 : (TARGET_AVX512F)) &&
29195 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29196 : ( 1)))
29197 : return NULL;
29198 : return gen_split_2323 (insn, operands);
29199 :
29200 : case 34:
29201 : if (!((
29202 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29203 : ((32 == 64 || TARGET_AVX512VL
29204 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29205 : && ix86_pre_reload_split ()
29206 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29207 : STRIP_UNARY (operands[4]))
29208 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29209 : STRIP_UNARY (operands[4]))
29210 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29211 : STRIP_UNARY (operands[3]))
29212 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29213 : STRIP_UNARY (operands[3])))) &&
29214 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29215 : (TARGET_AVX)) &&
29216 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29217 : ( 1)))
29218 : return NULL;
29219 : return gen_split_2350 (insn, operands);
29220 :
29221 : case 35:
29222 : if (!((
29223 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29224 : ((16 == 64 || TARGET_AVX512VL
29225 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29226 : && ix86_pre_reload_split ()
29227 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29228 : STRIP_UNARY (operands[4]))
29229 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29230 : STRIP_UNARY (operands[4]))
29231 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29232 : STRIP_UNARY (operands[3]))
29233 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29234 : STRIP_UNARY (operands[3])))) &&
29235 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29236 : (TARGET_SSE2)) &&
29237 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29238 : ( 1)))
29239 : return NULL;
29240 : return gen_split_2377 (insn, operands);
29241 :
29242 : case 36:
29243 : if (!((
29244 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29245 : ((64 == 64 || TARGET_AVX512VL
29246 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29247 : && ix86_pre_reload_split ()) &&
29248 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29249 : (TARGET_AVX512F)) &&
29250 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29251 : ( 1)))
29252 : return NULL;
29253 : return gen_split_3148 (insn, operands);
29254 :
29255 : case 37:
29256 : if (!((
29257 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29258 : ((32 == 64 || TARGET_AVX512VL
29259 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29260 : && ix86_pre_reload_split ()) &&
29261 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29262 : (TARGET_AVX)) &&
29263 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29264 : ( 1)))
29265 : return NULL;
29266 : return gen_split_3157 (insn, operands);
29267 :
29268 : case 38:
29269 : if (!(
29270 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29271 : ((16 == 64 || TARGET_AVX512VL
29272 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29273 : && ix86_pre_reload_split ()) &&
29274 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29275 : ( 1)))
29276 : return NULL;
29277 : return gen_split_3166 (insn, operands);
29278 :
29279 : case 39:
29280 : if (!((
29281 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29282 : ((64 == 64 || TARGET_AVX512VL
29283 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29284 : && ix86_pre_reload_split ()) &&
29285 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29286 : (TARGET_AVX512F)) &&
29287 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29288 : ( 1)))
29289 : return NULL;
29290 : return gen_split_3175 (insn, operands);
29291 :
29292 : case 40:
29293 : if (!((
29294 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29295 : ((32 == 64 || TARGET_AVX512VL
29296 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29297 : && ix86_pre_reload_split ()) &&
29298 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29299 : (TARGET_AVX)) &&
29300 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29301 : ( 1)))
29302 : return NULL;
29303 : return gen_split_3184 (insn, operands);
29304 :
29305 : case 41:
29306 : if (!(
29307 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29308 : ((16 == 64 || TARGET_AVX512VL
29309 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29310 : && ix86_pre_reload_split ()) &&
29311 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29312 : ( 1)))
29313 : return NULL;
29314 : return gen_split_3193 (insn, operands);
29315 :
29316 : case 42:
29317 : if (!((
29318 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29319 : ((64 == 64 || TARGET_AVX512VL
29320 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29321 : && ix86_pre_reload_split ()) &&
29322 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29323 : (TARGET_AVX512F)) &&
29324 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29325 : ( 1)))
29326 : return NULL;
29327 : return gen_split_3202 (insn, operands);
29328 :
29329 : case 43:
29330 : if (!((
29331 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29332 : ((32 == 64 || TARGET_AVX512VL
29333 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29334 : && ix86_pre_reload_split ()) &&
29335 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29336 : (TARGET_AVX)) &&
29337 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29338 : ( 1)))
29339 : return NULL;
29340 : return gen_split_3211 (insn, operands);
29341 :
29342 : case 44:
29343 : if (!(
29344 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29345 : ((16 == 64 || TARGET_AVX512VL
29346 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29347 : && ix86_pre_reload_split ()) &&
29348 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29349 : ( 1)))
29350 : return NULL;
29351 : return gen_split_3220 (insn, operands);
29352 :
29353 : case 45:
29354 : if (!((
29355 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29356 : ((64 == 64 || TARGET_AVX512VL
29357 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29358 : && ix86_pre_reload_split ()) &&
29359 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29360 : (TARGET_AVX512F)) &&
29361 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29362 : ( 1)))
29363 : return NULL;
29364 : return gen_split_3229 (insn, operands);
29365 :
29366 : case 46:
29367 : if (!((
29368 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29369 : ((32 == 64 || TARGET_AVX512VL
29370 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29371 : && ix86_pre_reload_split ()) &&
29372 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29373 : (TARGET_AVX)) &&
29374 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29375 : ( 1)))
29376 : return NULL;
29377 : return gen_split_3238 (insn, operands);
29378 :
29379 : case 47:
29380 : if (!((
29381 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29382 : ((16 == 64 || TARGET_AVX512VL
29383 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29384 : && ix86_pre_reload_split ()) &&
29385 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29386 : (TARGET_SSE2)) &&
29387 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29388 : ( 1)))
29389 : return NULL;
29390 : return gen_split_3247 (insn, operands);
29391 :
29392 : default:
29393 : return NULL;
29394 : }
29395 :
29396 : case AND:
29397 : switch (pattern544 (x2))
29398 : {
29399 : case 0:
29400 : if (!((
29401 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29402 : ((64 == 64 || TARGET_AVX512VL
29403 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29404 : && ix86_pre_reload_split ()
29405 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29406 : STRIP_UNARY (operands[4]))
29407 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29408 : STRIP_UNARY (operands[4]))
29409 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29410 : STRIP_UNARY (operands[3]))
29411 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29412 : STRIP_UNARY (operands[3])))) &&
29413 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29414 : (TARGET_AVX512F)) &&
29415 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29416 : ( 1)))
29417 : return NULL;
29418 : return gen_split_2722 (insn, operands);
29419 :
29420 : case 1:
29421 : if (!((
29422 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29423 : ((32 == 64 || TARGET_AVX512VL
29424 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29425 : && ix86_pre_reload_split ()
29426 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29427 : STRIP_UNARY (operands[4]))
29428 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29429 : STRIP_UNARY (operands[4]))
29430 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29431 : STRIP_UNARY (operands[3]))
29432 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29433 : STRIP_UNARY (operands[3])))) &&
29434 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29435 : (TARGET_AVX)) &&
29436 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29437 : ( 1)))
29438 : return NULL;
29439 : return gen_split_2749 (insn, operands);
29440 :
29441 : case 2:
29442 : if (!(
29443 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29444 : ((16 == 64 || TARGET_AVX512VL
29445 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29446 : && ix86_pre_reload_split ()
29447 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29448 : STRIP_UNARY (operands[4]))
29449 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29450 : STRIP_UNARY (operands[4]))
29451 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29452 : STRIP_UNARY (operands[3]))
29453 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29454 : STRIP_UNARY (operands[3])))) &&
29455 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29456 : ( 1)))
29457 : return NULL;
29458 : return gen_split_2776 (insn, operands);
29459 :
29460 : case 3:
29461 : if (!((
29462 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29463 : ((64 == 64 || TARGET_AVX512VL
29464 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29465 : && ix86_pre_reload_split ()
29466 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29467 : STRIP_UNARY (operands[4]))
29468 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29469 : STRIP_UNARY (operands[4]))
29470 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29471 : STRIP_UNARY (operands[3]))
29472 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29473 : STRIP_UNARY (operands[3])))) &&
29474 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29475 : (TARGET_AVX512F)) &&
29476 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29477 : ( 1)))
29478 : return NULL;
29479 : return gen_split_2803 (insn, operands);
29480 :
29481 : case 4:
29482 : if (!((
29483 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29484 : ((32 == 64 || TARGET_AVX512VL
29485 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29486 : && ix86_pre_reload_split ()
29487 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29488 : STRIP_UNARY (operands[4]))
29489 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29490 : STRIP_UNARY (operands[4]))
29491 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29492 : STRIP_UNARY (operands[3]))
29493 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29494 : STRIP_UNARY (operands[3])))) &&
29495 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29496 : (TARGET_AVX)) &&
29497 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29498 : ( 1)))
29499 : return NULL;
29500 : return gen_split_2830 (insn, operands);
29501 :
29502 : case 5:
29503 : if (!(
29504 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29505 : ((16 == 64 || TARGET_AVX512VL
29506 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29507 : && ix86_pre_reload_split ()
29508 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29509 : STRIP_UNARY (operands[4]))
29510 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29511 : STRIP_UNARY (operands[4]))
29512 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29513 : STRIP_UNARY (operands[3]))
29514 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29515 : STRIP_UNARY (operands[3])))) &&
29516 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29517 : ( 1)))
29518 : return NULL;
29519 : return gen_split_2857 (insn, operands);
29520 :
29521 : case 6:
29522 : if (!((
29523 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29524 : ((64 == 64 || TARGET_AVX512VL
29525 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29526 : && ix86_pre_reload_split ()
29527 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29528 : STRIP_UNARY (operands[4]))
29529 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29530 : STRIP_UNARY (operands[4]))
29531 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29532 : STRIP_UNARY (operands[3]))
29533 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29534 : STRIP_UNARY (operands[3])))) &&
29535 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29536 : (TARGET_AVX512F)) &&
29537 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29538 : ( 1)))
29539 : return NULL;
29540 : return gen_split_2884 (insn, operands);
29541 :
29542 : case 7:
29543 : if (!((
29544 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29545 : ((32 == 64 || TARGET_AVX512VL
29546 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29547 : && ix86_pre_reload_split ()
29548 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29549 : STRIP_UNARY (operands[4]))
29550 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29551 : STRIP_UNARY (operands[4]))
29552 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29553 : STRIP_UNARY (operands[3]))
29554 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29555 : STRIP_UNARY (operands[3])))) &&
29556 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29557 : (TARGET_AVX)) &&
29558 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29559 : ( 1)))
29560 : return NULL;
29561 : return gen_split_2911 (insn, operands);
29562 :
29563 : case 8:
29564 : if (!(
29565 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29566 : ((16 == 64 || TARGET_AVX512VL
29567 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29568 : && ix86_pre_reload_split ()
29569 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29570 : STRIP_UNARY (operands[4]))
29571 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29572 : STRIP_UNARY (operands[4]))
29573 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29574 : STRIP_UNARY (operands[3]))
29575 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29576 : STRIP_UNARY (operands[3])))) &&
29577 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29578 : ( 1)))
29579 : return NULL;
29580 : return gen_split_2938 (insn, operands);
29581 :
29582 : case 9:
29583 : if (!((
29584 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29585 : ((64 == 64 || TARGET_AVX512VL
29586 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29587 : && ix86_pre_reload_split ()
29588 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29589 : STRIP_UNARY (operands[4]))
29590 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29591 : STRIP_UNARY (operands[4]))
29592 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29593 : STRIP_UNARY (operands[3]))
29594 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29595 : STRIP_UNARY (operands[3])))) &&
29596 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29597 : (TARGET_AVX512F)) &&
29598 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29599 : ( 1)))
29600 : return NULL;
29601 : return gen_split_2965 (insn, operands);
29602 :
29603 : case 10:
29604 : if (!((
29605 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29606 : ((32 == 64 || TARGET_AVX512VL
29607 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29608 : && ix86_pre_reload_split ()
29609 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29610 : STRIP_UNARY (operands[4]))
29611 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29612 : STRIP_UNARY (operands[4]))
29613 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29614 : STRIP_UNARY (operands[3]))
29615 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29616 : STRIP_UNARY (operands[3])))) &&
29617 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29618 : (TARGET_AVX)) &&
29619 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29620 : ( 1)))
29621 : return NULL;
29622 : return gen_split_2992 (insn, operands);
29623 :
29624 : case 11:
29625 : if (!((
29626 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29627 : ((16 == 64 || TARGET_AVX512VL
29628 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29629 : && ix86_pre_reload_split ()
29630 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29631 : STRIP_UNARY (operands[4]))
29632 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29633 : STRIP_UNARY (operands[4]))
29634 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29635 : STRIP_UNARY (operands[3]))
29636 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29637 : STRIP_UNARY (operands[3])))) &&
29638 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29639 : (TARGET_SSE2)) &&
29640 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29641 : ( 1)))
29642 : return NULL;
29643 : return gen_split_3019 (insn, operands);
29644 :
29645 : default:
29646 : return NULL;
29647 : }
29648 :
29649 : case IOR:
29650 : switch (pattern544 (x2))
29651 : {
29652 : case 0:
29653 : if (!((
29654 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29655 : ((64 == 64 || TARGET_AVX512VL
29656 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29657 : && ix86_pre_reload_split ()
29658 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29659 : STRIP_UNARY (operands[4]))
29660 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29661 : STRIP_UNARY (operands[4]))
29662 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29663 : STRIP_UNARY (operands[3]))
29664 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29665 : STRIP_UNARY (operands[3])))) &&
29666 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29667 : (TARGET_AVX512F)) &&
29668 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29669 : ( 1)))
29670 : return NULL;
29671 : return gen_split_2725 (insn, operands);
29672 :
29673 : case 1:
29674 : if (!((
29675 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29676 : ((32 == 64 || TARGET_AVX512VL
29677 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29678 : && ix86_pre_reload_split ()
29679 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29680 : STRIP_UNARY (operands[4]))
29681 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29682 : STRIP_UNARY (operands[4]))
29683 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29684 : STRIP_UNARY (operands[3]))
29685 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29686 : STRIP_UNARY (operands[3])))) &&
29687 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29688 : (TARGET_AVX)) &&
29689 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29690 : ( 1)))
29691 : return NULL;
29692 : return gen_split_2752 (insn, operands);
29693 :
29694 : case 2:
29695 : if (!(
29696 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29697 : ((16 == 64 || TARGET_AVX512VL
29698 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29699 : && ix86_pre_reload_split ()
29700 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29701 : STRIP_UNARY (operands[4]))
29702 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29703 : STRIP_UNARY (operands[4]))
29704 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29705 : STRIP_UNARY (operands[3]))
29706 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29707 : STRIP_UNARY (operands[3])))) &&
29708 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29709 : ( 1)))
29710 : return NULL;
29711 : return gen_split_2779 (insn, operands);
29712 :
29713 : case 3:
29714 : if (!((
29715 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29716 : ((64 == 64 || TARGET_AVX512VL
29717 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29718 : && ix86_pre_reload_split ()
29719 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29720 : STRIP_UNARY (operands[4]))
29721 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29722 : STRIP_UNARY (operands[4]))
29723 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29724 : STRIP_UNARY (operands[3]))
29725 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29726 : STRIP_UNARY (operands[3])))) &&
29727 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29728 : (TARGET_AVX512F)) &&
29729 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29730 : ( 1)))
29731 : return NULL;
29732 : return gen_split_2806 (insn, operands);
29733 :
29734 : case 4:
29735 : if (!((
29736 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29737 : ((32 == 64 || TARGET_AVX512VL
29738 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29739 : && ix86_pre_reload_split ()
29740 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29741 : STRIP_UNARY (operands[4]))
29742 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29743 : STRIP_UNARY (operands[4]))
29744 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29745 : STRIP_UNARY (operands[3]))
29746 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29747 : STRIP_UNARY (operands[3])))) &&
29748 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29749 : (TARGET_AVX)) &&
29750 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29751 : ( 1)))
29752 : return NULL;
29753 : return gen_split_2833 (insn, operands);
29754 :
29755 : case 5:
29756 : if (!(
29757 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29758 : ((16 == 64 || TARGET_AVX512VL
29759 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29760 : && ix86_pre_reload_split ()
29761 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29762 : STRIP_UNARY (operands[4]))
29763 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29764 : STRIP_UNARY (operands[4]))
29765 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29766 : STRIP_UNARY (operands[3]))
29767 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29768 : STRIP_UNARY (operands[3])))) &&
29769 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29770 : ( 1)))
29771 : return NULL;
29772 : return gen_split_2860 (insn, operands);
29773 :
29774 : case 6:
29775 : if (!((
29776 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29777 : ((64 == 64 || TARGET_AVX512VL
29778 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29779 : && ix86_pre_reload_split ()
29780 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29781 : STRIP_UNARY (operands[4]))
29782 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29783 : STRIP_UNARY (operands[4]))
29784 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29785 : STRIP_UNARY (operands[3]))
29786 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29787 : STRIP_UNARY (operands[3])))) &&
29788 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29789 : (TARGET_AVX512F)) &&
29790 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29791 : ( 1)))
29792 : return NULL;
29793 : return gen_split_2887 (insn, operands);
29794 :
29795 : case 7:
29796 : if (!((
29797 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29798 : ((32 == 64 || TARGET_AVX512VL
29799 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29800 : && ix86_pre_reload_split ()
29801 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29802 : STRIP_UNARY (operands[4]))
29803 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29804 : STRIP_UNARY (operands[4]))
29805 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29806 : STRIP_UNARY (operands[3]))
29807 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29808 : STRIP_UNARY (operands[3])))) &&
29809 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29810 : (TARGET_AVX)) &&
29811 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29812 : ( 1)))
29813 : return NULL;
29814 : return gen_split_2914 (insn, operands);
29815 :
29816 : case 8:
29817 : if (!(
29818 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29819 : ((16 == 64 || TARGET_AVX512VL
29820 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29821 : && ix86_pre_reload_split ()
29822 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29823 : STRIP_UNARY (operands[4]))
29824 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29825 : STRIP_UNARY (operands[4]))
29826 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29827 : STRIP_UNARY (operands[3]))
29828 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29829 : STRIP_UNARY (operands[3])))) &&
29830 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29831 : ( 1)))
29832 : return NULL;
29833 : return gen_split_2941 (insn, operands);
29834 :
29835 : case 9:
29836 : if (!((
29837 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29838 : ((64 == 64 || TARGET_AVX512VL
29839 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29840 : && ix86_pre_reload_split ()
29841 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29842 : STRIP_UNARY (operands[4]))
29843 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29844 : STRIP_UNARY (operands[4]))
29845 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29846 : STRIP_UNARY (operands[3]))
29847 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29848 : STRIP_UNARY (operands[3])))) &&
29849 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29850 : (TARGET_AVX512F)) &&
29851 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29852 : ( 1)))
29853 : return NULL;
29854 : return gen_split_2968 (insn, operands);
29855 :
29856 : case 10:
29857 : if (!((
29858 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29859 : ((32 == 64 || TARGET_AVX512VL
29860 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29861 : && ix86_pre_reload_split ()
29862 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29863 : STRIP_UNARY (operands[4]))
29864 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29865 : STRIP_UNARY (operands[4]))
29866 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29867 : STRIP_UNARY (operands[3]))
29868 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29869 : STRIP_UNARY (operands[3])))) &&
29870 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29871 : (TARGET_AVX)) &&
29872 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29873 : ( 1)))
29874 : return NULL;
29875 : return gen_split_2995 (insn, operands);
29876 :
29877 : case 11:
29878 : if (!((
29879 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29880 : ((16 == 64 || TARGET_AVX512VL
29881 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29882 : && ix86_pre_reload_split ()
29883 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29884 : STRIP_UNARY (operands[4]))
29885 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29886 : STRIP_UNARY (operands[4]))
29887 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29888 : STRIP_UNARY (operands[3]))
29889 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29890 : STRIP_UNARY (operands[3])))) &&
29891 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29892 : (TARGET_SSE2)) &&
29893 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29894 : ( 1)))
29895 : return NULL;
29896 : return gen_split_3022 (insn, operands);
29897 :
29898 : default:
29899 : return NULL;
29900 : }
29901 :
29902 : case XOR:
29903 : switch (pattern544 (x2))
29904 : {
29905 : case 0:
29906 : if (!((
29907 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29908 : ((64 == 64 || TARGET_AVX512VL
29909 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29910 : && ix86_pre_reload_split ()
29911 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29912 : STRIP_UNARY (operands[4]))
29913 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29914 : STRIP_UNARY (operands[4]))
29915 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29916 : STRIP_UNARY (operands[3]))
29917 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29918 : STRIP_UNARY (operands[3])))) &&
29919 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29920 : (TARGET_AVX512F)) &&
29921 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29922 : ( 1)))
29923 : return NULL;
29924 : return gen_split_2728 (insn, operands);
29925 :
29926 : case 1:
29927 : if (!((
29928 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29929 : ((32 == 64 || TARGET_AVX512VL
29930 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29931 : && ix86_pre_reload_split ()
29932 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29933 : STRIP_UNARY (operands[4]))
29934 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29935 : STRIP_UNARY (operands[4]))
29936 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29937 : STRIP_UNARY (operands[3]))
29938 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29939 : STRIP_UNARY (operands[3])))) &&
29940 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29941 : (TARGET_AVX)) &&
29942 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29943 : ( 1)))
29944 : return NULL;
29945 : return gen_split_2755 (insn, operands);
29946 :
29947 : case 2:
29948 : if (!(
29949 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29950 : ((16 == 64 || TARGET_AVX512VL
29951 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29952 : && ix86_pre_reload_split ()
29953 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29954 : STRIP_UNARY (operands[4]))
29955 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29956 : STRIP_UNARY (operands[4]))
29957 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29958 : STRIP_UNARY (operands[3]))
29959 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29960 : STRIP_UNARY (operands[3])))) &&
29961 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29962 : ( 1)))
29963 : return NULL;
29964 : return gen_split_2782 (insn, operands);
29965 :
29966 : case 3:
29967 : if (!((
29968 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29969 : ((64 == 64 || TARGET_AVX512VL
29970 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29971 : && ix86_pre_reload_split ()
29972 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29973 : STRIP_UNARY (operands[4]))
29974 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29975 : STRIP_UNARY (operands[4]))
29976 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29977 : STRIP_UNARY (operands[3]))
29978 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29979 : STRIP_UNARY (operands[3])))) &&
29980 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29981 : (TARGET_AVX512F)) &&
29982 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29983 : ( 1)))
29984 : return NULL;
29985 : return gen_split_2809 (insn, operands);
29986 :
29987 : case 4:
29988 : if (!((
29989 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29990 : ((32 == 64 || TARGET_AVX512VL
29991 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29992 : && ix86_pre_reload_split ()
29993 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29994 : STRIP_UNARY (operands[4]))
29995 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29996 : STRIP_UNARY (operands[4]))
29997 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29998 : STRIP_UNARY (operands[3]))
29999 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30000 : STRIP_UNARY (operands[3])))) &&
30001 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30002 : (TARGET_AVX)) &&
30003 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30004 : ( 1)))
30005 : return NULL;
30006 : return gen_split_2836 (insn, operands);
30007 :
30008 : case 5:
30009 : if (!(
30010 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30011 : ((16 == 64 || TARGET_AVX512VL
30012 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30013 : && ix86_pre_reload_split ()
30014 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30015 : STRIP_UNARY (operands[4]))
30016 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30017 : STRIP_UNARY (operands[4]))
30018 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30019 : STRIP_UNARY (operands[3]))
30020 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30021 : STRIP_UNARY (operands[3])))) &&
30022 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30023 : ( 1)))
30024 : return NULL;
30025 : return gen_split_2863 (insn, operands);
30026 :
30027 : case 6:
30028 : if (!((
30029 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30030 : ((64 == 64 || TARGET_AVX512VL
30031 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30032 : && ix86_pre_reload_split ()
30033 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30034 : STRIP_UNARY (operands[4]))
30035 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30036 : STRIP_UNARY (operands[4]))
30037 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30038 : STRIP_UNARY (operands[3]))
30039 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30040 : STRIP_UNARY (operands[3])))) &&
30041 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30042 : (TARGET_AVX512F)) &&
30043 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30044 : ( 1)))
30045 : return NULL;
30046 : return gen_split_2890 (insn, operands);
30047 :
30048 : case 7:
30049 : if (!((
30050 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30051 : ((32 == 64 || TARGET_AVX512VL
30052 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30053 : && ix86_pre_reload_split ()
30054 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30055 : STRIP_UNARY (operands[4]))
30056 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30057 : STRIP_UNARY (operands[4]))
30058 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30059 : STRIP_UNARY (operands[3]))
30060 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30061 : STRIP_UNARY (operands[3])))) &&
30062 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30063 : (TARGET_AVX)) &&
30064 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30065 : ( 1)))
30066 : return NULL;
30067 : return gen_split_2917 (insn, operands);
30068 :
30069 : case 8:
30070 : if (!(
30071 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30072 : ((16 == 64 || TARGET_AVX512VL
30073 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30074 : && ix86_pre_reload_split ()
30075 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30076 : STRIP_UNARY (operands[4]))
30077 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30078 : STRIP_UNARY (operands[4]))
30079 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30080 : STRIP_UNARY (operands[3]))
30081 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30082 : STRIP_UNARY (operands[3])))) &&
30083 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30084 : ( 1)))
30085 : return NULL;
30086 : return gen_split_2944 (insn, operands);
30087 :
30088 : case 9:
30089 : if (!((
30090 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30091 : ((64 == 64 || TARGET_AVX512VL
30092 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30093 : && ix86_pre_reload_split ()
30094 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30095 : STRIP_UNARY (operands[4]))
30096 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30097 : STRIP_UNARY (operands[4]))
30098 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30099 : STRIP_UNARY (operands[3]))
30100 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30101 : STRIP_UNARY (operands[3])))) &&
30102 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30103 : (TARGET_AVX512F)) &&
30104 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30105 : ( 1)))
30106 : return NULL;
30107 : return gen_split_2971 (insn, operands);
30108 :
30109 : case 10:
30110 : if (!((
30111 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30112 : ((32 == 64 || TARGET_AVX512VL
30113 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30114 : && ix86_pre_reload_split ()
30115 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30116 : STRIP_UNARY (operands[4]))
30117 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30118 : STRIP_UNARY (operands[4]))
30119 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30120 : STRIP_UNARY (operands[3]))
30121 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30122 : STRIP_UNARY (operands[3])))) &&
30123 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30124 : (TARGET_AVX)) &&
30125 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30126 : ( 1)))
30127 : return NULL;
30128 : return gen_split_2998 (insn, operands);
30129 :
30130 : case 11:
30131 : if (!((
30132 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30133 : ((16 == 64 || TARGET_AVX512VL
30134 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30135 : && ix86_pre_reload_split ()
30136 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30137 : STRIP_UNARY (operands[4]))
30138 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30139 : STRIP_UNARY (operands[4]))
30140 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30141 : STRIP_UNARY (operands[3]))
30142 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30143 : STRIP_UNARY (operands[3])))) &&
30144 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30145 : (TARGET_SSE2)) &&
30146 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30147 : ( 1)))
30148 : return NULL;
30149 : return gen_split_3025 (insn, operands);
30150 :
30151 : default:
30152 : return NULL;
30153 : }
30154 :
30155 : default:
30156 : return NULL;
30157 : }
30158 :
30159 : case XOR:
30160 : x4 = XEXP (x3, 0);
30161 : switch (GET_CODE (x4))
30162 : {
30163 : case REG:
30164 : case SUBREG:
30165 : case MEM:
30166 : case NOT:
30167 : switch (pattern543 (x2))
30168 : {
30169 : case 0:
30170 : if (!((
30171 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30172 : ((64 == 64 || TARGET_AVX512VL
30173 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30174 : && ix86_pre_reload_split ()
30175 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30176 : STRIP_UNARY (operands[4]))
30177 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30178 : STRIP_UNARY (operands[4]))
30179 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30180 : STRIP_UNARY (operands[3]))
30181 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30182 : STRIP_UNARY (operands[3])))) &&
30183 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30184 : (TARGET_AVX512F)) &&
30185 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30186 : ( 1)))
30187 : return NULL;
30188 : return gen_split_2083 (insn, operands);
30189 :
30190 : case 1:
30191 : if (!((
30192 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30193 : ((32 == 64 || TARGET_AVX512VL
30194 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30195 : && ix86_pre_reload_split ()
30196 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30197 : STRIP_UNARY (operands[4]))
30198 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30199 : STRIP_UNARY (operands[4]))
30200 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30201 : STRIP_UNARY (operands[3]))
30202 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30203 : STRIP_UNARY (operands[3])))) &&
30204 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30205 : (TARGET_AVX)) &&
30206 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30207 : ( 1)))
30208 : return NULL;
30209 : return gen_split_2110 (insn, operands);
30210 :
30211 : case 2:
30212 : if (!(
30213 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30214 : ((16 == 64 || TARGET_AVX512VL
30215 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30216 : && ix86_pre_reload_split ()
30217 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30218 : STRIP_UNARY (operands[4]))
30219 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30220 : STRIP_UNARY (operands[4]))
30221 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30222 : STRIP_UNARY (operands[3]))
30223 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30224 : STRIP_UNARY (operands[3])))) &&
30225 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30226 : ( 1)))
30227 : return NULL;
30228 : return gen_split_2137 (insn, operands);
30229 :
30230 : case 3:
30231 : if (!((
30232 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30233 : ((64 == 64 || TARGET_AVX512VL
30234 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30235 : && ix86_pre_reload_split ()
30236 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30237 : STRIP_UNARY (operands[4]))
30238 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30239 : STRIP_UNARY (operands[4]))
30240 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30241 : STRIP_UNARY (operands[3]))
30242 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30243 : STRIP_UNARY (operands[3])))) &&
30244 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30245 : (TARGET_AVX512F)) &&
30246 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30247 : ( 1)))
30248 : return NULL;
30249 : return gen_split_2164 (insn, operands);
30250 :
30251 : case 4:
30252 : if (!((
30253 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30254 : ((32 == 64 || TARGET_AVX512VL
30255 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30256 : && ix86_pre_reload_split ()
30257 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30258 : STRIP_UNARY (operands[4]))
30259 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30260 : STRIP_UNARY (operands[4]))
30261 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30262 : STRIP_UNARY (operands[3]))
30263 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30264 : STRIP_UNARY (operands[3])))) &&
30265 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30266 : (TARGET_AVX)) &&
30267 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30268 : ( 1)))
30269 : return NULL;
30270 : return gen_split_2191 (insn, operands);
30271 :
30272 : case 5:
30273 : if (!(
30274 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30275 : ((16 == 64 || TARGET_AVX512VL
30276 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30277 : && ix86_pre_reload_split ()
30278 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30279 : STRIP_UNARY (operands[4]))
30280 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30281 : STRIP_UNARY (operands[4]))
30282 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30283 : STRIP_UNARY (operands[3]))
30284 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30285 : STRIP_UNARY (operands[3])))) &&
30286 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30287 : ( 1)))
30288 : return NULL;
30289 : return gen_split_2218 (insn, operands);
30290 :
30291 : case 6:
30292 : if (!((
30293 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30294 : ((64 == 64 || TARGET_AVX512VL
30295 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30296 : && ix86_pre_reload_split ()
30297 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30298 : STRIP_UNARY (operands[4]))
30299 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30300 : STRIP_UNARY (operands[4]))
30301 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30302 : STRIP_UNARY (operands[3]))
30303 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30304 : STRIP_UNARY (operands[3])))) &&
30305 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30306 : (TARGET_AVX512F)) &&
30307 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30308 : ( 1)))
30309 : return NULL;
30310 : return gen_split_2245 (insn, operands);
30311 :
30312 : case 7:
30313 : if (!((
30314 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30315 : ((32 == 64 || TARGET_AVX512VL
30316 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30317 : && ix86_pre_reload_split ()
30318 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30319 : STRIP_UNARY (operands[4]))
30320 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30321 : STRIP_UNARY (operands[4]))
30322 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30323 : STRIP_UNARY (operands[3]))
30324 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30325 : STRIP_UNARY (operands[3])))) &&
30326 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30327 : (TARGET_AVX)) &&
30328 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30329 : ( 1)))
30330 : return NULL;
30331 : return gen_split_2272 (insn, operands);
30332 :
30333 : case 8:
30334 : if (!(
30335 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30336 : ((16 == 64 || TARGET_AVX512VL
30337 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30338 : && ix86_pre_reload_split ()
30339 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30340 : STRIP_UNARY (operands[4]))
30341 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30342 : STRIP_UNARY (operands[4]))
30343 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30344 : STRIP_UNARY (operands[3]))
30345 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30346 : STRIP_UNARY (operands[3])))) &&
30347 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30348 : ( 1)))
30349 : return NULL;
30350 : return gen_split_2299 (insn, operands);
30351 :
30352 : case 9:
30353 : if (!((
30354 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30355 : ((64 == 64 || TARGET_AVX512VL
30356 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30357 : && ix86_pre_reload_split ()
30358 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30359 : STRIP_UNARY (operands[4]))
30360 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30361 : STRIP_UNARY (operands[4]))
30362 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30363 : STRIP_UNARY (operands[3]))
30364 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30365 : STRIP_UNARY (operands[3])))) &&
30366 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30367 : (TARGET_AVX512F)) &&
30368 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30369 : ( 1)))
30370 : return NULL;
30371 : return gen_split_2326 (insn, operands);
30372 :
30373 : case 10:
30374 : if (!((
30375 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30376 : ((32 == 64 || TARGET_AVX512VL
30377 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30378 : && ix86_pre_reload_split ()
30379 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30380 : STRIP_UNARY (operands[4]))
30381 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30382 : STRIP_UNARY (operands[4]))
30383 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30384 : STRIP_UNARY (operands[3]))
30385 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30386 : STRIP_UNARY (operands[3])))) &&
30387 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30388 : (TARGET_AVX)) &&
30389 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30390 : ( 1)))
30391 : return NULL;
30392 : return gen_split_2353 (insn, operands);
30393 :
30394 : case 11:
30395 : if (!((
30396 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30397 : ((16 == 64 || TARGET_AVX512VL
30398 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30399 : && ix86_pre_reload_split ()
30400 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30401 : STRIP_UNARY (operands[4]))
30402 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30403 : STRIP_UNARY (operands[4]))
30404 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30405 : STRIP_UNARY (operands[3]))
30406 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30407 : STRIP_UNARY (operands[3])))) &&
30408 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30409 : (TARGET_SSE2)) &&
30410 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30411 : ( 1)))
30412 : return NULL;
30413 : return gen_split_2380 (insn, operands);
30414 :
30415 : case 12:
30416 : if (!((
30417 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30418 : ((64 == 64 || TARGET_AVX512VL
30419 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30420 : && ix86_pre_reload_split ()
30421 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30422 : STRIP_UNARY (operands[4]))
30423 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30424 : STRIP_UNARY (operands[4]))
30425 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30426 : STRIP_UNARY (operands[3]))
30427 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30428 : STRIP_UNARY (operands[3])))) &&
30429 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30430 : (TARGET_AVX512F)) &&
30431 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30432 : ( 1)))
30433 : return NULL;
30434 : return gen_split_2086 (insn, operands);
30435 :
30436 : case 13:
30437 : if (!((
30438 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30439 : ((32 == 64 || TARGET_AVX512VL
30440 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30441 : && ix86_pre_reload_split ()
30442 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30443 : STRIP_UNARY (operands[4]))
30444 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30445 : STRIP_UNARY (operands[4]))
30446 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30447 : STRIP_UNARY (operands[3]))
30448 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30449 : STRIP_UNARY (operands[3])))) &&
30450 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30451 : (TARGET_AVX)) &&
30452 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30453 : ( 1)))
30454 : return NULL;
30455 : return gen_split_2113 (insn, operands);
30456 :
30457 : case 14:
30458 : if (!(
30459 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30460 : ((16 == 64 || TARGET_AVX512VL
30461 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30462 : && ix86_pre_reload_split ()
30463 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30464 : STRIP_UNARY (operands[4]))
30465 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30466 : STRIP_UNARY (operands[4]))
30467 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30468 : STRIP_UNARY (operands[3]))
30469 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30470 : STRIP_UNARY (operands[3])))) &&
30471 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30472 : ( 1)))
30473 : return NULL;
30474 : return gen_split_2140 (insn, operands);
30475 :
30476 : case 15:
30477 : if (!((
30478 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30479 : ((64 == 64 || TARGET_AVX512VL
30480 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30481 : && ix86_pre_reload_split ()
30482 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30483 : STRIP_UNARY (operands[4]))
30484 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30485 : STRIP_UNARY (operands[4]))
30486 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30487 : STRIP_UNARY (operands[3]))
30488 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30489 : STRIP_UNARY (operands[3])))) &&
30490 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30491 : (TARGET_AVX512F)) &&
30492 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30493 : ( 1)))
30494 : return NULL;
30495 : return gen_split_2167 (insn, operands);
30496 :
30497 : case 16:
30498 : if (!((
30499 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30500 : ((32 == 64 || TARGET_AVX512VL
30501 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30502 : && ix86_pre_reload_split ()
30503 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30504 : STRIP_UNARY (operands[4]))
30505 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30506 : STRIP_UNARY (operands[4]))
30507 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30508 : STRIP_UNARY (operands[3]))
30509 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30510 : STRIP_UNARY (operands[3])))) &&
30511 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30512 : (TARGET_AVX)) &&
30513 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30514 : ( 1)))
30515 : return NULL;
30516 : return gen_split_2194 (insn, operands);
30517 :
30518 : case 17:
30519 : if (!(
30520 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30521 : ((16 == 64 || TARGET_AVX512VL
30522 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30523 : && ix86_pre_reload_split ()
30524 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30525 : STRIP_UNARY (operands[4]))
30526 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30527 : STRIP_UNARY (operands[4]))
30528 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30529 : STRIP_UNARY (operands[3]))
30530 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30531 : STRIP_UNARY (operands[3])))) &&
30532 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30533 : ( 1)))
30534 : return NULL;
30535 : return gen_split_2221 (insn, operands);
30536 :
30537 : case 18:
30538 : if (!((
30539 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30540 : ((64 == 64 || TARGET_AVX512VL
30541 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30542 : && ix86_pre_reload_split ()
30543 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30544 : STRIP_UNARY (operands[4]))
30545 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30546 : STRIP_UNARY (operands[4]))
30547 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30548 : STRIP_UNARY (operands[3]))
30549 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30550 : STRIP_UNARY (operands[3])))) &&
30551 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30552 : (TARGET_AVX512F)) &&
30553 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30554 : ( 1)))
30555 : return NULL;
30556 : return gen_split_2248 (insn, operands);
30557 :
30558 : case 19:
30559 : if (!((
30560 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30561 : ((32 == 64 || TARGET_AVX512VL
30562 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30563 : && ix86_pre_reload_split ()
30564 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30565 : STRIP_UNARY (operands[4]))
30566 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30567 : STRIP_UNARY (operands[4]))
30568 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30569 : STRIP_UNARY (operands[3]))
30570 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30571 : STRIP_UNARY (operands[3])))) &&
30572 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30573 : (TARGET_AVX)) &&
30574 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30575 : ( 1)))
30576 : return NULL;
30577 : return gen_split_2275 (insn, operands);
30578 :
30579 : case 20:
30580 : if (!(
30581 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30582 : ((16 == 64 || TARGET_AVX512VL
30583 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30584 : && ix86_pre_reload_split ()
30585 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30586 : STRIP_UNARY (operands[4]))
30587 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30588 : STRIP_UNARY (operands[4]))
30589 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30590 : STRIP_UNARY (operands[3]))
30591 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30592 : STRIP_UNARY (operands[3])))) &&
30593 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30594 : ( 1)))
30595 : return NULL;
30596 : return gen_split_2302 (insn, operands);
30597 :
30598 : case 21:
30599 : if (!((
30600 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30601 : ((64 == 64 || TARGET_AVX512VL
30602 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30603 : && ix86_pre_reload_split ()
30604 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30605 : STRIP_UNARY (operands[4]))
30606 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30607 : STRIP_UNARY (operands[4]))
30608 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30609 : STRIP_UNARY (operands[3]))
30610 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30611 : STRIP_UNARY (operands[3])))) &&
30612 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30613 : (TARGET_AVX512F)) &&
30614 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30615 : ( 1)))
30616 : return NULL;
30617 : return gen_split_2329 (insn, operands);
30618 :
30619 : case 22:
30620 : if (!((
30621 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30622 : ((32 == 64 || TARGET_AVX512VL
30623 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30624 : && ix86_pre_reload_split ()
30625 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30626 : STRIP_UNARY (operands[4]))
30627 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30628 : STRIP_UNARY (operands[4]))
30629 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30630 : STRIP_UNARY (operands[3]))
30631 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30632 : STRIP_UNARY (operands[3])))) &&
30633 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30634 : (TARGET_AVX)) &&
30635 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30636 : ( 1)))
30637 : return NULL;
30638 : return gen_split_2356 (insn, operands);
30639 :
30640 : case 23:
30641 : if (!((
30642 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30643 : ((16 == 64 || TARGET_AVX512VL
30644 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30645 : && ix86_pre_reload_split ()
30646 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30647 : STRIP_UNARY (operands[4]))
30648 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30649 : STRIP_UNARY (operands[4]))
30650 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30651 : STRIP_UNARY (operands[3]))
30652 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30653 : STRIP_UNARY (operands[3])))) &&
30654 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30655 : (TARGET_SSE2)) &&
30656 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30657 : ( 1)))
30658 : return NULL;
30659 : return gen_split_2383 (insn, operands);
30660 :
30661 : case 24:
30662 : if (!((
30663 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30664 : ((64 == 64 || TARGET_AVX512VL
30665 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30666 : && ix86_pre_reload_split ()
30667 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30668 : STRIP_UNARY (operands[4]))
30669 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30670 : STRIP_UNARY (operands[4]))
30671 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30672 : STRIP_UNARY (operands[3]))
30673 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30674 : STRIP_UNARY (operands[3])))) &&
30675 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30676 : (TARGET_AVX512F)) &&
30677 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30678 : ( 1)))
30679 : return NULL;
30680 : return gen_split_2089 (insn, operands);
30681 :
30682 : case 25:
30683 : if (!((
30684 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30685 : ((32 == 64 || TARGET_AVX512VL
30686 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30687 : && ix86_pre_reload_split ()
30688 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30689 : STRIP_UNARY (operands[4]))
30690 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30691 : STRIP_UNARY (operands[4]))
30692 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30693 : STRIP_UNARY (operands[3]))
30694 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30695 : STRIP_UNARY (operands[3])))) &&
30696 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30697 : (TARGET_AVX)) &&
30698 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30699 : ( 1)))
30700 : return NULL;
30701 : return gen_split_2116 (insn, operands);
30702 :
30703 : case 26:
30704 : if (!(
30705 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30706 : ((16 == 64 || TARGET_AVX512VL
30707 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30708 : && ix86_pre_reload_split ()
30709 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30710 : STRIP_UNARY (operands[4]))
30711 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30712 : STRIP_UNARY (operands[4]))
30713 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30714 : STRIP_UNARY (operands[3]))
30715 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30716 : STRIP_UNARY (operands[3])))) &&
30717 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30718 : ( 1)))
30719 : return NULL;
30720 : return gen_split_2143 (insn, operands);
30721 :
30722 : case 27:
30723 : if (!((
30724 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30725 : ((64 == 64 || TARGET_AVX512VL
30726 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30727 : && ix86_pre_reload_split ()
30728 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30729 : STRIP_UNARY (operands[4]))
30730 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30731 : STRIP_UNARY (operands[4]))
30732 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30733 : STRIP_UNARY (operands[3]))
30734 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30735 : STRIP_UNARY (operands[3])))) &&
30736 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30737 : (TARGET_AVX512F)) &&
30738 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30739 : ( 1)))
30740 : return NULL;
30741 : return gen_split_2170 (insn, operands);
30742 :
30743 : case 28:
30744 : if (!((
30745 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30746 : ((32 == 64 || TARGET_AVX512VL
30747 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30748 : && ix86_pre_reload_split ()
30749 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30750 : STRIP_UNARY (operands[4]))
30751 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30752 : STRIP_UNARY (operands[4]))
30753 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30754 : STRIP_UNARY (operands[3]))
30755 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30756 : STRIP_UNARY (operands[3])))) &&
30757 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30758 : (TARGET_AVX)) &&
30759 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30760 : ( 1)))
30761 : return NULL;
30762 : return gen_split_2197 (insn, operands);
30763 :
30764 : case 29:
30765 : if (!(
30766 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30767 : ((16 == 64 || TARGET_AVX512VL
30768 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30769 : && ix86_pre_reload_split ()
30770 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30771 : STRIP_UNARY (operands[4]))
30772 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30773 : STRIP_UNARY (operands[4]))
30774 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30775 : STRIP_UNARY (operands[3]))
30776 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30777 : STRIP_UNARY (operands[3])))) &&
30778 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30779 : ( 1)))
30780 : return NULL;
30781 : return gen_split_2224 (insn, operands);
30782 :
30783 : case 30:
30784 : if (!((
30785 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30786 : ((64 == 64 || TARGET_AVX512VL
30787 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30788 : && ix86_pre_reload_split ()
30789 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30790 : STRIP_UNARY (operands[4]))
30791 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30792 : STRIP_UNARY (operands[4]))
30793 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30794 : STRIP_UNARY (operands[3]))
30795 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30796 : STRIP_UNARY (operands[3])))) &&
30797 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30798 : (TARGET_AVX512F)) &&
30799 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30800 : ( 1)))
30801 : return NULL;
30802 : return gen_split_2251 (insn, operands);
30803 :
30804 : case 31:
30805 : if (!((
30806 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30807 : ((32 == 64 || TARGET_AVX512VL
30808 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30809 : && ix86_pre_reload_split ()
30810 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30811 : STRIP_UNARY (operands[4]))
30812 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30813 : STRIP_UNARY (operands[4]))
30814 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30815 : STRIP_UNARY (operands[3]))
30816 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30817 : STRIP_UNARY (operands[3])))) &&
30818 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30819 : (TARGET_AVX)) &&
30820 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30821 : ( 1)))
30822 : return NULL;
30823 : return gen_split_2278 (insn, operands);
30824 :
30825 : case 32:
30826 : if (!(
30827 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30828 : ((16 == 64 || TARGET_AVX512VL
30829 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30830 : && ix86_pre_reload_split ()
30831 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30832 : STRIP_UNARY (operands[4]))
30833 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30834 : STRIP_UNARY (operands[4]))
30835 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30836 : STRIP_UNARY (operands[3]))
30837 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30838 : STRIP_UNARY (operands[3])))) &&
30839 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30840 : ( 1)))
30841 : return NULL;
30842 : return gen_split_2305 (insn, operands);
30843 :
30844 : case 33:
30845 : if (!((
30846 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30847 : ((64 == 64 || TARGET_AVX512VL
30848 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30849 : && ix86_pre_reload_split ()
30850 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30851 : STRIP_UNARY (operands[4]))
30852 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30853 : STRIP_UNARY (operands[4]))
30854 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30855 : STRIP_UNARY (operands[3]))
30856 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30857 : STRIP_UNARY (operands[3])))) &&
30858 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30859 : (TARGET_AVX512F)) &&
30860 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30861 : ( 1)))
30862 : return NULL;
30863 : return gen_split_2332 (insn, operands);
30864 :
30865 : case 34:
30866 : if (!((
30867 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30868 : ((32 == 64 || TARGET_AVX512VL
30869 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30870 : && ix86_pre_reload_split ()
30871 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30872 : STRIP_UNARY (operands[4]))
30873 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30874 : STRIP_UNARY (operands[4]))
30875 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30876 : STRIP_UNARY (operands[3]))
30877 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30878 : STRIP_UNARY (operands[3])))) &&
30879 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30880 : (TARGET_AVX)) &&
30881 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30882 : ( 1)))
30883 : return NULL;
30884 : return gen_split_2359 (insn, operands);
30885 :
30886 : case 35:
30887 : if (!((
30888 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30889 : ((16 == 64 || TARGET_AVX512VL
30890 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30891 : && ix86_pre_reload_split ()
30892 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30893 : STRIP_UNARY (operands[4]))
30894 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30895 : STRIP_UNARY (operands[4]))
30896 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30897 : STRIP_UNARY (operands[3]))
30898 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30899 : STRIP_UNARY (operands[3])))) &&
30900 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30901 : (TARGET_SSE2)) &&
30902 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30903 : ( 1)))
30904 : return NULL;
30905 : return gen_split_2386 (insn, operands);
30906 :
30907 : case 36:
30908 : if (!((
30909 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30910 : ((64 == 64 || TARGET_AVX512VL
30911 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30912 : && ix86_pre_reload_split ()) &&
30913 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30914 : (TARGET_AVX512F)) &&
30915 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30916 : ( 1)))
30917 : return NULL;
30918 : return gen_split_3151 (insn, operands);
30919 :
30920 : case 37:
30921 : if (!((
30922 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30923 : ((32 == 64 || TARGET_AVX512VL
30924 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30925 : && ix86_pre_reload_split ()) &&
30926 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30927 : (TARGET_AVX)) &&
30928 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30929 : ( 1)))
30930 : return NULL;
30931 : return gen_split_3160 (insn, operands);
30932 :
30933 : case 38:
30934 : if (!(
30935 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30936 : ((16 == 64 || TARGET_AVX512VL
30937 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30938 : && ix86_pre_reload_split ()) &&
30939 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30940 : ( 1)))
30941 : return NULL;
30942 : return gen_split_3169 (insn, operands);
30943 :
30944 : case 39:
30945 : if (!((
30946 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30947 : ((64 == 64 || TARGET_AVX512VL
30948 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30949 : && ix86_pre_reload_split ()) &&
30950 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30951 : (TARGET_AVX512F)) &&
30952 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30953 : ( 1)))
30954 : return NULL;
30955 : return gen_split_3178 (insn, operands);
30956 :
30957 : case 40:
30958 : if (!((
30959 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30960 : ((32 == 64 || TARGET_AVX512VL
30961 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30962 : && ix86_pre_reload_split ()) &&
30963 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30964 : (TARGET_AVX)) &&
30965 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30966 : ( 1)))
30967 : return NULL;
30968 : return gen_split_3187 (insn, operands);
30969 :
30970 : case 41:
30971 : if (!(
30972 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30973 : ((16 == 64 || TARGET_AVX512VL
30974 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30975 : && ix86_pre_reload_split ()) &&
30976 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30977 : ( 1)))
30978 : return NULL;
30979 : return gen_split_3196 (insn, operands);
30980 :
30981 : case 42:
30982 : if (!((
30983 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30984 : ((64 == 64 || TARGET_AVX512VL
30985 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30986 : && ix86_pre_reload_split ()) &&
30987 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30988 : (TARGET_AVX512F)) &&
30989 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30990 : ( 1)))
30991 : return NULL;
30992 : return gen_split_3205 (insn, operands);
30993 :
30994 : case 43:
30995 : if (!((
30996 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30997 : ((32 == 64 || TARGET_AVX512VL
30998 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30999 : && ix86_pre_reload_split ()) &&
31000 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31001 : (TARGET_AVX)) &&
31002 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31003 : ( 1)))
31004 : return NULL;
31005 : return gen_split_3214 (insn, operands);
31006 :
31007 : case 44:
31008 : if (!(
31009 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31010 : ((16 == 64 || TARGET_AVX512VL
31011 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31012 : && ix86_pre_reload_split ()) &&
31013 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31014 : ( 1)))
31015 : return NULL;
31016 : return gen_split_3223 (insn, operands);
31017 :
31018 : case 45:
31019 : if (!((
31020 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31021 : ((64 == 64 || TARGET_AVX512VL
31022 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31023 : && ix86_pre_reload_split ()) &&
31024 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31025 : (TARGET_AVX512F)) &&
31026 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31027 : ( 1)))
31028 : return NULL;
31029 : return gen_split_3232 (insn, operands);
31030 :
31031 : case 46:
31032 : if (!((
31033 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31034 : ((32 == 64 || TARGET_AVX512VL
31035 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31036 : && ix86_pre_reload_split ()) &&
31037 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31038 : (TARGET_AVX)) &&
31039 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31040 : ( 1)))
31041 : return NULL;
31042 : return gen_split_3241 (insn, operands);
31043 :
31044 : case 47:
31045 : if (!((
31046 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31047 : ((16 == 64 || TARGET_AVX512VL
31048 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31049 : && ix86_pre_reload_split ()) &&
31050 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31051 : (TARGET_SSE2)) &&
31052 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31053 : ( 1)))
31054 : return NULL;
31055 : return gen_split_3250 (insn, operands);
31056 :
31057 : default:
31058 : return NULL;
31059 : }
31060 :
31061 : case AND:
31062 : switch (pattern544 (x2))
31063 : {
31064 : case 0:
31065 : if (!((
31066 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31067 : ((64 == 64 || TARGET_AVX512VL
31068 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31069 : && ix86_pre_reload_split ()
31070 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31071 : STRIP_UNARY (operands[4]))
31072 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31073 : STRIP_UNARY (operands[4]))
31074 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31075 : STRIP_UNARY (operands[3]))
31076 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31077 : STRIP_UNARY (operands[3])))) &&
31078 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31079 : (TARGET_AVX512F)) &&
31080 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31081 : ( 1)))
31082 : return NULL;
31083 : return gen_split_2731 (insn, operands);
31084 :
31085 : case 1:
31086 : if (!((
31087 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31088 : ((32 == 64 || TARGET_AVX512VL
31089 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31090 : && ix86_pre_reload_split ()
31091 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31092 : STRIP_UNARY (operands[4]))
31093 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31094 : STRIP_UNARY (operands[4]))
31095 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31096 : STRIP_UNARY (operands[3]))
31097 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31098 : STRIP_UNARY (operands[3])))) &&
31099 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31100 : (TARGET_AVX)) &&
31101 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31102 : ( 1)))
31103 : return NULL;
31104 : return gen_split_2758 (insn, operands);
31105 :
31106 : case 2:
31107 : if (!(
31108 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31109 : ((16 == 64 || TARGET_AVX512VL
31110 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31111 : && ix86_pre_reload_split ()
31112 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31113 : STRIP_UNARY (operands[4]))
31114 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31115 : STRIP_UNARY (operands[4]))
31116 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31117 : STRIP_UNARY (operands[3]))
31118 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31119 : STRIP_UNARY (operands[3])))) &&
31120 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31121 : ( 1)))
31122 : return NULL;
31123 : return gen_split_2785 (insn, operands);
31124 :
31125 : case 3:
31126 : if (!((
31127 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31128 : ((64 == 64 || TARGET_AVX512VL
31129 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31130 : && ix86_pre_reload_split ()
31131 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31132 : STRIP_UNARY (operands[4]))
31133 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31134 : STRIP_UNARY (operands[4]))
31135 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31136 : STRIP_UNARY (operands[3]))
31137 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31138 : STRIP_UNARY (operands[3])))) &&
31139 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31140 : (TARGET_AVX512F)) &&
31141 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31142 : ( 1)))
31143 : return NULL;
31144 : return gen_split_2812 (insn, operands);
31145 :
31146 : case 4:
31147 : if (!((
31148 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31149 : ((32 == 64 || TARGET_AVX512VL
31150 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31151 : && ix86_pre_reload_split ()
31152 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31153 : STRIP_UNARY (operands[4]))
31154 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31155 : STRIP_UNARY (operands[4]))
31156 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31157 : STRIP_UNARY (operands[3]))
31158 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31159 : STRIP_UNARY (operands[3])))) &&
31160 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31161 : (TARGET_AVX)) &&
31162 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31163 : ( 1)))
31164 : return NULL;
31165 : return gen_split_2839 (insn, operands);
31166 :
31167 : case 5:
31168 : if (!(
31169 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31170 : ((16 == 64 || TARGET_AVX512VL
31171 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31172 : && ix86_pre_reload_split ()
31173 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31174 : STRIP_UNARY (operands[4]))
31175 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31176 : STRIP_UNARY (operands[4]))
31177 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31178 : STRIP_UNARY (operands[3]))
31179 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31180 : STRIP_UNARY (operands[3])))) &&
31181 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31182 : ( 1)))
31183 : return NULL;
31184 : return gen_split_2866 (insn, operands);
31185 :
31186 : case 6:
31187 : if (!((
31188 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31189 : ((64 == 64 || TARGET_AVX512VL
31190 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31191 : && ix86_pre_reload_split ()
31192 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31193 : STRIP_UNARY (operands[4]))
31194 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31195 : STRIP_UNARY (operands[4]))
31196 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31197 : STRIP_UNARY (operands[3]))
31198 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31199 : STRIP_UNARY (operands[3])))) &&
31200 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31201 : (TARGET_AVX512F)) &&
31202 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31203 : ( 1)))
31204 : return NULL;
31205 : return gen_split_2893 (insn, operands);
31206 :
31207 : case 7:
31208 : if (!((
31209 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31210 : ((32 == 64 || TARGET_AVX512VL
31211 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31212 : && ix86_pre_reload_split ()
31213 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31214 : STRIP_UNARY (operands[4]))
31215 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31216 : STRIP_UNARY (operands[4]))
31217 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31218 : STRIP_UNARY (operands[3]))
31219 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31220 : STRIP_UNARY (operands[3])))) &&
31221 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31222 : (TARGET_AVX)) &&
31223 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31224 : ( 1)))
31225 : return NULL;
31226 : return gen_split_2920 (insn, operands);
31227 :
31228 : case 8:
31229 : if (!(
31230 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31231 : ((16 == 64 || TARGET_AVX512VL
31232 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31233 : && ix86_pre_reload_split ()
31234 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31235 : STRIP_UNARY (operands[4]))
31236 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31237 : STRIP_UNARY (operands[4]))
31238 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31239 : STRIP_UNARY (operands[3]))
31240 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31241 : STRIP_UNARY (operands[3])))) &&
31242 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31243 : ( 1)))
31244 : return NULL;
31245 : return gen_split_2947 (insn, operands);
31246 :
31247 : case 9:
31248 : if (!((
31249 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31250 : ((64 == 64 || TARGET_AVX512VL
31251 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31252 : && ix86_pre_reload_split ()
31253 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31254 : STRIP_UNARY (operands[4]))
31255 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31256 : STRIP_UNARY (operands[4]))
31257 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31258 : STRIP_UNARY (operands[3]))
31259 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31260 : STRIP_UNARY (operands[3])))) &&
31261 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31262 : (TARGET_AVX512F)) &&
31263 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31264 : ( 1)))
31265 : return NULL;
31266 : return gen_split_2974 (insn, operands);
31267 :
31268 : case 10:
31269 : if (!((
31270 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31271 : ((32 == 64 || TARGET_AVX512VL
31272 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31273 : && ix86_pre_reload_split ()
31274 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31275 : STRIP_UNARY (operands[4]))
31276 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31277 : STRIP_UNARY (operands[4]))
31278 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31279 : STRIP_UNARY (operands[3]))
31280 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31281 : STRIP_UNARY (operands[3])))) &&
31282 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31283 : (TARGET_AVX)) &&
31284 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31285 : ( 1)))
31286 : return NULL;
31287 : return gen_split_3001 (insn, operands);
31288 :
31289 : case 11:
31290 : if (!((
31291 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31292 : ((16 == 64 || TARGET_AVX512VL
31293 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31294 : && ix86_pre_reload_split ()
31295 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31296 : STRIP_UNARY (operands[4]))
31297 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31298 : STRIP_UNARY (operands[4]))
31299 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31300 : STRIP_UNARY (operands[3]))
31301 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31302 : STRIP_UNARY (operands[3])))) &&
31303 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31304 : (TARGET_SSE2)) &&
31305 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31306 : ( 1)))
31307 : return NULL;
31308 : return gen_split_3028 (insn, operands);
31309 :
31310 : default:
31311 : return NULL;
31312 : }
31313 :
31314 : case IOR:
31315 : switch (pattern544 (x2))
31316 : {
31317 : case 0:
31318 : if (!((
31319 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31320 : ((64 == 64 || TARGET_AVX512VL
31321 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31322 : && ix86_pre_reload_split ()
31323 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31324 : STRIP_UNARY (operands[4]))
31325 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31326 : STRIP_UNARY (operands[4]))
31327 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31328 : STRIP_UNARY (operands[3]))
31329 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31330 : STRIP_UNARY (operands[3])))) &&
31331 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31332 : (TARGET_AVX512F)) &&
31333 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31334 : ( 1)))
31335 : return NULL;
31336 : return gen_split_2734 (insn, operands);
31337 :
31338 : case 1:
31339 : if (!((
31340 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31341 : ((32 == 64 || TARGET_AVX512VL
31342 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31343 : && ix86_pre_reload_split ()
31344 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31345 : STRIP_UNARY (operands[4]))
31346 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31347 : STRIP_UNARY (operands[4]))
31348 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31349 : STRIP_UNARY (operands[3]))
31350 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31351 : STRIP_UNARY (operands[3])))) &&
31352 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31353 : (TARGET_AVX)) &&
31354 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31355 : ( 1)))
31356 : return NULL;
31357 : return gen_split_2761 (insn, operands);
31358 :
31359 : case 2:
31360 : if (!(
31361 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31362 : ((16 == 64 || TARGET_AVX512VL
31363 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31364 : && ix86_pre_reload_split ()
31365 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31366 : STRIP_UNARY (operands[4]))
31367 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31368 : STRIP_UNARY (operands[4]))
31369 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31370 : STRIP_UNARY (operands[3]))
31371 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31372 : STRIP_UNARY (operands[3])))) &&
31373 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31374 : ( 1)))
31375 : return NULL;
31376 : return gen_split_2788 (insn, operands);
31377 :
31378 : case 3:
31379 : if (!((
31380 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31381 : ((64 == 64 || TARGET_AVX512VL
31382 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31383 : && ix86_pre_reload_split ()
31384 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31385 : STRIP_UNARY (operands[4]))
31386 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31387 : STRIP_UNARY (operands[4]))
31388 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31389 : STRIP_UNARY (operands[3]))
31390 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31391 : STRIP_UNARY (operands[3])))) &&
31392 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31393 : (TARGET_AVX512F)) &&
31394 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31395 : ( 1)))
31396 : return NULL;
31397 : return gen_split_2815 (insn, operands);
31398 :
31399 : case 4:
31400 : if (!((
31401 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31402 : ((32 == 64 || TARGET_AVX512VL
31403 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31404 : && ix86_pre_reload_split ()
31405 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31406 : STRIP_UNARY (operands[4]))
31407 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31408 : STRIP_UNARY (operands[4]))
31409 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31410 : STRIP_UNARY (operands[3]))
31411 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31412 : STRIP_UNARY (operands[3])))) &&
31413 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31414 : (TARGET_AVX)) &&
31415 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31416 : ( 1)))
31417 : return NULL;
31418 : return gen_split_2842 (insn, operands);
31419 :
31420 : case 5:
31421 : if (!(
31422 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31423 : ((16 == 64 || TARGET_AVX512VL
31424 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31425 : && ix86_pre_reload_split ()
31426 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31427 : STRIP_UNARY (operands[4]))
31428 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31429 : STRIP_UNARY (operands[4]))
31430 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31431 : STRIP_UNARY (operands[3]))
31432 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31433 : STRIP_UNARY (operands[3])))) &&
31434 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31435 : ( 1)))
31436 : return NULL;
31437 : return gen_split_2869 (insn, operands);
31438 :
31439 : case 6:
31440 : if (!((
31441 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31442 : ((64 == 64 || TARGET_AVX512VL
31443 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31444 : && ix86_pre_reload_split ()
31445 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31446 : STRIP_UNARY (operands[4]))
31447 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31448 : STRIP_UNARY (operands[4]))
31449 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31450 : STRIP_UNARY (operands[3]))
31451 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31452 : STRIP_UNARY (operands[3])))) &&
31453 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31454 : (TARGET_AVX512F)) &&
31455 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31456 : ( 1)))
31457 : return NULL;
31458 : return gen_split_2896 (insn, operands);
31459 :
31460 : case 7:
31461 : if (!((
31462 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31463 : ((32 == 64 || TARGET_AVX512VL
31464 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31465 : && ix86_pre_reload_split ()
31466 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31467 : STRIP_UNARY (operands[4]))
31468 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31469 : STRIP_UNARY (operands[4]))
31470 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31471 : STRIP_UNARY (operands[3]))
31472 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31473 : STRIP_UNARY (operands[3])))) &&
31474 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31475 : (TARGET_AVX)) &&
31476 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31477 : ( 1)))
31478 : return NULL;
31479 : return gen_split_2923 (insn, operands);
31480 :
31481 : case 8:
31482 : if (!(
31483 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31484 : ((16 == 64 || TARGET_AVX512VL
31485 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31486 : && ix86_pre_reload_split ()
31487 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31488 : STRIP_UNARY (operands[4]))
31489 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31490 : STRIP_UNARY (operands[4]))
31491 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31492 : STRIP_UNARY (operands[3]))
31493 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31494 : STRIP_UNARY (operands[3])))) &&
31495 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31496 : ( 1)))
31497 : return NULL;
31498 : return gen_split_2950 (insn, operands);
31499 :
31500 : case 9:
31501 : if (!((
31502 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31503 : ((64 == 64 || TARGET_AVX512VL
31504 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31505 : && ix86_pre_reload_split ()
31506 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31507 : STRIP_UNARY (operands[4]))
31508 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31509 : STRIP_UNARY (operands[4]))
31510 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31511 : STRIP_UNARY (operands[3]))
31512 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31513 : STRIP_UNARY (operands[3])))) &&
31514 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31515 : (TARGET_AVX512F)) &&
31516 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31517 : ( 1)))
31518 : return NULL;
31519 : return gen_split_2977 (insn, operands);
31520 :
31521 : case 10:
31522 : if (!((
31523 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31524 : ((32 == 64 || TARGET_AVX512VL
31525 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31526 : && ix86_pre_reload_split ()
31527 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31528 : STRIP_UNARY (operands[4]))
31529 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31530 : STRIP_UNARY (operands[4]))
31531 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31532 : STRIP_UNARY (operands[3]))
31533 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31534 : STRIP_UNARY (operands[3])))) &&
31535 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31536 : (TARGET_AVX)) &&
31537 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31538 : ( 1)))
31539 : return NULL;
31540 : return gen_split_3004 (insn, operands);
31541 :
31542 : case 11:
31543 : if (!((
31544 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31545 : ((16 == 64 || TARGET_AVX512VL
31546 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31547 : && ix86_pre_reload_split ()
31548 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31549 : STRIP_UNARY (operands[4]))
31550 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31551 : STRIP_UNARY (operands[4]))
31552 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31553 : STRIP_UNARY (operands[3]))
31554 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31555 : STRIP_UNARY (operands[3])))) &&
31556 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31557 : (TARGET_SSE2)) &&
31558 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31559 : ( 1)))
31560 : return NULL;
31561 : return gen_split_3031 (insn, operands);
31562 :
31563 : default:
31564 : return NULL;
31565 : }
31566 :
31567 : case XOR:
31568 : switch (pattern544 (x2))
31569 : {
31570 : case 0:
31571 : if (!((
31572 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31573 : ((64 == 64 || TARGET_AVX512VL
31574 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31575 : && ix86_pre_reload_split ()
31576 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31577 : STRIP_UNARY (operands[4]))
31578 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31579 : STRIP_UNARY (operands[4]))
31580 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31581 : STRIP_UNARY (operands[3]))
31582 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31583 : STRIP_UNARY (operands[3])))) &&
31584 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31585 : (TARGET_AVX512F)) &&
31586 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31587 : ( 1)))
31588 : return NULL;
31589 : return gen_split_2737 (insn, operands);
31590 :
31591 : case 1:
31592 : if (!((
31593 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31594 : ((32 == 64 || TARGET_AVX512VL
31595 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31596 : && ix86_pre_reload_split ()
31597 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31598 : STRIP_UNARY (operands[4]))
31599 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31600 : STRIP_UNARY (operands[4]))
31601 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31602 : STRIP_UNARY (operands[3]))
31603 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31604 : STRIP_UNARY (operands[3])))) &&
31605 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31606 : (TARGET_AVX)) &&
31607 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31608 : ( 1)))
31609 : return NULL;
31610 : return gen_split_2764 (insn, operands);
31611 :
31612 : case 2:
31613 : if (!(
31614 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31615 : ((16 == 64 || TARGET_AVX512VL
31616 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31617 : && ix86_pre_reload_split ()
31618 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31619 : STRIP_UNARY (operands[4]))
31620 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31621 : STRIP_UNARY (operands[4]))
31622 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31623 : STRIP_UNARY (operands[3]))
31624 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31625 : STRIP_UNARY (operands[3])))) &&
31626 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31627 : ( 1)))
31628 : return NULL;
31629 : return gen_split_2791 (insn, operands);
31630 :
31631 : case 3:
31632 : if (!((
31633 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31634 : ((64 == 64 || TARGET_AVX512VL
31635 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31636 : && ix86_pre_reload_split ()
31637 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31638 : STRIP_UNARY (operands[4]))
31639 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31640 : STRIP_UNARY (operands[4]))
31641 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31642 : STRIP_UNARY (operands[3]))
31643 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31644 : STRIP_UNARY (operands[3])))) &&
31645 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31646 : (TARGET_AVX512F)) &&
31647 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31648 : ( 1)))
31649 : return NULL;
31650 : return gen_split_2818 (insn, operands);
31651 :
31652 : case 4:
31653 : if (!((
31654 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31655 : ((32 == 64 || TARGET_AVX512VL
31656 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31657 : && ix86_pre_reload_split ()
31658 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31659 : STRIP_UNARY (operands[4]))
31660 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31661 : STRIP_UNARY (operands[4]))
31662 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31663 : STRIP_UNARY (operands[3]))
31664 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31665 : STRIP_UNARY (operands[3])))) &&
31666 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31667 : (TARGET_AVX)) &&
31668 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31669 : ( 1)))
31670 : return NULL;
31671 : return gen_split_2845 (insn, operands);
31672 :
31673 : case 5:
31674 : if (!(
31675 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31676 : ((16 == 64 || TARGET_AVX512VL
31677 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31678 : && ix86_pre_reload_split ()
31679 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31680 : STRIP_UNARY (operands[4]))
31681 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31682 : STRIP_UNARY (operands[4]))
31683 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31684 : STRIP_UNARY (operands[3]))
31685 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31686 : STRIP_UNARY (operands[3])))) &&
31687 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31688 : ( 1)))
31689 : return NULL;
31690 : return gen_split_2872 (insn, operands);
31691 :
31692 : case 6:
31693 : if (!((
31694 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31695 : ((64 == 64 || TARGET_AVX512VL
31696 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31697 : && ix86_pre_reload_split ()
31698 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31699 : STRIP_UNARY (operands[4]))
31700 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31701 : STRIP_UNARY (operands[4]))
31702 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31703 : STRIP_UNARY (operands[3]))
31704 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31705 : STRIP_UNARY (operands[3])))) &&
31706 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31707 : (TARGET_AVX512F)) &&
31708 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31709 : ( 1)))
31710 : return NULL;
31711 : return gen_split_2899 (insn, operands);
31712 :
31713 : case 7:
31714 : if (!((
31715 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31716 : ((32 == 64 || TARGET_AVX512VL
31717 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31718 : && ix86_pre_reload_split ()
31719 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31720 : STRIP_UNARY (operands[4]))
31721 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31722 : STRIP_UNARY (operands[4]))
31723 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31724 : STRIP_UNARY (operands[3]))
31725 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31726 : STRIP_UNARY (operands[3])))) &&
31727 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31728 : (TARGET_AVX)) &&
31729 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31730 : ( 1)))
31731 : return NULL;
31732 : return gen_split_2926 (insn, operands);
31733 :
31734 : case 8:
31735 : if (!(
31736 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31737 : ((16 == 64 || TARGET_AVX512VL
31738 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31739 : && ix86_pre_reload_split ()
31740 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31741 : STRIP_UNARY (operands[4]))
31742 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31743 : STRIP_UNARY (operands[4]))
31744 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31745 : STRIP_UNARY (operands[3]))
31746 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31747 : STRIP_UNARY (operands[3])))) &&
31748 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31749 : ( 1)))
31750 : return NULL;
31751 : return gen_split_2953 (insn, operands);
31752 :
31753 : case 9:
31754 : if (!((
31755 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31756 : ((64 == 64 || TARGET_AVX512VL
31757 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31758 : && ix86_pre_reload_split ()
31759 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31760 : STRIP_UNARY (operands[4]))
31761 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31762 : STRIP_UNARY (operands[4]))
31763 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31764 : STRIP_UNARY (operands[3]))
31765 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31766 : STRIP_UNARY (operands[3])))) &&
31767 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31768 : (TARGET_AVX512F)) &&
31769 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31770 : ( 1)))
31771 : return NULL;
31772 : return gen_split_2980 (insn, operands);
31773 :
31774 : case 10:
31775 : if (!((
31776 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31777 : ((32 == 64 || TARGET_AVX512VL
31778 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31779 : && ix86_pre_reload_split ()
31780 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31781 : STRIP_UNARY (operands[4]))
31782 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31783 : STRIP_UNARY (operands[4]))
31784 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31785 : STRIP_UNARY (operands[3]))
31786 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31787 : STRIP_UNARY (operands[3])))) &&
31788 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31789 : (TARGET_AVX)) &&
31790 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31791 : ( 1)))
31792 : return NULL;
31793 : return gen_split_3007 (insn, operands);
31794 :
31795 : case 11:
31796 : if (!((
31797 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31798 : ((16 == 64 || TARGET_AVX512VL
31799 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31800 : && ix86_pre_reload_split ()
31801 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31802 : STRIP_UNARY (operands[4]))
31803 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31804 : STRIP_UNARY (operands[4]))
31805 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31806 : STRIP_UNARY (operands[3]))
31807 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31808 : STRIP_UNARY (operands[3])))) &&
31809 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31810 : (TARGET_SSE2)) &&
31811 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31812 : ( 1)))
31813 : return NULL;
31814 : return gen_split_3034 (insn, operands);
31815 :
31816 : default:
31817 : return NULL;
31818 : }
31819 :
31820 : default:
31821 : return NULL;
31822 : }
31823 :
31824 : default:
31825 : return NULL;
31826 : }
31827 : }
|