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 230032 : pattern8 (rtx x1, int *pnum_clobbers)
57 : {
58 230032 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
59 230032 : rtx x2, x3, x4, x5, x6, x7;
60 230032 : int res ATTRIBUTE_UNUSED;
61 230032 : x2 = XEXP (x1, 0);
62 230032 : operands[0] = x2;
63 230032 : x3 = XEXP (x1, 1);
64 230032 : x4 = XEXP (x3, 0);
65 230032 : switch (GET_CODE (x4))
66 : {
67 109380 : case REG:
68 109380 : case SUBREG:
69 109380 : case MEM:
70 109380 : operands[1] = x4;
71 109380 : x5 = XEXP (x3, 1);
72 109380 : operands[2] = x5;
73 109380 : switch (GET_MODE (operands[0]))
74 : {
75 12 : case E_TImode:
76 12 : if (pnum_clobbers == NULL
77 12 : || pattern4 (x3,
78 : E_TImode) != 0)
79 0 : return -1;
80 : return 0;
81 :
82 1709 : case E_QImode:
83 1709 : if (pnum_clobbers == NULL
84 1709 : || pattern4 (x3,
85 : E_QImode) != 0)
86 208 : return -1;
87 : return 1;
88 :
89 219 : case E_HImode:
90 219 : if (pnum_clobbers == NULL
91 219 : || pattern4 (x3,
92 : E_HImode) != 0)
93 112 : return -1;
94 : return 2;
95 :
96 167 : case E_V4HImode:
97 167 : if (pattern5 (x3,
98 : E_V4HImode) != 0)
99 : return -1;
100 : return 3;
101 :
102 0 : case E_V2SImode:
103 0 : if (pattern5 (x3,
104 : E_V2SImode) != 0)
105 : return -1;
106 : return 4;
107 :
108 314 : case E_V8QImode:
109 314 : if (pattern6 (x3,
110 : E_V8QImode) != 0)
111 : return -1;
112 : return 5;
113 :
114 254 : case E_V4QImode:
115 254 : if (pattern5 (x3,
116 : E_V4QImode) != 0)
117 : return -1;
118 : return 6;
119 :
120 62 : case E_V2QImode:
121 62 : if (pattern5 (x3,
122 : E_V2QImode) != 0)
123 : return -1;
124 : return 7;
125 :
126 44 : case E_V2HImode:
127 44 : if (pattern5 (x3,
128 : E_V2HImode) != 0)
129 : return -1;
130 : return 8;
131 :
132 : default:
133 : return -1;
134 : }
135 :
136 22177 : case PLUS:
137 22177 : if (pnum_clobbers == NULL
138 22177 : || GET_MODE (x4) != E_HImode
139 0 : || !register_operand (operands[0], E_HImode)
140 22177 : || GET_MODE (x3) != E_HImode)
141 22177 : return -1;
142 0 : x6 = XEXP (x4, 0);
143 0 : operands[1] = x6;
144 0 : if (!nonimmediate_operand (operands[1], E_HImode))
145 : return -1;
146 0 : x7 = XEXP (x4, 1);
147 0 : operands[2] = x7;
148 0 : if (!general_operand (operands[2], E_HImode))
149 : return -1;
150 : return 9;
151 :
152 14895 : case MINUS:
153 14895 : if (pnum_clobbers == NULL
154 14895 : || GET_MODE (x4) != E_HImode
155 4 : || !register_operand (operands[0], E_HImode)
156 14899 : || GET_MODE (x3) != E_HImode)
157 14891 : return -1;
158 4 : x6 = XEXP (x4, 0);
159 4 : operands[1] = x6;
160 4 : if (!nonimmediate_operand (operands[1], E_HImode))
161 : return -1;
162 4 : x7 = XEXP (x4, 1);
163 4 : operands[2] = x7;
164 4 : if (!general_operand (operands[2], E_HImode))
165 : return -1;
166 4 : x5 = XEXP (x3, 1);
167 4 : if (!rtx_equal_p (x5, operands[1]))
168 : return -1;
169 : return 10;
170 :
171 : default:
172 : return -1;
173 : }
174 : }
175 :
176 : int
177 0 : pattern39 (rtx x1, machine_mode i1, machine_mode i2)
178 : {
179 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
180 0 : rtx x2, x3, x4;
181 0 : int res ATTRIBUTE_UNUSED;
182 0 : x2 = XEXP (x1, 1);
183 0 : operands[3] = x2;
184 0 : if (!const_int_operand (operands[3], E_QImode))
185 : return -1;
186 0 : x3 = XEXP (x1, 0);
187 0 : switch (GET_CODE (x3))
188 : {
189 0 : case REG:
190 0 : case SUBREG:
191 0 : operands[2] = x3;
192 0 : if (!register_operand (operands[2], i1))
193 : return -1;
194 : return 0;
195 :
196 0 : case SIGN_EXTEND:
197 0 : if (GET_MODE (x3) != i1)
198 : return -1;
199 0 : x4 = XEXP (x3, 0);
200 0 : operands[2] = x4;
201 0 : if (!nonimmediate_operand (operands[2], i2))
202 : return -1;
203 : return 1;
204 :
205 0 : case ZERO_EXTEND:
206 0 : if (GET_MODE (x3) != i1)
207 : return -1;
208 0 : x4 = XEXP (x3, 0);
209 0 : operands[2] = x4;
210 0 : if (!nonimmediate_operand (operands[2], i2))
211 : return -1;
212 : return 2;
213 :
214 : default:
215 : return -1;
216 : }
217 : }
218 :
219 : int
220 163 : pattern41 (rtx x1)
221 : {
222 163 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
223 163 : int res ATTRIBUTE_UNUSED;
224 163 : switch (GET_MODE (operands[0]))
225 : {
226 82 : case E_QImode:
227 82 : if (!register_operand (operands[0], E_QImode)
228 82 : || GET_MODE (x1) != E_QImode
229 164 : || !register_operand (operands[1], E_QImode))
230 44 : return -1;
231 : return 0;
232 :
233 81 : case E_HImode:
234 81 : if (!register_operand (operands[0], E_HImode)
235 81 : || GET_MODE (x1) != E_HImode
236 162 : || !register_operand (operands[1], E_HImode))
237 0 : return -1;
238 : return 1;
239 :
240 : default:
241 : return -1;
242 : }
243 : }
244 :
245 : int
246 493533 : pattern45 (rtx x1)
247 : {
248 493533 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
249 493533 : rtx x2, x3, x4, x5;
250 493533 : int res ATTRIBUTE_UNUSED;
251 493533 : x2 = XEXP (x1, 1);
252 493533 : if (GET_MODE (x2) != E_CCCmode)
253 : return -1;
254 0 : x3 = XEXP (x2, 0);
255 0 : if (GET_CODE (x3) != REG
256 0 : || REGNO (x3) != 17)
257 : return -1;
258 0 : x4 = XEXP (x2, 1);
259 0 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
260 : return -1;
261 0 : x5 = XEXP (x1, 0);
262 0 : if (GET_CODE (x5) != REG
263 0 : || REGNO (x5) != 17
264 0 : || GET_MODE (x5) != E_CCCmode)
265 : return -1;
266 0 : switch (GET_MODE (x3))
267 : {
268 : case E_CCmode:
269 : return 0;
270 :
271 0 : case E_CCCmode:
272 0 : return 1;
273 :
274 : default:
275 : return -1;
276 : }
277 : }
278 :
279 : int
280 9349 : pattern54 (rtx x1)
281 : {
282 9349 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
283 9349 : rtx x2, x3;
284 9349 : int res ATTRIBUTE_UNUSED;
285 9349 : x2 = XEXP (x1, 0);
286 9349 : operands[1] = x2;
287 9349 : x3 = XEXP (x1, 1);
288 9349 : operands[2] = x3;
289 9349 : switch (GET_MODE (operands[0]))
290 : {
291 377 : case E_V64QImode:
292 377 : return pattern26 (x1,
293 377 : E_V64QImode); /* [-1, 0] */
294 :
295 618 : case E_V32QImode:
296 618 : if (pattern26 (x1,
297 : E_V32QImode) != 0)
298 : return -1;
299 : return 1;
300 :
301 2057 : case E_V16QImode:
302 2057 : if (pattern26 (x1,
303 : E_V16QImode) != 0)
304 : return -1;
305 : return 2;
306 :
307 357 : case E_V32HImode:
308 357 : if (pattern26 (x1,
309 : E_V32HImode) != 0)
310 : return -1;
311 : return 3;
312 :
313 593 : case E_V16HImode:
314 593 : if (pattern26 (x1,
315 : E_V16HImode) != 0)
316 : return -1;
317 : return 4;
318 :
319 5123 : case E_V8HImode:
320 5123 : if (pattern26 (x1,
321 : E_V8HImode) != 0)
322 : return -1;
323 : return 5;
324 :
325 : default:
326 : return -1;
327 : }
328 : }
329 :
330 : int
331 250 : pattern63 (rtx x1, int *pnum_clobbers)
332 : {
333 250 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
334 250 : rtx x2, x3, x4;
335 250 : int res ATTRIBUTE_UNUSED;
336 250 : if (pnum_clobbers == NULL)
337 : return -1;
338 250 : x2 = XEXP (x1, 1);
339 250 : if (GET_MODE (x2) != E_HImode)
340 : return -1;
341 0 : x3 = XEXP (x1, 0);
342 0 : operands[0] = x3;
343 0 : if (!nonimmediate_operand (operands[0], E_HImode))
344 : return -1;
345 0 : x4 = XVECEXP (x2, 0, 0);
346 0 : operands[1] = x4;
347 0 : if (!register_operand (operands[1], E_XFmode))
348 : return -1;
349 : return 0;
350 : }
351 :
352 : int
353 1614 : pattern69 (rtx x1)
354 : {
355 1614 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
356 1614 : rtx x2, x3, x4, x5;
357 1614 : int res ATTRIBUTE_UNUSED;
358 1614 : x2 = XEXP (x1, 1);
359 1614 : if (GET_MODE (x2) != E_CCmode)
360 : return -1;
361 1614 : x3 = XEXP (x1, 0);
362 1614 : if (GET_CODE (x3) != REG
363 1614 : || REGNO (x3) != 17
364 3227 : || GET_MODE (x3) != E_CCmode)
365 : return -1;
366 1613 : x4 = XVECEXP (x2, 0, 0);
367 1613 : operands[0] = x4;
368 1613 : x5 = XVECEXP (x2, 0, 1);
369 1613 : operands[1] = x5;
370 1613 : return 0;
371 : }
372 :
373 : int
374 56 : pattern72 (rtx x1)
375 : {
376 56 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
377 56 : rtx x2;
378 56 : int res ATTRIBUTE_UNUSED;
379 56 : if (!register_operand (operands[0], E_HImode)
380 56 : || GET_MODE (x1) != E_HImode)
381 : return -1;
382 56 : x2 = XVECEXP (x1, 0, 0);
383 56 : switch (GET_MODE (x2))
384 : {
385 28 : case E_V16QImode:
386 28 : if (!vector_operand (operands[1], E_V16QImode)
387 28 : || !vector_operand (operands[2], E_V16QImode)
388 56 : || !const0_operand (operands[3], E_V16QImode))
389 14 : return -1;
390 : return 0;
391 :
392 28 : case E_V16HImode:
393 28 : if (!vector_operand (operands[1], E_V16HImode)
394 28 : || !vector_operand (operands[2], E_V16HImode)
395 56 : || !const0_operand (operands[3], E_V16HImode))
396 14 : return -1;
397 : return 1;
398 :
399 : default:
400 : return -1;
401 : }
402 : }
403 :
404 : int
405 1447493 : pattern84 (rtx x1)
406 : {
407 1447493 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
408 1447493 : rtx x2, x3, x4;
409 1447493 : int res ATTRIBUTE_UNUSED;
410 1447493 : if (!nonimmediate_operand (operands[1], E_QImode))
411 : return -1;
412 137629 : x2 = XEXP (x1, 0);
413 137629 : operands[0] = x2;
414 137629 : if (!nonimmediate_operand (operands[0], E_QImode))
415 : return -1;
416 137530 : x3 = XEXP (x1, 1);
417 137530 : if (GET_MODE (x3) != E_QImode)
418 : return -1;
419 137530 : x4 = XEXP (x3, 1);
420 137530 : operands[2] = x4;
421 137530 : if (!general_operand (operands[2], E_QImode))
422 : return -1;
423 : return 0;
424 : }
425 :
426 : int
427 11086 : pattern91 (rtx x1, machine_mode i1, machine_mode i2)
428 : {
429 11086 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
430 11086 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
431 11086 : rtx x10;
432 11086 : int res ATTRIBUTE_UNUSED;
433 11086 : x2 = XEXP (x1, 0);
434 11086 : x3 = XEXP (x2, 0);
435 11086 : x4 = XEXP (x3, 0);
436 11086 : x5 = XEXP (x4, 0);
437 11086 : operands[2] = x5;
438 11086 : if (!nonimmediate_operand (operands[2], i2))
439 : return -1;
440 11064 : x6 = XEXP (x3, 1);
441 11064 : operands[3] = x6;
442 11064 : if (!const_int_operand (operands[3], E_QImode))
443 : return -1;
444 11064 : x7 = XEXP (x2, 1);
445 11064 : x8 = XEXP (x7, 0);
446 11064 : operands[4] = x8;
447 11064 : if (!nonimmediate_operand (operands[4], i2))
448 : return -1;
449 11039 : x9 = XEXP (x1, 1);
450 11039 : switch (GET_CODE (x9))
451 : {
452 2081 : case REG:
453 2081 : case SUBREG:
454 2081 : operands[1] = x9;
455 2081 : if (!register_operand (operands[1], i1))
456 : return -1;
457 : return 0;
458 :
459 14 : case ZERO_EXTEND:
460 14 : if (GET_MODE (x9) != i1)
461 : return -1;
462 14 : x10 = XEXP (x9, 0);
463 14 : operands[1] = x10;
464 14 : if (!nonimmediate_operand (operands[1], i2))
465 : return -1;
466 : return 1;
467 :
468 : default:
469 : return -1;
470 : }
471 : }
472 :
473 : int
474 738 : pattern104 (rtx x1, machine_mode i1)
475 : {
476 738 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
477 738 : rtx x2;
478 738 : int res ATTRIBUTE_UNUSED;
479 738 : if (!memory_operand (operands[0], i1)
480 738 : || GET_MODE (x1) != i1)
481 : return -1;
482 738 : x2 = XEXP (x1, 0);
483 738 : if (GET_MODE (x2) != i1
484 738 : || !register_operand (operands[1], E_V2DImode))
485 0 : return -1;
486 : return 0;
487 : }
488 :
489 : int
490 36780 : pattern109 (rtx x1, int *pnum_clobbers)
491 : {
492 36780 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
493 36780 : rtx x2, x3, x4, x5;
494 36780 : int res ATTRIBUTE_UNUSED;
495 36780 : if (pnum_clobbers == NULL)
496 : return -1;
497 36780 : x2 = XEXP (x1, 0);
498 36780 : if (GET_MODE (x2) != E_DImode)
499 : return -1;
500 6005 : x3 = XEXP (x2, 0);
501 6005 : if (GET_CODE (x3) != ASHIFT
502 365 : || GET_MODE (x3) != E_DImode)
503 : return -1;
504 365 : x4 = XEXP (x3, 0);
505 365 : if (GET_CODE (x4) != ZERO_EXTEND
506 30 : || GET_MODE (x4) != E_DImode)
507 : return -1;
508 30 : x5 = XEXP (x2, 1);
509 30 : if (GET_CODE (x5) != ZERO_EXTEND
510 16 : || GET_MODE (x5) != E_DImode)
511 : return -1;
512 16 : return pattern92 (x1,
513 : E_DImode,
514 16 : E_SImode); /* [-1, 1] */
515 : }
516 :
517 : int
518 93118 : pattern118 (rtx x1)
519 : {
520 93118 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
521 93118 : rtx x2, x3, x4;
522 93118 : int res ATTRIBUTE_UNUSED;
523 93118 : x2 = XEXP (x1, 0);
524 93118 : if (maybe_ne (SUBREG_BYTE (x2), 0)
525 93118 : || GET_MODE (x2) != E_HImode)
526 : return -1;
527 6657 : x3 = XEXP (x2, 0);
528 6657 : if (GET_CODE (x3) != UNSPEC
529 17 : || XVECLEN (x3, 0) != 1
530 17 : || XINT (x3, 1) != 50
531 17 : || GET_MODE (x3) != E_SImode
532 17 : || !register_operand (operands[0], E_SImode)
533 6674 : || GET_MODE (x1) != E_SImode)
534 6640 : return -1;
535 17 : x4 = XVECEXP (x3, 0, 0);
536 17 : operands[1] = x4;
537 17 : if (!register_operand (operands[1], E_V16QImode))
538 : return -1;
539 : return 0;
540 : }
541 :
542 : int
543 203138 : pattern125 (rtx x1, int *pnum_clobbers)
544 : {
545 203138 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
546 203138 : rtx x2;
547 203138 : int res ATTRIBUTE_UNUSED;
548 203138 : if (pnum_clobbers == NULL)
549 : return -1;
550 203138 : x2 = XEXP (x1, 0);
551 203138 : if (GET_MODE (x2) != E_DImode
552 203138 : || pattern43 (x1,
553 : E_SImode,
554 : E_DImode) != 0)
555 69514 : return -1;
556 : return 0;
557 : }
558 :
559 : int
560 2925 : pattern129 (rtx x1)
561 : {
562 2925 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
563 2925 : rtx x2, x3, x4;
564 2925 : int res ATTRIBUTE_UNUSED;
565 2925 : x2 = XEXP (x1, 0);
566 2925 : operands[0] = x2;
567 2925 : x3 = XEXP (x1, 1);
568 2925 : x4 = XVECEXP (x3, 0, 0);
569 2925 : operands[1] = x4;
570 2925 : switch (GET_MODE (operands[0]))
571 : {
572 366 : case E_SImode:
573 366 : return pattern128 (x3,
574 366 : E_SImode); /* [-1, 2] */
575 :
576 400 : case E_DImode:
577 400 : res = pattern128 (x3,
578 : E_DImode);
579 400 : if (res >= 0)
580 370 : return res + 3; /* [3, 5] */
581 : return -1;
582 :
583 : default:
584 : return -1;
585 : }
586 : }
587 :
588 : int
589 32013 : pattern134 (rtx x1, machine_mode i1, machine_mode i2)
590 : {
591 32013 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
592 32013 : rtx x2;
593 32013 : int res ATTRIBUTE_UNUSED;
594 32013 : if (!register_operand (operands[0], i1)
595 32013 : || GET_MODE (x1) != i1)
596 : return -1;
597 30764 : x2 = XEXP (x1, 0);
598 30764 : if (GET_MODE (x2) != i1
599 30764 : || !nonimmediate_operand (operands[1], i1)
600 24222 : || !nonimmediate_operand (operands[2], i1)
601 23028 : || !nonimm_or_0_operand (operands[3], i1)
602 52973 : || !register_operand (operands[4], i2))
603 9135 : return -1;
604 : return 0;
605 : }
606 :
607 : int
608 7239 : pattern146 (rtx x1)
609 : {
610 7239 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
611 7239 : rtx x2, x3, x4, x5;
612 7239 : int res ATTRIBUTE_UNUSED;
613 7239 : x2 = XEXP (x1, 0);
614 7239 : x3 = XEXP (x2, 0);
615 7239 : operands[1] = x3;
616 7239 : x4 = XEXP (x1, 1);
617 7239 : operands[2] = x4;
618 7239 : x5 = XEXP (x1, 2);
619 7239 : operands[3] = x5;
620 7239 : switch (GET_MODE (operands[0]))
621 : {
622 1728 : case E_V16QImode:
623 1728 : if (!nonimmediate_operand (operands[0], E_V16QImode)
624 1728 : || GET_MODE (x1) != E_V16QImode
625 1728 : || GET_MODE (x2) != E_V16QImode
626 1728 : || !nonimm_or_0_operand (operands[2], E_V16QImode)
627 3450 : || !register_operand (operands[3], E_HImode))
628 54 : return -1;
629 1674 : switch (GET_MODE (operands[1]))
630 : {
631 837 : case E_V16SImode:
632 837 : if (!register_operand (operands[1], E_V16SImode))
633 : return -1;
634 : return 0;
635 :
636 837 : case E_V16HImode:
637 837 : if (!register_operand (operands[1], E_V16HImode))
638 : return -1;
639 : return 1;
640 :
641 : default:
642 : return -1;
643 : }
644 :
645 954 : case E_V16HImode:
646 954 : if (pattern145 (x1,
647 : E_V16HImode,
648 : E_HImode,
649 : E_V16SImode) != 0)
650 : return -1;
651 : return 2;
652 :
653 927 : case E_V8SImode:
654 927 : if (pattern145 (x1,
655 : E_V8SImode,
656 : E_QImode,
657 : E_V8DImode) != 0)
658 : return -1;
659 : return 3;
660 :
661 1688 : case E_V8HImode:
662 1688 : if (!nonimmediate_operand (operands[0], E_V8HImode)
663 1688 : || GET_MODE (x1) != E_V8HImode
664 1688 : || GET_MODE (x2) != E_V8HImode
665 1688 : || !nonimm_or_0_operand (operands[2], E_V8HImode)
666 3370 : || !register_operand (operands[3], E_QImode))
667 54 : return -1;
668 1634 : switch (GET_MODE (operands[1]))
669 : {
670 817 : case E_V8DImode:
671 817 : if (!register_operand (operands[1], E_V8DImode))
672 : return -1;
673 : return 4;
674 :
675 817 : case E_V8SImode:
676 817 : if (!register_operand (operands[1], E_V8SImode))
677 : return -1;
678 : return 5;
679 :
680 : default:
681 : return -1;
682 : }
683 :
684 951 : case E_V32QImode:
685 951 : if (pattern145 (x1,
686 : E_V32QImode,
687 : E_SImode,
688 : E_V32HImode) != 0)
689 : return -1;
690 : return 6;
691 :
692 814 : case E_V4SImode:
693 814 : if (pattern145 (x1,
694 : E_V4SImode,
695 : E_QImode,
696 : E_V4DImode) != 0)
697 : return -1;
698 : return 7;
699 :
700 : default:
701 : return -1;
702 : }
703 : }
704 :
705 : int
706 168 : pattern164 (rtx x1, machine_mode i1, machine_mode i2)
707 : {
708 168 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
709 168 : rtx x2, x3, x4, x5;
710 168 : int res ATTRIBUTE_UNUSED;
711 168 : x2 = XEXP (x1, 1);
712 168 : if (GET_MODE (x2) != i2)
713 : return -1;
714 168 : x3 = XEXP (x1, 0);
715 168 : operands[0] = x3;
716 168 : if (!register_operand (operands[0], i2))
717 : return -1;
718 163 : x4 = XVECEXP (x2, 0, 0);
719 163 : operands[1] = x4;
720 163 : if (!register_operand (operands[1], i2))
721 : return -1;
722 150 : x5 = XVECEXP (x2, 0, 1);
723 150 : operands[2] = x5;
724 150 : if (!register_operand (operands[2], i1))
725 : return -1;
726 : return 0;
727 : }
728 :
729 : int
730 752 : pattern170 (rtx x1)
731 : {
732 752 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
733 752 : rtx x2, x3, x4, x5;
734 752 : int res ATTRIBUTE_UNUSED;
735 752 : x2 = XEXP (x1, 0);
736 752 : operands[0] = x2;
737 752 : x3 = XEXP (x1, 1);
738 752 : x4 = XVECEXP (x3, 0, 0);
739 752 : operands[1] = x4;
740 752 : x5 = XVECEXP (x3, 0, 1);
741 752 : operands[2] = x5;
742 752 : switch (GET_MODE (operands[0]))
743 : {
744 252 : case E_V64QImode:
745 252 : return pattern169 (x3,
746 : E_V64QImode,
747 252 : E_V32HFmode); /* [-1, 0] */
748 :
749 252 : case E_V32QImode:
750 252 : if (pattern169 (x3,
751 : E_V32QImode,
752 : E_V16HFmode) != 0)
753 : return -1;
754 : return 1;
755 :
756 248 : case E_V16QImode:
757 248 : if (pattern169 (x3,
758 : E_V16QImode,
759 : E_V8HFmode) != 0)
760 : return -1;
761 : return 2;
762 :
763 : default:
764 : return -1;
765 : }
766 : }
767 :
768 : int
769 945 : pattern179 (rtx x1)
770 : {
771 945 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
772 945 : rtx x2, x3, x4, x5, x6;
773 945 : int res ATTRIBUTE_UNUSED;
774 945 : x2 = XEXP (x1, 0);
775 945 : operands[0] = x2;
776 945 : x3 = XEXP (x1, 1);
777 945 : x4 = XVECEXP (x3, 0, 0);
778 945 : operands[1] = x4;
779 945 : x5 = XVECEXP (x3, 0, 1);
780 945 : operands[2] = x5;
781 945 : x6 = XVECEXP (x3, 0, 2);
782 945 : operands[3] = x6;
783 945 : switch (GET_MODE (operands[0]))
784 : {
785 204 : case E_V8DImode:
786 204 : return pattern178 (x3,
787 204 : E_V8DImode); /* [-1, 0] */
788 :
789 380 : case E_V4DImode:
790 380 : if (pattern178 (x3,
791 : E_V4DImode) != 0)
792 : return -1;
793 : return 1;
794 :
795 361 : case E_V2DImode:
796 361 : if (pattern178 (x3,
797 : E_V2DImode) != 0)
798 : return -1;
799 : return 2;
800 :
801 : default:
802 : return -1;
803 : }
804 : }
805 :
806 : int
807 474 : pattern186 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
808 : {
809 474 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
810 474 : rtx x2;
811 474 : int res ATTRIBUTE_UNUSED;
812 474 : if (!register_operand (operands[0], i3)
813 474 : || GET_MODE (x1) != i3)
814 : return -1;
815 454 : x2 = XEXP (x1, 0);
816 454 : if (GET_MODE (x2) != i1
817 454 : || !nonimmediate_operand (operands[1], i2)
818 813 : || !const0_operand (operands[2], i1))
819 95 : return -1;
820 : return 0;
821 : }
822 :
823 : int
824 14 : pattern192 (rtx x1, machine_mode i1)
825 : {
826 14 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
827 14 : rtx x2;
828 14 : int res ATTRIBUTE_UNUSED;
829 14 : if (!register_operand (operands[0], i1)
830 14 : || GET_MODE (x1) != i1)
831 : return -1;
832 8 : x2 = XEXP (x1, 0);
833 8 : if (GET_MODE (x2) != i1
834 8 : || !vector_operand (operands[1], i1)
835 8 : || !vector_operand (operands[2], i1)
836 16 : || !vector_operand (operands[3], i1))
837 2 : return -1;
838 : return 0;
839 : }
840 :
841 : int
842 233154 : pattern198 (rtx x1)
843 : {
844 233154 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
845 233154 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
846 233154 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
847 233154 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
848 233154 : rtx x26, x27;
849 233154 : int res ATTRIBUTE_UNUSED;
850 233154 : x2 = XEXP (x1, 0);
851 233154 : x3 = XEXP (x2, 0);
852 233154 : if (GET_CODE (x3) != VEC_CONCAT)
853 : return -1;
854 72683 : x4 = XEXP (x2, 1);
855 72683 : if (GET_CODE (x4) != PARALLEL)
856 : return -1;
857 72683 : x5 = XEXP (x1, 1);
858 72683 : if (GET_CODE (x5) != VEC_SELECT)
859 : return -1;
860 1911 : x6 = XEXP (x5, 0);
861 1911 : if (GET_CODE (x6) != VEC_CONCAT)
862 : return -1;
863 1881 : x7 = XEXP (x5, 1);
864 1881 : if (GET_CODE (x7) != PARALLEL)
865 : return -1;
866 1881 : x8 = XEXP (x3, 0);
867 1881 : operands[1] = x8;
868 1881 : x9 = XEXP (x3, 1);
869 1881 : operands[2] = x9;
870 1881 : x10 = XEXP (x6, 0);
871 1881 : if (!rtx_equal_p (x10, operands[1]))
872 : return -1;
873 1571 : x11 = XEXP (x6, 1);
874 1571 : if (!rtx_equal_p (x11, operands[2]))
875 : return -1;
876 1566 : switch (XVECLEN (x4, 0))
877 : {
878 189 : case 16:
879 189 : return pattern196 (x1); /* [-1, 0] */
880 :
881 512 : case 8:
882 512 : x12 = XVECEXP (x4, 0, 0);
883 512 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
884 : return -1;
885 512 : x13 = XVECEXP (x4, 0, 1);
886 512 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
887 : return -1;
888 512 : x14 = XVECEXP (x4, 0, 2);
889 512 : if (GET_CODE (x14) != CONST_INT)
890 : return -1;
891 512 : x15 = XVECEXP (x4, 0, 3);
892 512 : if (GET_CODE (x15) != CONST_INT)
893 : return -1;
894 512 : x16 = XVECEXP (x4, 0, 4);
895 512 : if (GET_CODE (x16) != CONST_INT)
896 : return -1;
897 512 : x17 = XVECEXP (x4, 0, 5);
898 512 : if (GET_CODE (x17) != CONST_INT)
899 : return -1;
900 512 : x18 = XVECEXP (x4, 0, 6);
901 512 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
902 : return -1;
903 512 : x19 = XVECEXP (x4, 0, 7);
904 512 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
905 512 : || XVECLEN (x7, 0) != 8)
906 : return -1;
907 512 : x20 = XVECEXP (x7, 0, 0);
908 512 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
909 : return -1;
910 512 : x21 = XVECEXP (x7, 0, 1);
911 512 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
912 : return -1;
913 512 : x22 = XVECEXP (x7, 0, 2);
914 512 : if (GET_CODE (x22) != CONST_INT)
915 : return -1;
916 512 : x23 = XVECEXP (x7, 0, 3);
917 512 : if (GET_CODE (x23) != CONST_INT)
918 : return -1;
919 512 : x24 = XVECEXP (x7, 0, 4);
920 512 : if (GET_CODE (x24) != CONST_INT)
921 : return -1;
922 512 : x25 = XVECEXP (x7, 0, 5);
923 512 : if (GET_CODE (x25) != CONST_INT)
924 : return -1;
925 512 : x26 = XVECEXP (x7, 0, 6);
926 512 : if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
927 : return -1;
928 512 : x27 = XVECEXP (x7, 0, 7);
929 512 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
930 : return -1;
931 512 : switch (XWINT (x14, 0))
932 : {
933 314 : case 4L:
934 314 : if (XWINT (x15, 0) != 6L
935 314 : || XWINT (x16, 0) != 8L
936 314 : || XWINT (x17, 0) != 10L
937 314 : || XWINT (x22, 0) != 5L
938 314 : || XWINT (x23, 0) != 7L
939 314 : || XWINT (x24, 0) != 9L
940 314 : || XWINT (x25, 0) != 11L
941 628 : || pattern197 (x1,
942 : E_V16HImode,
943 : E_V8HImode) != 0)
944 58 : return -1;
945 : return 1;
946 :
947 198 : case 8L:
948 198 : if (XWINT (x15, 0) != 10L
949 198 : || XWINT (x16, 0) != 4L
950 198 : || XWINT (x17, 0) != 6L
951 198 : || XWINT (x22, 0) != 9L
952 198 : || XWINT (x23, 0) != 11L
953 198 : || XWINT (x24, 0) != 5L
954 198 : || XWINT (x25, 0) != 7L
955 396 : || pattern195 (x1,
956 : E_V16SImode,
957 : E_V8SImode) != 0)
958 11 : return -1;
959 : return 2;
960 :
961 : default:
962 : return -1;
963 : }
964 :
965 756 : case 4:
966 756 : x12 = XVECEXP (x4, 0, 0);
967 756 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
968 : return -1;
969 254 : x13 = XVECEXP (x4, 0, 1);
970 254 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
971 : return -1;
972 254 : x14 = XVECEXP (x4, 0, 2);
973 254 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
974 : return -1;
975 254 : x15 = XVECEXP (x4, 0, 3);
976 254 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
977 254 : || XVECLEN (x7, 0) != 4)
978 : return -1;
979 254 : x20 = XVECEXP (x7, 0, 0);
980 254 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
981 : return -1;
982 254 : x21 = XVECEXP (x7, 0, 1);
983 254 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
984 : return -1;
985 254 : x22 = XVECEXP (x7, 0, 2);
986 254 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
987 : return -1;
988 254 : x23 = XVECEXP (x7, 0, 3);
989 254 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
990 254 : || pattern197 (x1,
991 : E_V8SImode,
992 : E_V4SImode) != 0)
993 25 : return -1;
994 : return 3;
995 :
996 : default:
997 : return -1;
998 : }
999 : }
1000 :
1001 : int
1002 790520 : pattern226 (rtx x1)
1003 : {
1004 790520 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1005 790520 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1006 790520 : rtx x10, x11;
1007 790520 : int res ATTRIBUTE_UNUSED;
1008 790520 : x2 = XVECEXP (x1, 0, 1);
1009 790520 : if (GET_CODE (x2) != SET)
1010 : return -1;
1011 790447 : x3 = XEXP (x2, 1);
1012 790447 : if (GET_CODE (x3) != UMOD)
1013 : return -1;
1014 713839 : x4 = XVECEXP (x1, 0, 0);
1015 713839 : x5 = XEXP (x4, 0);
1016 713839 : operands[0] = x5;
1017 713839 : x6 = XEXP (x4, 1);
1018 713839 : x7 = XEXP (x6, 0);
1019 713839 : operands[2] = x7;
1020 713839 : x8 = XEXP (x6, 1);
1021 713839 : operands[3] = x8;
1022 713839 : x9 = XEXP (x2, 0);
1023 713839 : operands[1] = x9;
1024 713839 : x10 = XEXP (x3, 0);
1025 713839 : if (!rtx_equal_p (x10, operands[2]))
1026 : return -1;
1027 638069 : x11 = XEXP (x3, 1);
1028 638069 : if (!rtx_equal_p (x11, operands[3]))
1029 : return -1;
1030 626531 : switch (GET_CODE (operands[3]))
1031 : {
1032 : case REG:
1033 : case SUBREG:
1034 : case MEM:
1035 : return 0;
1036 :
1037 67299 : case CONST_INT:
1038 67299 : return 1;
1039 :
1040 : default:
1041 : return -1;
1042 : }
1043 : }
1044 :
1045 : int
1046 32923213 : pattern237 (rtx x1, machine_mode i1, unsigned int i2)
1047 : {
1048 32923213 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1049 32923213 : rtx x2;
1050 32923213 : int res ATTRIBUTE_UNUSED;
1051 32923213 : if (GET_CODE (x1) != CLOBBER)
1052 : return -1;
1053 32770107 : x2 = XEXP (x1, 0);
1054 32770107 : if (GET_CODE (x2) != REG
1055 32765443 : || REGNO (x2) != i2
1056 63013959 : || GET_MODE (x2) != i1)
1057 2546245 : return -1;
1058 : return 0;
1059 : }
1060 :
1061 : int
1062 1084964 : pattern243 (rtx x1)
1063 : {
1064 1084964 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1065 1084964 : rtx x2, x3;
1066 1084964 : int res ATTRIBUTE_UNUSED;
1067 1084964 : x2 = XEXP (x1, 0);
1068 1084964 : operands[1] = x2;
1069 1084964 : x3 = XEXP (x1, 1);
1070 1084964 : operands[2] = x3;
1071 1084964 : switch (GET_MODE (operands[0]))
1072 : {
1073 107066 : case E_QImode:
1074 107066 : return pattern242 (x1,
1075 107066 : E_QImode); /* [-1, 0] */
1076 :
1077 21426 : case E_HImode:
1078 21426 : if (pattern242 (x1,
1079 : E_HImode) != 0)
1080 : return -1;
1081 : return 1;
1082 :
1083 129670 : case E_SImode:
1084 129670 : if (pattern242 (x1,
1085 : E_SImode) != 0)
1086 : return -1;
1087 : return 2;
1088 :
1089 127899 : case E_DImode:
1090 127899 : if (pattern242 (x1,
1091 : E_DImode) != 0)
1092 : return -1;
1093 : return 3;
1094 :
1095 : default:
1096 : return -1;
1097 : }
1098 : }
1099 :
1100 : int
1101 630 : pattern254 (rtx x1, machine_mode i1)
1102 : {
1103 630 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1104 630 : rtx x2, x3, x4;
1105 630 : int res ATTRIBUTE_UNUSED;
1106 630 : if (!register_operand (operands[0], i1)
1107 630 : || GET_MODE (x1) != i1)
1108 : return -1;
1109 630 : x2 = XEXP (x1, 0);
1110 630 : operands[3] = x2;
1111 630 : if (!register_operand (operands[3], i1))
1112 : return -1;
1113 538 : x3 = XEXP (x1, 1);
1114 538 : operands[1] = x3;
1115 538 : if (!register_operand (operands[1], i1))
1116 : return -1;
1117 396 : x4 = XEXP (x1, 2);
1118 396 : operands[2] = x4;
1119 396 : if (!register_operand (operands[2], i1))
1120 : return -1;
1121 : return 0;
1122 : }
1123 :
1124 : int
1125 38487 : pattern262 (rtx x1, machine_mode i1, machine_mode i2)
1126 : {
1127 38487 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1128 38487 : rtx x2, x3, x4, x5, x6;
1129 38487 : int res ATTRIBUTE_UNUSED;
1130 38487 : x2 = XEXP (x1, 0);
1131 38487 : x3 = XEXP (x2, 0);
1132 38487 : if (GET_MODE (x3) != i2
1133 2198 : || !nonimmediate_operand (operands[0], i2)
1134 2133 : || GET_MODE (x1) != i2
1135 40620 : || GET_MODE (x2) != i2)
1136 36354 : return -1;
1137 2133 : x4 = XEXP (x3, 0);
1138 2133 : operands[1] = x4;
1139 2133 : if (!nonimmediate_operand (operands[1], i1))
1140 : return -1;
1141 1660 : x5 = XEXP (x2, 1);
1142 1660 : operands[2] = x5;
1143 1660 : if (!const_int_operand (operands[2], E_QImode))
1144 : return -1;
1145 1296 : x6 = XEXP (x1, 1);
1146 1296 : return pattern261 (x6,
1147 : i1,
1148 1296 : i2); /* [-1, 1] */
1149 : }
1150 :
1151 : int
1152 2671866 : pattern276 (rtx x1)
1153 : {
1154 2671866 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1155 2671866 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1156 2671866 : rtx x10, x11, x12, x13;
1157 2671866 : int res ATTRIBUTE_UNUSED;
1158 2671866 : x2 = XEXP (x1, 0);
1159 2671866 : x3 = XEXP (x2, 0);
1160 2671866 : operands[1] = x3;
1161 2671866 : x4 = XEXP (x2, 1);
1162 2671866 : operands[2] = x4;
1163 2671866 : x5 = XEXP (x1, 1);
1164 2671866 : switch (XVECLEN (x5, 0))
1165 : {
1166 295511 : case 2:
1167 295511 : x6 = XVECEXP (x5, 0, 0);
1168 295511 : if (GET_CODE (x6) != CONST_INT)
1169 : return -1;
1170 : return 0;
1171 :
1172 580581 : case 8:
1173 580581 : x6 = XVECEXP (x5, 0, 0);
1174 580581 : if (GET_CODE (x6) != CONST_INT)
1175 : return -1;
1176 580581 : x7 = XVECEXP (x5, 0, 1);
1177 580581 : if (GET_CODE (x7) != CONST_INT)
1178 : return -1;
1179 580581 : x8 = XVECEXP (x5, 0, 2);
1180 580581 : if (GET_CODE (x8) != CONST_INT)
1181 : return -1;
1182 580581 : x9 = XVECEXP (x5, 0, 3);
1183 580581 : if (GET_CODE (x9) != CONST_INT)
1184 : return -1;
1185 580581 : x10 = XVECEXP (x5, 0, 4);
1186 580581 : if (GET_CODE (x10) != CONST_INT)
1187 : return -1;
1188 580581 : x11 = XVECEXP (x5, 0, 5);
1189 580581 : if (GET_CODE (x11) != CONST_INT)
1190 : return -1;
1191 580581 : x12 = XVECEXP (x5, 0, 6);
1192 580581 : if (GET_CODE (x12) != CONST_INT)
1193 : return -1;
1194 580581 : x13 = XVECEXP (x5, 0, 7);
1195 580581 : if (GET_CODE (x13) != CONST_INT
1196 580581 : || !register_operand (operands[0], E_V8QImode)
1197 43841 : || GET_MODE (x1) != E_V8QImode
1198 43841 : || GET_MODE (x2) != E_V16QImode
1199 43841 : || !register_operand (operands[1], E_V8QImode)
1200 623402 : || !register_mmxmem_operand (operands[2], E_V8QImode))
1201 542596 : return -1;
1202 37985 : switch (XWINT (x6, 0))
1203 : {
1204 8573 : case 4L:
1205 8573 : if (XWINT (x7, 0) != 12L
1206 6709 : || XWINT (x8, 0) != 5L
1207 6605 : || XWINT (x9, 0) != 13L
1208 6605 : || XWINT (x10, 0) != 6L
1209 6605 : || XWINT (x11, 0) != 14L
1210 6605 : || XWINT (x12, 0) != 7L
1211 6605 : || XWINT (x13, 0) != 15L)
1212 : return -1;
1213 : return 1;
1214 :
1215 14726 : case 0L:
1216 14726 : if (XWINT (x7, 0) != 8L
1217 8423 : || XWINT (x8, 0) != 1L
1218 7653 : || XWINT (x9, 0) != 9L
1219 7437 : || XWINT (x10, 0) != 2L
1220 7437 : || XWINT (x11, 0) != 10L
1221 7437 : || XWINT (x12, 0) != 3L
1222 7437 : || XWINT (x13, 0) != 11L)
1223 : return -1;
1224 : return 2;
1225 :
1226 : default:
1227 : return -1;
1228 : }
1229 :
1230 1574028 : case 4:
1231 1574028 : x6 = XVECEXP (x5, 0, 0);
1232 1574028 : if (GET_CODE (x6) != CONST_INT)
1233 : return -1;
1234 1574028 : x7 = XVECEXP (x5, 0, 1);
1235 1574028 : if (GET_CODE (x7) != CONST_INT)
1236 : return -1;
1237 1574028 : x8 = XVECEXP (x5, 0, 2);
1238 1574028 : if (GET_CODE (x8) != CONST_INT)
1239 : return -1;
1240 1574028 : x9 = XVECEXP (x5, 0, 3);
1241 1574028 : if (GET_CODE (x9) != CONST_INT)
1242 : return -1;
1243 1574028 : switch (XWINT (x6, 0))
1244 : {
1245 290107 : case 2L:
1246 290107 : if (XWINT (x7, 0) != 6L
1247 123143 : || XWINT (x8, 0) != 3L
1248 122098 : || XWINT (x9, 0) != 7L)
1249 : return -1;
1250 121933 : switch (GET_MODE (operands[0]))
1251 : {
1252 4580 : case E_V4QImode:
1253 4580 : if (pattern274 (x1,
1254 : E_V4QImode,
1255 : E_V8QImode) != 0)
1256 : return -1;
1257 : return 3;
1258 :
1259 22215 : case E_V4HImode:
1260 22215 : if (pattern275 (x1,
1261 : E_V4HImode,
1262 : E_V8HImode) != 0)
1263 : return -1;
1264 : return 4;
1265 :
1266 : default:
1267 : return -1;
1268 : }
1269 :
1270 803427 : case 0L:
1271 803427 : if (XWINT (x7, 0) != 4L
1272 361749 : || XWINT (x8, 0) != 1L
1273 346336 : || XWINT (x9, 0) != 5L)
1274 : return -1;
1275 345724 : switch (GET_MODE (operands[0]))
1276 : {
1277 6764 : case E_V4QImode:
1278 6764 : if (pattern274 (x1,
1279 : E_V4QImode,
1280 : E_V8QImode) != 0)
1281 : return -1;
1282 : return 5;
1283 :
1284 30343 : case E_V4HImode:
1285 30343 : if (pattern275 (x1,
1286 : E_V4HImode,
1287 : E_V8HImode) != 0)
1288 : return -1;
1289 : return 6;
1290 :
1291 : default:
1292 : return -1;
1293 : }
1294 :
1295 : default:
1296 : return -1;
1297 : }
1298 :
1299 : default:
1300 : return -1;
1301 : }
1302 : }
1303 :
1304 : int
1305 752 : pattern327 (rtx x1)
1306 : {
1307 752 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1308 752 : rtx x2;
1309 752 : int res ATTRIBUTE_UNUSED;
1310 752 : x2 = XVECEXP (x1, 0, 0);
1311 752 : operands[1] = x2;
1312 752 : switch (GET_MODE (operands[0]))
1313 : {
1314 126 : case E_V16SFmode:
1315 126 : if (!register_operand (operands[0], E_V16SFmode)
1316 117 : || GET_MODE (x1) != E_V16SFmode
1317 243 : || !nonimmediate_operand (operands[1], E_V16SFmode))
1318 11 : return -1;
1319 : return 0;
1320 :
1321 126 : case E_V8SFmode:
1322 126 : if (!register_operand (operands[0], E_V8SFmode)
1323 117 : || GET_MODE (x1) != E_V8SFmode
1324 243 : || !nonimmediate_operand (operands[1], E_V8SFmode))
1325 11 : return -1;
1326 : return 1;
1327 :
1328 121 : case E_V4SFmode:
1329 121 : if (!register_operand (operands[0], E_V4SFmode)
1330 115 : || GET_MODE (x1) != E_V4SFmode
1331 236 : || !nonimmediate_operand (operands[1], E_V4SFmode))
1332 7 : return -1;
1333 : return 2;
1334 :
1335 129 : case E_V8DFmode:
1336 129 : if (!register_operand (operands[0], E_V8DFmode)
1337 120 : || GET_MODE (x1) != E_V8DFmode
1338 249 : || !nonimmediate_operand (operands[1], E_V8DFmode))
1339 12 : return -1;
1340 : return 3;
1341 :
1342 126 : case E_V4DFmode:
1343 126 : if (!register_operand (operands[0], E_V4DFmode)
1344 117 : || GET_MODE (x1) != E_V4DFmode
1345 243 : || !nonimmediate_operand (operands[1], E_V4DFmode))
1346 11 : return -1;
1347 : return 4;
1348 :
1349 124 : case E_V2DFmode:
1350 124 : if (!register_operand (operands[0], E_V2DFmode)
1351 118 : || GET_MODE (x1) != E_V2DFmode
1352 242 : || !nonimmediate_operand (operands[1], E_V2DFmode))
1353 8 : return -1;
1354 : return 5;
1355 :
1356 : default:
1357 : return -1;
1358 : }
1359 : }
1360 :
1361 : int
1362 678286 : pattern336 (rtx x1)
1363 : {
1364 678286 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1365 678286 : rtx x2, x3, x4, x5;
1366 678286 : int res ATTRIBUTE_UNUSED;
1367 678286 : x2 = XEXP (x1, 0);
1368 678286 : x3 = XEXP (x2, 0);
1369 678286 : operands[1] = x3;
1370 678286 : x4 = XEXP (x2, 1);
1371 678286 : operands[2] = x4;
1372 678286 : x5 = XEXP (x1, 1);
1373 678286 : operands[3] = x5;
1374 678286 : switch (GET_MODE (operands[0]))
1375 : {
1376 6000 : case E_V8HImode:
1377 6000 : return pattern335 (x1,
1378 6000 : E_V8HImode); /* [-1, 0] */
1379 :
1380 4334 : case E_V4SImode:
1381 4334 : if (pattern335 (x1,
1382 : E_V4SImode) != 0)
1383 : return -1;
1384 : return 1;
1385 :
1386 : default:
1387 : return -1;
1388 : }
1389 : }
1390 :
1391 : int
1392 54044 : pattern340 (rtx x1, rtx_code i1)
1393 : {
1394 54044 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1395 54044 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1396 54044 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
1397 54044 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
1398 54044 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
1399 54044 : rtx x34, x35;
1400 54044 : int res ATTRIBUTE_UNUSED;
1401 54044 : x2 = XEXP (x1, 0);
1402 54044 : x3 = XEXP (x2, 0);
1403 54044 : x4 = XEXP (x3, 0);
1404 54044 : if (GET_CODE (x4) != VEC_SELECT)
1405 : return -1;
1406 375 : x5 = XEXP (x4, 1);
1407 375 : if (GET_CODE (x5) != PARALLEL)
1408 : return -1;
1409 375 : x6 = XEXP (x2, 1);
1410 375 : if (GET_CODE (x6) != i1)
1411 : return -1;
1412 252 : x7 = XEXP (x6, 0);
1413 252 : if (GET_CODE (x7) != VEC_SELECT)
1414 : return -1;
1415 190 : x8 = XEXP (x7, 1);
1416 190 : if (GET_CODE (x8) != PARALLEL)
1417 : return -1;
1418 190 : x9 = XEXP (x1, 1);
1419 190 : if (GET_CODE (x9) != PLUS)
1420 : return -1;
1421 190 : x10 = XEXP (x9, 0);
1422 190 : if (GET_CODE (x10) != i1)
1423 : return -1;
1424 190 : x11 = XEXP (x10, 0);
1425 190 : if (GET_CODE (x11) != VEC_SELECT)
1426 : return -1;
1427 190 : x12 = XEXP (x11, 1);
1428 190 : if (GET_CODE (x12) != PARALLEL)
1429 : return -1;
1430 190 : x13 = XEXP (x9, 1);
1431 190 : if (GET_CODE (x13) != i1)
1432 : return -1;
1433 190 : x14 = XEXP (x13, 0);
1434 190 : if (GET_CODE (x14) != VEC_SELECT)
1435 : return -1;
1436 190 : x15 = XEXP (x14, 1);
1437 190 : if (GET_CODE (x15) != PARALLEL)
1438 : return -1;
1439 190 : x16 = XEXP (x4, 0);
1440 190 : operands[1] = x16;
1441 190 : x17 = XEXP (x7, 0);
1442 190 : if (!rtx_equal_p (x17, operands[1]))
1443 : return -1;
1444 190 : x18 = XEXP (x11, 0);
1445 190 : if (!rtx_equal_p (x18, operands[1]))
1446 : return -1;
1447 190 : x19 = XEXP (x14, 0);
1448 190 : if (!rtx_equal_p (x19, operands[1]))
1449 : return -1;
1450 190 : switch (XVECLEN (x5, 0))
1451 : {
1452 90 : case 4:
1453 90 : x20 = XVECEXP (x5, 0, 0);
1454 90 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1455 : return -1;
1456 90 : x21 = XVECEXP (x5, 0, 1);
1457 90 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
1458 : return -1;
1459 90 : x22 = XVECEXP (x5, 0, 2);
1460 90 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
1461 : return -1;
1462 90 : x23 = XVECEXP (x5, 0, 3);
1463 90 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 12]
1464 90 : || XVECLEN (x8, 0) != 4)
1465 : return -1;
1466 90 : x24 = XVECEXP (x8, 0, 0);
1467 90 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1468 : return -1;
1469 90 : x25 = XVECEXP (x8, 0, 1);
1470 90 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
1471 : return -1;
1472 90 : x26 = XVECEXP (x8, 0, 2);
1473 90 : if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
1474 : return -1;
1475 90 : x27 = XVECEXP (x8, 0, 3);
1476 90 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 13]
1477 90 : || XVECLEN (x12, 0) != 4)
1478 : return -1;
1479 90 : x28 = XVECEXP (x12, 0, 0);
1480 90 : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
1481 : return -1;
1482 90 : x29 = XVECEXP (x12, 0, 1);
1483 90 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
1484 : return -1;
1485 90 : x30 = XVECEXP (x12, 0, 2);
1486 90 : if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
1487 : return -1;
1488 90 : x31 = XVECEXP (x12, 0, 3);
1489 90 : if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
1490 90 : || XVECLEN (x15, 0) != 4)
1491 : return -1;
1492 90 : x32 = XVECEXP (x15, 0, 0);
1493 90 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
1494 : return -1;
1495 90 : x33 = XVECEXP (x15, 0, 1);
1496 90 : if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
1497 : return -1;
1498 90 : x34 = XVECEXP (x15, 0, 2);
1499 90 : if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
1500 : return -1;
1501 90 : x35 = XVECEXP (x15, 0, 3);
1502 90 : if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 15]
1503 90 : || pattern339 (x1,
1504 : E_V4QImode,
1505 : E_V4SImode,
1506 : E_V16QImode) != 0)
1507 4 : return -1;
1508 : return 0;
1509 :
1510 100 : case 2:
1511 100 : x20 = XVECEXP (x5, 0, 0);
1512 100 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1513 : return -1;
1514 100 : x21 = XVECEXP (x5, 0, 1);
1515 100 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 4]
1516 100 : || XVECLEN (x8, 0) != 2)
1517 : return -1;
1518 100 : x24 = XVECEXP (x8, 0, 0);
1519 100 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1520 : return -1;
1521 100 : x25 = XVECEXP (x8, 0, 1);
1522 100 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 5]
1523 100 : || XVECLEN (x12, 0) != 2)
1524 : return -1;
1525 100 : x28 = XVECEXP (x12, 0, 0);
1526 100 : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
1527 : return -1;
1528 100 : x29 = XVECEXP (x12, 0, 1);
1529 100 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
1530 100 : || XVECLEN (x15, 0) != 2)
1531 : return -1;
1532 100 : x32 = XVECEXP (x15, 0, 0);
1533 100 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
1534 : return -1;
1535 100 : x33 = XVECEXP (x15, 0, 1);
1536 100 : if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
1537 100 : || pattern339 (x1,
1538 : E_V2HImode,
1539 : E_V2DImode,
1540 : E_V8HImode) != 0)
1541 4 : return -1;
1542 : return 1;
1543 :
1544 : default:
1545 : return -1;
1546 : }
1547 : }
1548 :
1549 : int
1550 534655 : pattern380 (rtx x1)
1551 : {
1552 534655 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1553 534655 : rtx x2, x3, x4, x5, x6, x7, x8;
1554 534655 : int res ATTRIBUTE_UNUSED;
1555 534655 : x2 = XVECEXP (x1, 0, 0);
1556 534655 : x3 = XEXP (x2, 1);
1557 534655 : x4 = XEXP (x3, 0);
1558 534655 : operands[1] = x4;
1559 534655 : x5 = XEXP (x2, 0);
1560 534655 : switch (GET_CODE (x5))
1561 : {
1562 534637 : case REG:
1563 534637 : case SUBREG:
1564 534637 : case MEM:
1565 534637 : operands[0] = x5;
1566 534637 : x6 = XVECEXP (x1, 0, 1);
1567 534637 : switch (GET_CODE (x6))
1568 : {
1569 : case CLOBBER:
1570 : return 0;
1571 :
1572 41356 : case USE:
1573 41356 : return 1;
1574 :
1575 : default:
1576 : return -1;
1577 : }
1578 :
1579 18 : case STRICT_LOW_PART:
1580 18 : x6 = XVECEXP (x1, 0, 1);
1581 18 : if (GET_CODE (x6) != CLOBBER)
1582 : return -1;
1583 18 : x7 = XEXP (x6, 0);
1584 18 : if (GET_CODE (x7) != REG
1585 18 : || REGNO (x7) != 17
1586 36 : || GET_MODE (x7) != E_CCmode)
1587 : return -1;
1588 18 : x8 = XEXP (x5, 0);
1589 18 : operands[0] = x8;
1590 18 : res = pattern379 (x3);
1591 18 : if (res >= 0)
1592 18 : return res + 2; /* [2, 3] */
1593 : return -1;
1594 :
1595 : default:
1596 : return -1;
1597 : }
1598 : }
1599 :
1600 : int
1601 88048 : pattern397 (rtx x1, rtx_code i1)
1602 : {
1603 88048 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1604 88048 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1605 88048 : rtx x10, x11, x12, x13, x14;
1606 88048 : int res ATTRIBUTE_UNUSED;
1607 88048 : x2 = XVECEXP (x1, 0, 1);
1608 88048 : if (GET_CODE (x2) != SET)
1609 : return -1;
1610 88048 : x3 = XEXP (x2, 1);
1611 88048 : if (GET_CODE (x3) != i1)
1612 : return -1;
1613 88048 : x4 = XVECEXP (x1, 0, 3);
1614 88048 : x5 = XEXP (x4, 0);
1615 88048 : if (GET_CODE (x5) != REG
1616 88048 : || REGNO (x5) != 17
1617 176096 : || GET_MODE (x5) != E_CCmode)
1618 : return -1;
1619 88048 : x6 = XVECEXP (x1, 0, 0);
1620 88048 : x7 = XEXP (x6, 0);
1621 88048 : operands[0] = x7;
1622 88048 : x8 = XEXP (x6, 1);
1623 88048 : x9 = XEXP (x8, 0);
1624 88048 : operands[2] = x9;
1625 88048 : x10 = XEXP (x8, 1);
1626 88048 : operands[3] = x10;
1627 88048 : x11 = XEXP (x2, 0);
1628 88048 : operands[1] = x11;
1629 88048 : x12 = XEXP (x3, 0);
1630 88048 : if (!rtx_equal_p (x12, operands[2]))
1631 : return -1;
1632 88048 : x13 = XEXP (x3, 1);
1633 88048 : if (!rtx_equal_p (x13, operands[3]))
1634 : return -1;
1635 88048 : x14 = XVECEXP (x1, 0, 2);
1636 88048 : switch (GET_CODE (x14))
1637 : {
1638 39 : case UNSPEC:
1639 39 : return pattern394 (x1); /* [-1, 1] */
1640 :
1641 88009 : case USE:
1642 88009 : res = pattern396 (x1);
1643 88009 : if (res >= 0)
1644 88009 : return res + 2; /* [2, 4] */
1645 : return -1;
1646 :
1647 : default:
1648 : return -1;
1649 : }
1650 : }
1651 :
1652 : int
1653 6490 : pattern413 (rtx x1)
1654 : {
1655 6490 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1656 6490 : rtx x2, x3, x4;
1657 6490 : int res ATTRIBUTE_UNUSED;
1658 6490 : x2 = XEXP (x1, 0);
1659 6490 : x3 = XEXP (x2, 1);
1660 6490 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1661 : return -1;
1662 5727 : x4 = XEXP (x2, 0);
1663 5727 : operands[1] = x4;
1664 5727 : if (!int_nonimmediate_operand (operands[1], E_VOIDmode))
1665 : return -1;
1666 4056 : switch (GET_MODE (operands[0]))
1667 : {
1668 203 : case E_QImode:
1669 203 : if (!register_operand (operands[0], E_QImode)
1670 203 : || GET_MODE (x1) != E_QImode
1671 406 : || GET_MODE (x2) != E_QImode)
1672 : return -1;
1673 : return 0;
1674 :
1675 133 : case E_HImode:
1676 133 : if (!register_operand (operands[0], E_HImode)
1677 129 : || GET_MODE (x1) != E_HImode
1678 262 : || GET_MODE (x2) != E_HImode)
1679 : return -1;
1680 : return 1;
1681 :
1682 3472 : case E_SImode:
1683 3472 : if (!register_operand (operands[0], E_SImode)
1684 2297 : || GET_MODE (x1) != E_SImode
1685 5769 : || GET_MODE (x2) != E_SImode)
1686 : return -1;
1687 : return 2;
1688 :
1689 248 : case E_DImode:
1690 248 : if (!register_operand (operands[0], E_DImode)
1691 244 : || GET_MODE (x1) != E_DImode
1692 492 : || GET_MODE (x2) != E_DImode)
1693 : return -1;
1694 : return 3;
1695 :
1696 : default:
1697 : return -1;
1698 : }
1699 : }
1700 :
1701 : int
1702 3741246 : pattern424 (rtx x1)
1703 : {
1704 3741246 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1705 3741246 : rtx x2, x3, x4;
1706 3741246 : int res ATTRIBUTE_UNUSED;
1707 3741246 : x2 = XEXP (x1, 1);
1708 3741246 : x3 = XEXP (x2, 0);
1709 3741246 : if (GET_CODE (x3) != REG
1710 3741246 : || REGNO (x3) != 7)
1711 : return -1;
1712 2213928 : x4 = XEXP (x1, 0);
1713 2213928 : if (GET_CODE (x4) != REG
1714 2213928 : || REGNO (x4) != 7)
1715 8 : return -1;
1716 : return 0;
1717 : }
1718 :
1719 : int
1720 50444 : pattern429 (rtx x1)
1721 : {
1722 50444 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1723 50444 : rtx x2, x3, x4, x5;
1724 50444 : int res ATTRIBUTE_UNUSED;
1725 50444 : x2 = XEXP (x1, 0);
1726 50444 : x3 = XEXP (x2, 0);
1727 50444 : if (GET_MODE (x3) != E_TImode
1728 1610 : || !nonimmediate_operand (operands[0], E_TImode)
1729 1610 : || GET_MODE (x1) != E_TImode
1730 52054 : || GET_MODE (x2) != E_TImode)
1731 48834 : return -1;
1732 1610 : x4 = XEXP (x3, 0);
1733 1610 : operands[1] = x4;
1734 1610 : if (!nonimmediate_operand (operands[1], E_DImode)
1735 1610 : || !const_int_operand (operands[2], E_QImode))
1736 472 : return -1;
1737 1138 : x5 = XEXP (x1, 1);
1738 1138 : return pattern261 (x5,
1739 : E_DImode,
1740 1138 : E_TImode); /* [-1, 1] */
1741 : }
1742 :
1743 : int
1744 174092 : pattern436 (rtx x1)
1745 : {
1746 174092 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1747 174092 : rtx x2, x3, x4, x5;
1748 174092 : int res ATTRIBUTE_UNUSED;
1749 174092 : x2 = XEXP (x1, 0);
1750 174092 : x3 = XEXP (x2, 0);
1751 174092 : x4 = XEXP (x3, 0);
1752 174092 : operands[1] = x4;
1753 174092 : x5 = XEXP (x3, 1);
1754 174092 : operands[2] = x5;
1755 174092 : if (!const248_operand (operands[2], E_VOIDmode))
1756 : return -1;
1757 23836 : return pattern435 (x1); /* [-1, 1] */
1758 : }
1759 :
1760 : int
1761 96 : pattern444 (rtx x1)
1762 : {
1763 96 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1764 96 : rtx x2, x3, x4, x5;
1765 96 : int res ATTRIBUTE_UNUSED;
1766 96 : x2 = XEXP (x1, 0);
1767 96 : if (GET_MODE (x2) != E_SImode)
1768 : return -1;
1769 94 : x3 = XEXP (x2, 0);
1770 94 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
1771 : return -1;
1772 65 : x4 = XEXP (x2, 1);
1773 65 : if (GET_CODE (x4) != CLZ
1774 65 : || GET_MODE (x4) != E_SImode)
1775 : return -1;
1776 65 : x5 = XEXP (x1, 1);
1777 65 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
1778 0 : return -1;
1779 : return 0;
1780 : }
1781 :
1782 : int
1783 3817 : pattern451 (rtx x1, machine_mode i1)
1784 : {
1785 3817 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1786 3817 : rtx x2;
1787 3817 : int res ATTRIBUTE_UNUSED;
1788 3817 : if (!nonimmediate_operand (operands[0], i1)
1789 3813 : || GET_MODE (x1) != i1
1790 7630 : || !x86_64_general_operand (operands[1], i1))
1791 10 : return -1;
1792 3807 : x2 = XEXP (x1, 1);
1793 3807 : if (GET_MODE (x2) != i1)
1794 : return -1;
1795 : return 0;
1796 : }
1797 :
1798 : int
1799 18977 : pattern455 (rtx x1)
1800 : {
1801 18977 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1802 18977 : rtx x2, x3, x4;
1803 18977 : int res ATTRIBUTE_UNUSED;
1804 18977 : x2 = XEXP (x1, 1);
1805 18977 : x3 = XEXP (x2, 0);
1806 18977 : x4 = XEXP (x3, 0);
1807 18977 : operands[2] = x4;
1808 18977 : if (!int248_register_operand (operands[2], E_VOIDmode))
1809 : return -1;
1810 15502 : return pattern454 (x1); /* [-1, 1] */
1811 : }
1812 :
1813 : int
1814 4364 : pattern460 (rtx x1, machine_mode i1, machine_mode i2)
1815 : {
1816 4364 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1817 4364 : rtx x2;
1818 4364 : int res ATTRIBUTE_UNUSED;
1819 4364 : if (!register_operand (operands[0], i1)
1820 4364 : || GET_MODE (x1) != i1)
1821 : return -1;
1822 4158 : x2 = XEXP (x1, 0);
1823 4158 : if (GET_MODE (x2) != i1
1824 4158 : || !register_operand (operands[1], i1)
1825 4108 : || !vector_operand (operands[2], i1)
1826 4096 : || !nonimm_or_0_operand (operands[3], i1)
1827 8200 : || !register_operand (operands[4], i2))
1828 182 : return -1;
1829 : return 0;
1830 : }
1831 :
1832 : int
1833 424 : pattern466 (rtx x1)
1834 : {
1835 424 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1836 424 : rtx x2, x3, x4, x5, x6;
1837 424 : int res ATTRIBUTE_UNUSED;
1838 424 : x2 = XEXP (x1, 0);
1839 424 : if (GET_MODE (x2) != E_V32HImode
1840 424 : || !register_operand (operands[0], E_V32HImode)
1841 824 : || GET_MODE (x1) != E_V32HImode)
1842 24 : return -1;
1843 400 : x3 = XVECEXP (x2, 0, 0);
1844 400 : operands[1] = x3;
1845 400 : if (!nonimmediate_operand (operands[1], E_V32HImode))
1846 : return -1;
1847 400 : x4 = XVECEXP (x2, 0, 1);
1848 400 : operands[2] = x4;
1849 400 : if (!const_0_to_255_operand (operands[2], E_SImode))
1850 : return -1;
1851 400 : x5 = XEXP (x1, 1);
1852 400 : operands[3] = x5;
1853 400 : if (!nonimm_or_0_operand (operands[3], E_V32HImode))
1854 : return -1;
1855 384 : x6 = XEXP (x1, 2);
1856 384 : operands[4] = x6;
1857 384 : if (!register_operand (operands[4], E_SImode))
1858 : return -1;
1859 : return 0;
1860 : }
1861 :
1862 : int
1863 534 : pattern474 (rtx x1, machine_mode i1, machine_mode i2)
1864 : {
1865 534 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1866 534 : rtx x2, x3;
1867 534 : int res ATTRIBUTE_UNUSED;
1868 534 : if (!register_operand (operands[0], i2)
1869 534 : || GET_MODE (x1) != i2)
1870 : return -1;
1871 506 : x2 = XEXP (x1, 0);
1872 506 : if (GET_MODE (x2) != i2
1873 506 : || !vector_operand (operands[1], i2)
1874 506 : || !vector_operand (operands[2], i2)
1875 506 : || !vector_operand (operands[3], i2)
1876 1012 : || !const0_operand (operands[4], i2))
1877 0 : return -1;
1878 506 : x3 = XEXP (x1, 2);
1879 506 : if (GET_MODE (x3) != i1
1880 506 : || !register_operand (operands[5], E_QImode))
1881 50 : return -1;
1882 : return 0;
1883 : }
1884 :
1885 : int
1886 7413 : pattern484 (rtx x1, machine_mode i1, machine_mode i2)
1887 : {
1888 7413 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1889 7413 : rtx x2;
1890 7413 : int res ATTRIBUTE_UNUSED;
1891 7413 : if (!register_operand (operands[0], i1)
1892 7413 : || GET_MODE (x1) != i1)
1893 : return -1;
1894 7079 : x2 = XEXP (x1, 0);
1895 7079 : if (GET_MODE (x2) != i1
1896 7079 : || !register_operand (operands[1], i1)
1897 7067 : || !register_operand (operands[2], i1)
1898 7067 : || !nonimmediate_operand (operands[3], i1)
1899 14146 : || !register_operand (operands[4], i2))
1900 340 : return -1;
1901 : return 0;
1902 : }
1903 :
1904 : int
1905 67946 : pattern492 (rtx x1)
1906 : {
1907 67946 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1908 67946 : rtx x2, x3;
1909 67946 : int res ATTRIBUTE_UNUSED;
1910 67946 : x2 = XEXP (x1, 2);
1911 67946 : switch (GET_CODE (x2))
1912 : {
1913 28228 : case REG:
1914 28228 : case SUBREG:
1915 28228 : operands[4] = x2;
1916 28228 : x3 = XEXP (x1, 1);
1917 28228 : operands[3] = x3;
1918 28228 : switch (GET_MODE (operands[0]))
1919 : {
1920 443 : case E_V32HFmode:
1921 443 : return pattern491 (x1,
1922 : E_V32HFmode,
1923 443 : E_SImode); /* [-1, 0] */
1924 :
1925 491 : case E_V16HFmode:
1926 491 : if (pattern491 (x1,
1927 : E_V16HFmode,
1928 : E_HImode) != 0)
1929 : return -1;
1930 : return 1;
1931 :
1932 425 : case E_V8HFmode:
1933 425 : if (pattern491 (x1,
1934 : E_V8HFmode,
1935 : E_QImode) != 0)
1936 : return -1;
1937 : return 2;
1938 :
1939 1093 : case E_V16SFmode:
1940 1093 : if (pattern491 (x1,
1941 : E_V16SFmode,
1942 : E_HImode) != 0)
1943 : return -1;
1944 : return 3;
1945 :
1946 605 : case E_V8SFmode:
1947 605 : if (pattern491 (x1,
1948 : E_V8SFmode,
1949 : E_QImode) != 0)
1950 : return -1;
1951 : return 4;
1952 :
1953 455 : case E_V4SFmode:
1954 455 : if (pattern491 (x1,
1955 : E_V4SFmode,
1956 : E_QImode) != 0)
1957 : return -1;
1958 : return 5;
1959 :
1960 3686 : case E_V8DFmode:
1961 3686 : if (pattern491 (x1,
1962 : E_V8DFmode,
1963 : E_QImode) != 0)
1964 : return -1;
1965 : return 6;
1966 :
1967 950 : case E_V4DFmode:
1968 950 : if (pattern491 (x1,
1969 : E_V4DFmode,
1970 : E_QImode) != 0)
1971 : return -1;
1972 : return 7;
1973 :
1974 563 : case E_V2DFmode:
1975 563 : if (pattern491 (x1,
1976 : E_V2DFmode,
1977 : E_QImode) != 0)
1978 : return -1;
1979 : return 8;
1980 :
1981 4675 : case E_V16SImode:
1982 4675 : if (pattern134 (x1,
1983 : E_V16SImode,
1984 : E_HImode) != 0)
1985 : return -1;
1986 : return 9;
1987 :
1988 3916 : case E_V8SImode:
1989 3916 : if (pattern134 (x1,
1990 : E_V8SImode,
1991 : E_QImode) != 0)
1992 : return -1;
1993 : return 10;
1994 :
1995 4815 : case E_V4SImode:
1996 4815 : if (pattern134 (x1,
1997 : E_V4SImode,
1998 : E_QImode) != 0)
1999 : return -1;
2000 : return 11;
2001 :
2002 686 : case E_V8DImode:
2003 686 : if (pattern134 (x1,
2004 : E_V8DImode,
2005 : E_QImode) != 0)
2006 : return -1;
2007 : return 12;
2008 :
2009 626 : case E_V4DImode:
2010 626 : if (pattern134 (x1,
2011 : E_V4DImode,
2012 : E_QImode) != 0)
2013 : return -1;
2014 : return 13;
2015 :
2016 379 : case E_V2DImode:
2017 379 : if (pattern134 (x1,
2018 : E_V2DImode,
2019 : E_QImode) != 0)
2020 : return -1;
2021 : return 14;
2022 :
2023 674 : case E_V64QImode:
2024 674 : if (pattern134 (x1,
2025 : E_V64QImode,
2026 : E_DImode) != 0)
2027 : return -1;
2028 : return 15;
2029 :
2030 352 : case E_V16QImode:
2031 352 : if (pattern134 (x1,
2032 : E_V16QImode,
2033 : E_HImode) != 0)
2034 : return -1;
2035 : return 16;
2036 :
2037 508 : case E_V32QImode:
2038 508 : if (pattern134 (x1,
2039 : E_V32QImode,
2040 : E_SImode) != 0)
2041 : return -1;
2042 : return 17;
2043 :
2044 674 : case E_V32HImode:
2045 674 : if (pattern134 (x1,
2046 : E_V32HImode,
2047 : E_SImode) != 0)
2048 : return -1;
2049 : return 18;
2050 :
2051 640 : case E_V16HImode:
2052 640 : if (pattern134 (x1,
2053 : E_V16HImode,
2054 : E_HImode) != 0)
2055 : return -1;
2056 : return 19;
2057 :
2058 352 : case E_V8HImode:
2059 352 : if (pattern134 (x1,
2060 : E_V8HImode,
2061 : E_QImode) != 0)
2062 : return -1;
2063 : return 20;
2064 :
2065 408 : case E_V32BFmode:
2066 408 : if (pattern136 (x1,
2067 : E_V32BFmode,
2068 : E_SImode) != 0)
2069 : return -1;
2070 : return 21;
2071 :
2072 408 : case E_V16BFmode:
2073 408 : if (pattern136 (x1,
2074 : E_V16BFmode,
2075 : E_HImode) != 0)
2076 : return -1;
2077 : return 22;
2078 :
2079 404 : case E_V8BFmode:
2080 404 : if (pattern136 (x1,
2081 : E_V8BFmode,
2082 : E_QImode) != 0)
2083 : return -1;
2084 : return 23;
2085 :
2086 : default:
2087 : return -1;
2088 : }
2089 :
2090 37103 : case CONST_INT:
2091 37103 : res = pattern138 (x1);
2092 37103 : if (res >= 0)
2093 404 : return res + 24; /* [24, 26] */
2094 : return -1;
2095 :
2096 : default:
2097 : return -1;
2098 : }
2099 : }
2100 :
2101 : int
2102 828 : pattern523 (rtx x1, machine_mode i1)
2103 : {
2104 828 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2105 828 : int res ATTRIBUTE_UNUSED;
2106 828 : if (!register_operand (operands[0], i1)
2107 828 : || GET_MODE (x1) != i1)
2108 : return -1;
2109 762 : switch (GET_MODE (operands[1]))
2110 : {
2111 593 : case E_V4SImode:
2112 593 : if (!nonimmediate_operand (operands[1], E_V4SImode))
2113 : return -1;
2114 : return 0;
2115 :
2116 167 : case E_V4DImode:
2117 167 : if (!nonimmediate_operand (operands[1], E_V4DImode))
2118 : return -1;
2119 : return 1;
2120 :
2121 : default:
2122 : return -1;
2123 : }
2124 : }
2125 :
2126 : int
2127 51 : pattern528 (rtx x1, machine_mode i1, machine_mode i2)
2128 : {
2129 51 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2130 51 : rtx x2;
2131 51 : int res ATTRIBUTE_UNUSED;
2132 51 : if (!nonimmediate_operand (operands[0], i2)
2133 51 : || GET_MODE (x1) != i2)
2134 : return -1;
2135 51 : x2 = XEXP (x1, 0);
2136 51 : if (GET_MODE (x2) != i1
2137 51 : || !register_operand (operands[1], i1)
2138 94 : || !permvar_truncate_operand (operands[2], i1))
2139 39 : return -1;
2140 : return 0;
2141 : }
2142 :
2143 : int
2144 145 : pattern532 (rtx x1, machine_mode i1)
2145 : {
2146 145 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2147 145 : rtx x2;
2148 145 : int res ATTRIBUTE_UNUSED;
2149 145 : if (!register_operand (operands[0], i1)
2150 145 : || GET_MODE (x1) != i1)
2151 : return -1;
2152 145 : x2 = XEXP (x1, 0);
2153 145 : if (GET_MODE (x2) != i1
2154 145 : || !register_operand (operands[1], i1)
2155 113 : || !register_operand (operands[2], i1)
2156 258 : || !const1_operand (operands[3], i1))
2157 145 : return -1;
2158 : return 0;
2159 : }
2160 :
2161 : int
2162 251654 : pattern536 (rtx x1, machine_mode i1)
2163 : {
2164 251654 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2165 251654 : rtx x2;
2166 251654 : int res ATTRIBUTE_UNUSED;
2167 251654 : if (!register_operand (operands[0], i1)
2168 251654 : || GET_MODE (x1) != i1)
2169 : return -1;
2170 248278 : x2 = XEXP (x1, 0);
2171 248278 : if (GET_MODE (x2) != i1
2172 248278 : || !regmem_or_bitnot_regmem_operand (operands[1], i1)
2173 168191 : || !regmem_or_bitnot_regmem_operand (operands[2], i1)
2174 401285 : || !regmem_or_bitnot_regmem_operand (operands[3], i1))
2175 95949 : return -1;
2176 : return 0;
2177 : }
2178 :
2179 : int
2180 73927 : pattern542 (rtx x1)
2181 : {
2182 73927 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2183 73927 : rtx x2, x3, x4;
2184 73927 : int res ATTRIBUTE_UNUSED;
2185 73927 : x2 = XEXP (x1, 1);
2186 73927 : x3 = XEXP (x2, 0);
2187 73927 : operands[3] = x3;
2188 73927 : x4 = XEXP (x2, 1);
2189 73927 : operands[4] = x4;
2190 73927 : switch (GET_MODE (operands[0]))
2191 : {
2192 1 : case E_V32HFmode:
2193 1 : return pattern534 (x1,
2194 1 : E_V32HFmode); /* [-1, 0] */
2195 :
2196 1 : case E_V16HFmode:
2197 1 : if (pattern534 (x1,
2198 : E_V16HFmode) != 0)
2199 : return -1;
2200 : return 1;
2201 :
2202 52 : case E_V8HFmode:
2203 52 : if (pattern534 (x1,
2204 : E_V8HFmode) != 0)
2205 : return -1;
2206 : return 2;
2207 :
2208 0 : case E_V32BFmode:
2209 0 : if (pattern534 (x1,
2210 : E_V32BFmode) != 0)
2211 : return -1;
2212 : return 3;
2213 :
2214 0 : case E_V16BFmode:
2215 0 : if (pattern534 (x1,
2216 : E_V16BFmode) != 0)
2217 : return -1;
2218 : return 4;
2219 :
2220 0 : case E_V8BFmode:
2221 0 : if (pattern534 (x1,
2222 : E_V8BFmode) != 0)
2223 : return -1;
2224 : return 5;
2225 :
2226 2 : case E_V16SFmode:
2227 2 : if (pattern534 (x1,
2228 : E_V16SFmode) != 0)
2229 : return -1;
2230 : return 6;
2231 :
2232 4 : case E_V8SFmode:
2233 4 : if (pattern534 (x1,
2234 : E_V8SFmode) != 0)
2235 : return -1;
2236 : return 7;
2237 :
2238 5497 : case E_V4SFmode:
2239 5497 : if (pattern534 (x1,
2240 : E_V4SFmode) != 0)
2241 : return -1;
2242 : return 8;
2243 :
2244 0 : case E_V8DFmode:
2245 0 : if (pattern534 (x1,
2246 : E_V8DFmode) != 0)
2247 : return -1;
2248 : return 9;
2249 :
2250 9 : case E_V4DFmode:
2251 9 : if (pattern534 (x1,
2252 : E_V4DFmode) != 0)
2253 : return -1;
2254 : return 10;
2255 :
2256 5438 : case E_V2DFmode:
2257 5438 : if (pattern534 (x1,
2258 : E_V2DFmode) != 0)
2259 : return -1;
2260 : return 11;
2261 :
2262 : default:
2263 : return -1;
2264 : }
2265 : }
2266 :
2267 : int
2268 79177 : pattern547 (rtx x1)
2269 : {
2270 79177 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2271 79177 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2272 79177 : rtx x10, x11;
2273 79177 : int res ATTRIBUTE_UNUSED;
2274 79177 : x2 = XEXP (x1, 0);
2275 79177 : x3 = XEXP (x2, 1);
2276 79177 : switch (XVECLEN (x3, 0))
2277 : {
2278 24851 : case 8:
2279 24851 : x4 = XVECEXP (x3, 0, 0);
2280 24851 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2281 : return -1;
2282 23444 : x5 = XVECEXP (x3, 0, 1);
2283 23444 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2284 : return -1;
2285 23444 : x6 = XVECEXP (x3, 0, 2);
2286 23444 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2287 : return -1;
2288 23444 : x7 = XVECEXP (x3, 0, 3);
2289 23444 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2290 : return -1;
2291 23444 : x8 = XVECEXP (x3, 0, 4);
2292 23444 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
2293 : return -1;
2294 23444 : x9 = XVECEXP (x3, 0, 5);
2295 23444 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
2296 : return -1;
2297 23444 : x10 = XVECEXP (x3, 0, 6);
2298 23444 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
2299 : return -1;
2300 23444 : x11 = XVECEXP (x3, 0, 7);
2301 23444 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
2302 23444 : || GET_MODE (x2) != E_V8QImode
2303 45527 : || !register_operand (operands[1], E_V16QImode))
2304 4830 : return -1;
2305 18614 : return pattern545 (x1); /* [-1, 2] */
2306 :
2307 13537 : case 4:
2308 13537 : x4 = XVECEXP (x3, 0, 0);
2309 13537 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2310 : return -1;
2311 12464 : x5 = XVECEXP (x3, 0, 1);
2312 12464 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2313 : return -1;
2314 12464 : x6 = XVECEXP (x3, 0, 2);
2315 12464 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2316 : return -1;
2317 12464 : x7 = XVECEXP (x3, 0, 3);
2318 12464 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2319 : return -1;
2320 12464 : switch (GET_MODE (operands[0]))
2321 : {
2322 10537 : case E_V4SImode:
2323 10537 : res = pattern546 (x1,
2324 : E_V4SImode);
2325 10537 : if (res >= 0)
2326 7273 : return res + 3; /* [3, 4] */
2327 : return -1;
2328 :
2329 1522 : case E_V4DImode:
2330 1522 : res = pattern546 (x1,
2331 : E_V4DImode);
2332 1522 : if (res >= 0)
2333 380 : return res + 5; /* [5, 6] */
2334 : return -1;
2335 :
2336 : default:
2337 : return -1;
2338 : }
2339 :
2340 9521 : case 2:
2341 9521 : x4 = XVECEXP (x3, 0, 0);
2342 9521 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2343 : return -1;
2344 9519 : x5 = XVECEXP (x3, 0, 1);
2345 9519 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
2346 9370 : || !register_operand (operands[0], E_V2DImode)
2347 16186 : || GET_MODE (x1) != E_V2DImode)
2348 2852 : return -1;
2349 6667 : switch (GET_MODE (x2))
2350 : {
2351 284 : case E_V2QImode:
2352 284 : if (!register_operand (operands[1], E_V16QImode))
2353 : return -1;
2354 : return 7;
2355 :
2356 232 : case E_V2HImode:
2357 232 : if (!register_operand (operands[1], E_V8HImode))
2358 : return -1;
2359 : return 8;
2360 :
2361 6151 : case E_V2SImode:
2362 6151 : if (!register_operand (operands[1], E_V4SImode))
2363 : return -1;
2364 : return 9;
2365 :
2366 : default:
2367 : return -1;
2368 : }
2369 :
2370 : default:
2371 : return -1;
2372 : }
2373 : }
2374 :
2375 : int
2376 258 : pattern580 (rtx x1)
2377 : {
2378 258 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2379 258 : int res ATTRIBUTE_UNUSED;
2380 258 : if (GET_MODE (x1) != E_SImode
2381 258 : || !register_operand (operands[0], E_SImode)
2382 255 : || !register_operand (operands[1], E_SImode)
2383 447 : || !register_operand (operands[2], E_SImode))
2384 152 : return -1;
2385 : return 0;
2386 : }
2387 :
2388 : int
2389 18 : pattern585 (rtx x1)
2390 : {
2391 18 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2392 18 : rtx x2, x3, x4;
2393 18 : int res ATTRIBUTE_UNUSED;
2394 18 : x2 = XEXP (x1, 1);
2395 18 : x3 = XEXP (x2, 0);
2396 18 : operands[2] = x3;
2397 18 : if (!register_operand (operands[2], E_QImode))
2398 : return -1;
2399 15 : x4 = XEXP (x2, 1);
2400 15 : operands[3] = x4;
2401 15 : if (!const_int_operand (operands[3], E_QImode))
2402 : return -1;
2403 15 : return pattern583 (x1); /* [-1, 3] */
2404 : }
2405 :
2406 : int
2407 868 : pattern590 (rtx x1)
2408 : {
2409 868 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2410 868 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2411 868 : int res ATTRIBUTE_UNUSED;
2412 868 : x2 = XEXP (x1, 0);
2413 868 : x3 = XEXP (x2, 0);
2414 868 : operands[0] = x3;
2415 868 : if (!int248_register_operand (operands[0], E_VOIDmode))
2416 : return -1;
2417 868 : x4 = XEXP (x1, 1);
2418 868 : x5 = XEXP (x4, 0);
2419 868 : x6 = XEXP (x5, 0);
2420 868 : x7 = XEXP (x6, 0);
2421 868 : x8 = XEXP (x7, 0);
2422 868 : if (!rtx_equal_p (x8, operands[0]))
2423 : return -1;
2424 868 : x9 = XEXP (x5, 1);
2425 868 : if (!rtx_equal_p (x9, operands[2]))
2426 : return -1;
2427 868 : switch (GET_MODE (operands[3]))
2428 : {
2429 868 : case E_HImode:
2430 868 : return pattern589 (x1,
2431 868 : E_HImode); /* [-1, 0] */
2432 :
2433 0 : case E_SImode:
2434 0 : if (pattern589 (x1,
2435 : E_SImode) != 0)
2436 : return -1;
2437 : return 1;
2438 :
2439 0 : case E_DImode:
2440 0 : if (pattern589 (x1,
2441 : E_DImode) != 0)
2442 : return -1;
2443 : return 2;
2444 :
2445 : default:
2446 : return -1;
2447 : }
2448 : }
2449 :
2450 : int
2451 4365 : pattern599 (rtx x1)
2452 : {
2453 4365 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2454 4365 : int res ATTRIBUTE_UNUSED;
2455 4365 : if (!register_operand (operands[0], E_SImode)
2456 4365 : || GET_MODE (x1) != E_SImode)
2457 : return -1;
2458 4335 : switch (GET_MODE (operands[1]))
2459 : {
2460 1693 : case E_V32QImode:
2461 1693 : if (!general_operand (operands[1], E_V32QImode)
2462 1693 : || !general_operand (operands[2], E_V32QImode))
2463 22 : return -1;
2464 : return 0;
2465 :
2466 2441 : case E_V32HImode:
2467 2441 : if (!general_operand (operands[1], E_V32HImode)
2468 2441 : || !general_operand (operands[2], E_V32HImode))
2469 34 : return -1;
2470 : return 1;
2471 :
2472 : default:
2473 : return -1;
2474 : }
2475 : }
2476 :
2477 : int
2478 18 : pattern606 (rtx x1, machine_mode i1, machine_mode i2)
2479 : {
2480 18 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2481 18 : rtx x2, x3;
2482 18 : int res ATTRIBUTE_UNUSED;
2483 18 : if (!register_operand (operands[0], i1)
2484 18 : || GET_MODE (x1) != i1)
2485 : return -1;
2486 18 : x2 = XEXP (x1, 0);
2487 18 : if (GET_MODE (x2) != i1)
2488 : return -1;
2489 18 : x3 = XEXP (x2, 0);
2490 18 : if (GET_MODE (x3) != i2
2491 18 : || !nonimmediate_operand (operands[1], i2)
2492 36 : || !vector_operand (operands[2], i1))
2493 0 : return -1;
2494 : return 0;
2495 : }
2496 :
2497 : int
2498 20746 : pattern611 (rtx x1)
2499 : {
2500 20746 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2501 20746 : rtx x2;
2502 20746 : int res ATTRIBUTE_UNUSED;
2503 20746 : if (GET_CODE (x1) != SUBREG
2504 6691 : || maybe_ne (SUBREG_BYTE (x1), 0)
2505 27437 : || GET_MODE (x1) != E_QImode)
2506 : return -1;
2507 6691 : x2 = XEXP (x1, 0);
2508 6691 : switch (GET_CODE (x2))
2509 : {
2510 : case ASHIFTRT:
2511 : case LSHIFTRT:
2512 : case SIGN_EXTRACT:
2513 : case ZERO_EXTRACT:
2514 : return 0;
2515 :
2516 : default:
2517 : return -1;
2518 : }
2519 : }
2520 :
2521 : int
2522 17210 : pattern616 (rtx x1, machine_mode i1)
2523 : {
2524 17210 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2525 17210 : rtx x2;
2526 17210 : int res ATTRIBUTE_UNUSED;
2527 17210 : if (!register_operand (operands[0], i1)
2528 17210 : || GET_MODE (x1) != i1)
2529 : return -1;
2530 13343 : x2 = XEXP (x1, 0);
2531 13343 : if (GET_MODE (x2) != i1
2532 13343 : || !register_no_SP_operand (operands[1], i1)
2533 10010 : || !const_0_to_3_operand (operands[2], E_VOIDmode)
2534 18083 : || !const_int_operand (operands[3], E_VOIDmode))
2535 8603 : return -1;
2536 : return 0;
2537 : }
2538 :
2539 : int
2540 14130 : pattern620 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
2541 : {
2542 14130 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2543 14130 : rtx x2;
2544 14130 : int res ATTRIBUTE_UNUSED;
2545 14130 : if (!register_operand (operands[0], i3)
2546 14130 : || GET_MODE (x1) != i3)
2547 : return -1;
2548 2037 : x2 = XEXP (x1, 0);
2549 2037 : if (GET_MODE (x2) != i2
2550 2037 : || !register_operand (operands[1], i1))
2551 478 : return -1;
2552 : return 0;
2553 : }
2554 :
2555 : int
2556 2066 : pattern624 (rtx x1, machine_mode i1)
2557 : {
2558 2066 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2559 2066 : rtx x2;
2560 2066 : int res ATTRIBUTE_UNUSED;
2561 2066 : if (!register_operand (operands[0], i1)
2562 2066 : || GET_MODE (x1) != i1)
2563 : return -1;
2564 2037 : x2 = XEXP (x1, 0);
2565 2037 : if (GET_MODE (x2) != i1
2566 2037 : || !register_operand (operands[1], i1)
2567 3888 : || !register_mmxmem_operand (operands[2], i1))
2568 606 : return -1;
2569 : return 0;
2570 : }
2571 :
2572 : int
2573 47 : pattern630 (rtx x1, machine_mode i1, machine_mode i2)
2574 : {
2575 47 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2576 47 : rtx x2;
2577 47 : int res ATTRIBUTE_UNUSED;
2578 47 : if (!register_operand (operands[0], i1)
2579 47 : || GET_MODE (x1) != i1)
2580 : return -1;
2581 47 : x2 = XEXP (x1, 0);
2582 47 : if (GET_MODE (x2) != i2
2583 47 : || !nonimmediate_operand (operands[1], i2))
2584 28 : return -1;
2585 : return 0;
2586 : }
2587 :
2588 : int
2589 1054832 : pattern635 (rtx x1)
2590 : {
2591 1054832 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2592 1054832 : rtx x2, x3;
2593 1054832 : int res ATTRIBUTE_UNUSED;
2594 1054832 : x2 = XEXP (x1, 1);
2595 1054832 : if (GET_CODE (x2) != SUBREG
2596 299969 : || maybe_ne (SUBREG_BYTE (x2), 0)
2597 1354801 : || GET_MODE (x2) != E_QImode)
2598 : return -1;
2599 298018 : x3 = XEXP (x2, 0);
2600 298018 : if (GET_CODE (x3) != AND
2601 298018 : || pattern293 (x1,
2602 : E_DImode) != 0)
2603 296820 : return -1;
2604 : return 0;
2605 : }
2606 :
2607 : int
2608 3446 : pattern642 (rtx x1)
2609 : {
2610 3446 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2611 3446 : rtx x2, x3, x4;
2612 3446 : int res ATTRIBUTE_UNUSED;
2613 3446 : x2 = XEXP (x1, 0);
2614 3446 : x3 = XVECEXP (x2, 0, 0);
2615 3446 : operands[1] = x3;
2616 3446 : x4 = XEXP (x1, 2);
2617 3446 : switch (GET_CODE (x4))
2618 : {
2619 2878 : case REG:
2620 2878 : case SUBREG:
2621 2878 : operands[3] = x4;
2622 2878 : switch (GET_MODE (operands[0]))
2623 : {
2624 482 : case E_V16SFmode:
2625 482 : return pattern640 (x1,
2626 : E_V16SFmode,
2627 482 : E_HImode); /* [-1, 0] */
2628 :
2629 480 : case E_V8SFmode:
2630 480 : if (pattern640 (x1,
2631 : E_V8SFmode,
2632 : E_QImode) != 0)
2633 : return -1;
2634 : return 1;
2635 :
2636 473 : case E_V4SFmode:
2637 473 : if (pattern640 (x1,
2638 : E_V4SFmode,
2639 : E_QImode) != 0)
2640 : return -1;
2641 : return 2;
2642 :
2643 486 : case E_V8DFmode:
2644 486 : if (pattern640 (x1,
2645 : E_V8DFmode,
2646 : E_QImode) != 0)
2647 : return -1;
2648 : return 3;
2649 :
2650 480 : case E_V4DFmode:
2651 480 : if (pattern640 (x1,
2652 : E_V4DFmode,
2653 : E_QImode) != 0)
2654 : return -1;
2655 : return 4;
2656 :
2657 477 : case E_V2DFmode:
2658 477 : if (pattern640 (x1,
2659 : E_V2DFmode,
2660 : E_QImode) != 0)
2661 : return -1;
2662 : return 5;
2663 :
2664 : default:
2665 : return -1;
2666 : }
2667 :
2668 528 : case CONST_INT:
2669 528 : if (XWINT (x4, 0) != 1L)
2670 : return -1;
2671 382 : switch (GET_MODE (operands[0]))
2672 : {
2673 186 : case E_V4SFmode:
2674 186 : if (pattern641 (x1,
2675 : E_V4SFmode) != 0)
2676 : return -1;
2677 : return 6;
2678 :
2679 196 : case E_V2DFmode:
2680 196 : if (pattern641 (x1,
2681 : E_V2DFmode) != 0)
2682 : return -1;
2683 : return 7;
2684 :
2685 : default:
2686 : return -1;
2687 : }
2688 :
2689 : default:
2690 : return -1;
2691 : }
2692 : }
2693 :
2694 : int
2695 374 : pattern658 (rtx x1)
2696 : {
2697 374 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2698 374 : int res ATTRIBUTE_UNUSED;
2699 374 : if (!register_operand (operands[0], E_V2DImode)
2700 374 : || GET_MODE (x1) != E_V2DImode)
2701 : return -1;
2702 344 : switch (GET_MODE (operands[1]))
2703 : {
2704 110 : case E_V8HFmode:
2705 110 : if (!nonimmediate_operand (operands[1], E_V8HFmode))
2706 : return -1;
2707 : return 0;
2708 :
2709 116 : case E_V2DFmode:
2710 116 : if (!vector_operand (operands[1], E_V2DFmode))
2711 : return -1;
2712 : return 1;
2713 :
2714 118 : case E_V4SFmode:
2715 118 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
2716 : return -1;
2717 : return 2;
2718 :
2719 : default:
2720 : return -1;
2721 : }
2722 : }
2723 :
2724 : int
2725 0 : pattern666 (rtx x1)
2726 : {
2727 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2728 0 : rtx x2, x3, x4, x5, x6, x7;
2729 0 : int res ATTRIBUTE_UNUSED;
2730 0 : x2 = XVECEXP (x1, 0, 0);
2731 0 : x3 = XEXP (x2, 0);
2732 0 : x4 = XEXP (x3, 0);
2733 0 : operands[1] = x4;
2734 0 : x5 = XEXP (x2, 1);
2735 0 : operands[2] = x5;
2736 0 : x6 = XEXP (x2, 2);
2737 0 : operands[3] = x6;
2738 0 : x7 = XVECEXP (x1, 0, 1);
2739 0 : operands[4] = x7;
2740 0 : if (!const48_operand (operands[4], E_SImode))
2741 : return -1;
2742 0 : switch (GET_MODE (operands[0]))
2743 : {
2744 0 : case E_V8HImode:
2745 0 : return pattern665 (x1,
2746 : E_QImode,
2747 : E_V8HImode,
2748 0 : E_V8HFmode); /* [-1, 0] */
2749 :
2750 0 : case E_V16HImode:
2751 0 : if (pattern665 (x1,
2752 : E_HImode,
2753 : E_V16HImode,
2754 : E_V16HFmode) != 0)
2755 : return -1;
2756 : return 1;
2757 :
2758 0 : case E_V32HImode:
2759 0 : if (pattern665 (x1,
2760 : E_SImode,
2761 : E_V32HImode,
2762 : E_V32HFmode) != 0)
2763 : return -1;
2764 : return 2;
2765 :
2766 0 : case E_V8SImode:
2767 0 : if (!register_operand (operands[0], E_V8SImode)
2768 0 : || GET_MODE (x1) != E_V8SImode
2769 0 : || GET_MODE (x2) != E_V8SImode
2770 0 : || GET_MODE (x3) != E_V8SImode
2771 0 : || !nonimm_or_0_operand (operands[2], E_V8SImode)
2772 0 : || !register_operand (operands[3], E_QImode))
2773 0 : return -1;
2774 0 : switch (GET_MODE (operands[1]))
2775 : {
2776 0 : case E_V8HFmode:
2777 0 : if (!register_operand (operands[1], E_V8HFmode))
2778 : return -1;
2779 : return 3;
2780 :
2781 0 : case E_V8DFmode:
2782 0 : if (!register_operand (operands[1], E_V8DFmode))
2783 : return -1;
2784 : return 4;
2785 :
2786 : default:
2787 : return -1;
2788 : }
2789 :
2790 0 : case E_V16SImode:
2791 0 : if (!register_operand (operands[0], E_V16SImode)
2792 0 : || GET_MODE (x1) != E_V16SImode
2793 0 : || GET_MODE (x2) != E_V16SImode
2794 0 : || GET_MODE (x3) != E_V16SImode
2795 0 : || !nonimm_or_0_operand (operands[2], E_V16SImode)
2796 0 : || !register_operand (operands[3], E_HImode))
2797 0 : return -1;
2798 0 : switch (GET_MODE (operands[1]))
2799 : {
2800 0 : case E_V16HFmode:
2801 0 : if (!register_operand (operands[1], E_V16HFmode))
2802 : return -1;
2803 : return 5;
2804 :
2805 0 : case E_V16SFmode:
2806 0 : if (!register_operand (operands[1], E_V16SFmode))
2807 : return -1;
2808 : return 6;
2809 :
2810 : default:
2811 : return -1;
2812 : }
2813 :
2814 0 : case E_V8DImode:
2815 0 : if (!register_operand (operands[0], E_V8DImode)
2816 0 : || GET_MODE (x1) != E_V8DImode
2817 0 : || GET_MODE (x2) != E_V8DImode
2818 0 : || GET_MODE (x3) != E_V8DImode
2819 0 : || !nonimm_or_0_operand (operands[2], E_V8DImode)
2820 0 : || !register_operand (operands[3], E_QImode))
2821 0 : return -1;
2822 0 : switch (GET_MODE (operands[1]))
2823 : {
2824 0 : case E_V8HFmode:
2825 0 : if (!register_operand (operands[1], E_V8HFmode))
2826 : return -1;
2827 : return 7;
2828 :
2829 0 : case E_V8DFmode:
2830 0 : if (!register_operand (operands[1], E_V8DFmode))
2831 : return -1;
2832 : return 8;
2833 :
2834 0 : case E_V8SFmode:
2835 0 : if (!register_operand (operands[1], E_V8SFmode))
2836 : return -1;
2837 : return 9;
2838 :
2839 : default:
2840 : return -1;
2841 : }
2842 :
2843 : default:
2844 : return -1;
2845 : }
2846 : }
2847 :
2848 : int
2849 201244 : pattern698 (rtx x1, rtx_code i1)
2850 : {
2851 201244 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2852 201244 : rtx x2, x3, x4, x5;
2853 201244 : int res ATTRIBUTE_UNUSED;
2854 201244 : x2 = XVECEXP (x1, 0, 0);
2855 201244 : x3 = XEXP (x2, 1);
2856 201244 : x4 = XEXP (x3, 1);
2857 201244 : if (GET_CODE (x4) != SIGN_EXTEND)
2858 : return -1;
2859 199000 : x5 = XEXP (x4, 0);
2860 199000 : if (GET_CODE (x5) != i1
2861 199000 : || pattern697 (x1,
2862 : i1) != 0)
2863 9239 : return -1;
2864 : return 0;
2865 : }
2866 :
2867 : int
2868 9460 : pattern702 (rtx x1, machine_mode i1)
2869 : {
2870 9460 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2871 9460 : rtx x2;
2872 9460 : int res ATTRIBUTE_UNUSED;
2873 9460 : if (!nonimmediate_operand (operands[0], i1)
2874 9460 : || GET_MODE (x1) != i1
2875 18920 : || !x86_64_general_operand (operands[1], i1))
2876 2 : return -1;
2877 9458 : x2 = XEXP (x1, 1);
2878 9458 : if (GET_MODE (x2) != i1)
2879 : return -1;
2880 : return 0;
2881 : }
2882 :
2883 : int
2884 225 : pattern706 (rtx x1)
2885 : {
2886 225 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2887 225 : rtx x2, x3, x4;
2888 225 : int res ATTRIBUTE_UNUSED;
2889 225 : if (GET_MODE (x1) != E_SImode)
2890 : return -1;
2891 219 : x2 = XEXP (x1, 0);
2892 219 : if (GET_CODE (x2) != ASHIFT
2893 73 : || GET_MODE (x2) != E_SImode)
2894 : return -1;
2895 73 : x3 = XEXP (x2, 0);
2896 73 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2897 : return -1;
2898 27 : x4 = XEXP (x1, 1);
2899 27 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
2900 0 : return -1;
2901 : return 0;
2902 : }
2903 :
2904 : int
2905 8564 : pattern712 (rtx x1)
2906 : {
2907 8564 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2908 8564 : rtx x2, x3, x4, x5;
2909 8564 : int res ATTRIBUTE_UNUSED;
2910 8564 : x2 = XVECEXP (x1, 0, 1);
2911 8564 : x3 = XEXP (x2, 0);
2912 8564 : if (GET_CODE (x3) != REG
2913 8564 : || REGNO (x3) != 17
2914 17128 : || GET_MODE (x3) != E_CCmode)
2915 : return -1;
2916 8564 : x4 = XVECEXP (x1, 0, 0);
2917 8564 : x5 = XEXP (x4, 1);
2918 8564 : return pattern410 (x5); /* [-1, 1] */
2919 : }
2920 :
2921 : int
2922 264 : pattern720 (rtx x1)
2923 : {
2924 264 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2925 264 : rtx x2, x3, x4, x5, x6, x7, x8;
2926 264 : int res ATTRIBUTE_UNUSED;
2927 264 : x2 = XVECEXP (x1, 0, 0);
2928 264 : x3 = XEXP (x2, 0);
2929 264 : if (GET_CODE (x3) != REG
2930 264 : || REGNO (x3) != 17
2931 528 : || GET_MODE (x3) != E_CCmode)
2932 : return -1;
2933 264 : x4 = XVECEXP (x1, 0, 1);
2934 264 : if (GET_CODE (x4) != CLOBBER)
2935 : return -1;
2936 264 : x5 = XVECEXP (x1, 0, 2);
2937 264 : if (GET_CODE (x5) != CLOBBER)
2938 : return -1;
2939 264 : x6 = XEXP (x2, 1);
2940 264 : x7 = XVECEXP (x6, 0, 0);
2941 264 : operands[2] = x7;
2942 264 : if (!register_operand (operands[2], E_V16QImode))
2943 : return -1;
2944 264 : x8 = XVECEXP (x6, 0, 1);
2945 264 : operands[3] = x8;
2946 264 : return 0;
2947 : }
2948 :
2949 : int
2950 6563 : pattern724 (rtx x1, machine_mode i1, machine_mode i2)
2951 : {
2952 6563 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2953 6563 : rtx x2, x3;
2954 6563 : int res ATTRIBUTE_UNUSED;
2955 6563 : if (!nonimmediate_operand (operands[0], i1)
2956 6563 : || GET_MODE (x1) != i1)
2957 : return -1;
2958 6547 : x2 = XEXP (x1, 0);
2959 6547 : if (GET_MODE (x2) != i1)
2960 : return -1;
2961 6547 : x3 = XEXP (x2, 0);
2962 6547 : if (GET_MODE (x3) != i1
2963 6547 : || !nonimmediate_operand (operands[1], i2)
2964 9479 : || !const_scalar_int_operand (operands[3], i1))
2965 3615 : return -1;
2966 : return 0;
2967 : }
2968 :
2969 : int
2970 1690 : pattern734 (rtx x1, rtx_code i1)
2971 : {
2972 1690 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2973 1690 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2974 1690 : rtx x10;
2975 1690 : int res ATTRIBUTE_UNUSED;
2976 1690 : x2 = XEXP (x1, 0);
2977 1690 : x3 = XEXP (x2, 1);
2978 1690 : if (GET_CODE (x3) != i1)
2979 : return -1;
2980 479 : x4 = XEXP (x1, 1);
2981 479 : if (XVECLEN (x4, 0) < 1)
2982 : return -1;
2983 479 : operands[5] = x4;
2984 479 : if (!addsub_vs_parallel (operands[5], E_VOIDmode))
2985 : return -1;
2986 8 : operands[7] = x1;
2987 8 : x5 = XEXP (x2, 0);
2988 8 : x6 = XEXP (x5, 0);
2989 8 : operands[1] = x6;
2990 8 : x7 = XEXP (x5, 1);
2991 8 : operands[2] = x7;
2992 8 : x8 = XEXP (x3, 0);
2993 8 : operands[3] = x8;
2994 8 : x9 = XEXP (x3, 1);
2995 8 : operands[4] = x9;
2996 8 : x10 = XVECEXP (x4, 0, 0);
2997 8 : operands[6] = x10;
2998 8 : if (!const_int_operand (operands[6], E_VOIDmode))
2999 : return -1;
3000 8 : switch (GET_MODE (operands[0]))
3001 : {
3002 : case E_V8SFmode:
3003 : return 0;
3004 :
3005 0 : case E_V4SFmode:
3006 0 : return 1;
3007 :
3008 0 : case E_V4DFmode:
3009 0 : return 2;
3010 :
3011 0 : case E_V2DFmode:
3012 0 : return 3;
3013 :
3014 : default:
3015 : return -1;
3016 : }
3017 : }
3018 :
3019 : int
3020 270 : pattern744 (rtx x1, machine_mode i1)
3021 : {
3022 270 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3023 270 : rtx x2, x3;
3024 270 : int res ATTRIBUTE_UNUSED;
3025 270 : if (!register_operand (operands[0], i1)
3026 270 : || GET_MODE (x1) != i1
3027 270 : || !register_operand (operands[1], i1)
3028 432 : || !register_operand (operands[2], i1))
3029 180 : return -1;
3030 90 : x2 = XVECEXP (x1, 0, 2);
3031 90 : if (GET_MODE (x2) != i1)
3032 : return -1;
3033 90 : x3 = XEXP (x2, 0);
3034 90 : if (GET_MODE (x3) != i1
3035 90 : || !register_operand (operands[3], i1)
3036 72 : || !nonmemory_operand (operands[4], i1)
3037 162 : || !const0_operand (operands[5], i1))
3038 54 : return -1;
3039 : return 0;
3040 : }
3041 :
3042 : int
3043 16292 : pattern753 (machine_mode i1)
3044 : {
3045 16292 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3046 16292 : int res ATTRIBUTE_UNUSED;
3047 16292 : if (!register_operand (operands[0], i1)
3048 16169 : || !ix86_comparison_uns_operator (operands[1], i1)
3049 16036 : || !register_operand (operands[2], i1)
3050 27069 : || !register_operand (operands[3], i1))
3051 16220 : return -1;
3052 : return 0;
3053 : }
3054 :
3055 : int
3056 6474 : pattern757 (rtx x1, rtx_code i1)
3057 : {
3058 6474 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3059 6474 : rtx x2, x3, x4, x5, x6, x7;
3060 6474 : int res ATTRIBUTE_UNUSED;
3061 6474 : x2 = XEXP (x1, 0);
3062 6474 : x3 = XEXP (x2, 0);
3063 6474 : x4 = XEXP (x3, 1);
3064 6474 : if (GET_CODE (x4) != i1)
3065 : return -1;
3066 6080 : x5 = XEXP (x3, 0);
3067 6080 : x6 = XEXP (x5, 0);
3068 6080 : operands[1] = x6;
3069 6080 : x7 = XEXP (x4, 0);
3070 6080 : operands[2] = x7;
3071 6080 : switch (GET_MODE (operands[0]))
3072 : {
3073 590 : case E_V4HImode:
3074 590 : if (!register_operand (operands[0], E_V4HImode)
3075 580 : || GET_MODE (x1) != E_V4HImode
3076 580 : || GET_MODE (x2) != E_V4SImode
3077 580 : || GET_MODE (x3) != E_V4SImode
3078 580 : || GET_MODE (x5) != E_V4SImode
3079 580 : || !register_mmxmem_operand (operands[1], E_V4HImode)
3080 461 : || GET_MODE (x4) != E_V4SImode
3081 1051 : || !register_mmxmem_operand (operands[2], E_V4HImode))
3082 147 : return -1;
3083 : return 0;
3084 :
3085 40 : case E_V2HImode:
3086 40 : if (!register_operand (operands[0], E_V2HImode)
3087 30 : || GET_MODE (x1) != E_V2HImode
3088 30 : || GET_MODE (x2) != E_V2SImode
3089 30 : || GET_MODE (x3) != E_V2SImode
3090 30 : || GET_MODE (x5) != E_V2SImode
3091 30 : || !register_operand (operands[1], E_V2HImode)
3092 20 : || GET_MODE (x4) != E_V2SImode
3093 60 : || !register_operand (operands[2], E_V2HImode))
3094 30 : return -1;
3095 : return 1;
3096 :
3097 : default:
3098 : return -1;
3099 : }
3100 : }
3101 :
3102 : int
3103 51 : pattern778 (rtx x1, machine_mode i1, machine_mode i2)
3104 : {
3105 51 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3106 51 : rtx x2, x3, x4;
3107 51 : int res ATTRIBUTE_UNUSED;
3108 51 : if (!register_operand (operands[0], i2)
3109 51 : || GET_MODE (x1) != i2)
3110 : return -1;
3111 46 : x2 = XEXP (x1, 0);
3112 46 : if (GET_MODE (x2) != i2)
3113 : return -1;
3114 46 : x3 = XEXP (x2, 0);
3115 46 : if (GET_MODE (x3) != i1)
3116 : return -1;
3117 46 : x4 = XVECEXP (x3, 0, 0);
3118 46 : if (GET_MODE (x4) != i1
3119 46 : || !register_operand (operands[1], i2)
3120 88 : || !nonimmediate_operand (operands[2], i1))
3121 28 : return -1;
3122 : return 0;
3123 : }
3124 :
3125 : int
3126 3994 : pattern785 (rtx x1)
3127 : {
3128 3994 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3129 3994 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3130 3994 : rtx x10;
3131 3994 : int res ATTRIBUTE_UNUSED;
3132 3994 : x2 = XVECEXP (x1, 0, 0);
3133 3994 : x3 = XEXP (x2, 2);
3134 3994 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3135 : return -1;
3136 3994 : x4 = XEXP (x2, 0);
3137 3994 : x5 = XEXP (x4, 0);
3138 3994 : x6 = XEXP (x5, 0);
3139 3994 : operands[1] = x6;
3140 3994 : x7 = XEXP (x5, 1);
3141 3994 : operands[2] = x7;
3142 3994 : x8 = XEXP (x4, 1);
3143 3994 : operands[3] = x8;
3144 3994 : x9 = XEXP (x4, 2);
3145 3994 : operands[4] = x9;
3146 3994 : if (!register_operand (operands[4], E_QImode))
3147 : return -1;
3148 3958 : x10 = XVECEXP (x1, 0, 1);
3149 3958 : operands[5] = x10;
3150 3958 : if (!const_4_or_8_to_11_operand (operands[5], E_SImode))
3151 : return -1;
3152 3958 : return pattern784 (x1); /* [-1, 2] */
3153 : }
3154 :
3155 : int
3156 204 : pattern798 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
3157 : {
3158 204 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3159 204 : rtx x2, x3;
3160 204 : int res ATTRIBUTE_UNUSED;
3161 204 : if (!register_operand (operands[0], i3)
3162 204 : || GET_MODE (x1) != i3)
3163 : return -1;
3164 195 : x2 = XEXP (x1, 0);
3165 195 : if (GET_MODE (x2) != i2
3166 195 : || !nonimmediate_operand (operands[2], i1))
3167 0 : return -1;
3168 195 : x3 = XEXP (x1, 1);
3169 195 : if (GET_MODE (x3) != i2
3170 195 : || !register_operand (operands[1], i1))
3171 3 : return -1;
3172 : return 0;
3173 : }
3174 :
3175 : int
3176 201929 : pattern806 (machine_mode i1)
3177 : {
3178 201929 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3179 201929 : int res ATTRIBUTE_UNUSED;
3180 201929 : if (!register_operand (operands[0], i1)
3181 197715 : || !ix86_comparison_int_operator (operands[1], i1)
3182 197630 : || !register_operand (operands[2], i1)
3183 299467 : || !nonimmediate_operand (operands[3], i1))
3184 197639 : return -1;
3185 : return 0;
3186 : }
3187 :
3188 : int
3189 1254809 : pattern815 (rtx x1)
3190 : {
3191 1254809 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3192 1254809 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3193 1254809 : int res ATTRIBUTE_UNUSED;
3194 1254809 : if (!pmovzx_parallel (operands[4], E_VOIDmode))
3195 : return -1;
3196 405904 : x2 = XEXP (x1, 0);
3197 405904 : x3 = XEXP (x2, 0);
3198 405904 : if (GET_CODE (x3) != SUBREG
3199 405904 : || maybe_ne (SUBREG_BYTE (x3), 0))
3200 : return -1;
3201 160496 : x4 = XEXP (x3, 0);
3202 160496 : if (GET_CODE (x4) != VEC_CONCAT)
3203 : return -1;
3204 4223 : x5 = XEXP (x4, 0);
3205 4223 : operands[1] = x5;
3206 4223 : x6 = XEXP (x4, 1);
3207 4223 : operands[2] = x6;
3208 4223 : x7 = XEXP (x2, 1);
3209 4223 : operands[3] = x7;
3210 4223 : x8 = XEXP (x1, 1);
3211 4223 : x9 = XVECEXP (x8, 0, 0);
3212 4223 : operands[5] = x9;
3213 4223 : if (!const_int_operand (operands[5], E_VOIDmode))
3214 : return -1;
3215 4223 : switch (GET_MODE (operands[0]))
3216 : {
3217 4 : case E_V32QImode:
3218 4 : if (!register_operand (operands[0], E_V32QImode)
3219 4 : || GET_MODE (x1) != E_V32QImode
3220 4 : || GET_MODE (x2) != E_V64QImode
3221 4 : || GET_MODE (x3) != E_V32QImode
3222 8 : || !const0_operand (operands[3], E_V32QImode))
3223 0 : return -1;
3224 4 : switch (GET_MODE (x4))
3225 : {
3226 0 : case E_V16HImode:
3227 0 : if (!nonimmediate_operand (operands[1], E_V8HImode)
3228 0 : || !const0_operand (operands[2], E_V8HImode))
3229 0 : return -1;
3230 : return 0;
3231 :
3232 4 : case E_V8SImode:
3233 4 : if (!nonimmediate_operand (operands[1], E_V4SImode)
3234 4 : || !const0_operand (operands[2], E_V4SImode))
3235 0 : return -1;
3236 : return 1;
3237 :
3238 0 : case E_V4DImode:
3239 0 : if (!nonimmediate_operand (operands[1], E_V2DImode)
3240 0 : || !const0_operand (operands[2], E_V2DImode))
3241 0 : return -1;
3242 : return 2;
3243 :
3244 : default:
3245 : return -1;
3246 : }
3247 :
3248 4 : case E_V64QImode:
3249 4 : if (!register_operand (operands[0], E_V64QImode)
3250 4 : || GET_MODE (x1) != E_V64QImode
3251 4 : || GET_MODE (x2) != E_V128QImode
3252 4 : || GET_MODE (x3) != E_V64QImode
3253 8 : || !const0_operand (operands[3], E_V64QImode))
3254 0 : return -1;
3255 4 : switch (GET_MODE (x4))
3256 : {
3257 0 : case E_V32HImode:
3258 0 : if (!nonimmediate_operand (operands[1], E_V16HImode)
3259 0 : || !const0_operand (operands[2], E_V16HImode))
3260 0 : return -1;
3261 : return 3;
3262 :
3263 4 : case E_V16SImode:
3264 4 : if (!nonimmediate_operand (operands[1], E_V8SImode)
3265 4 : || !const0_operand (operands[2], E_V8SImode))
3266 0 : return -1;
3267 : return 4;
3268 :
3269 0 : case E_V8DImode:
3270 0 : if (!nonimmediate_operand (operands[1], E_V4DImode)
3271 0 : || !const0_operand (operands[2], E_V4DImode))
3272 0 : return -1;
3273 : return 5;
3274 :
3275 : default:
3276 : return -1;
3277 : }
3278 :
3279 112 : case E_V16QImode:
3280 112 : if (!register_operand (operands[0], E_V16QImode)
3281 100 : || GET_MODE (x1) != E_V16QImode
3282 100 : || GET_MODE (x2) != E_V32QImode
3283 100 : || GET_MODE (x3) != E_V16QImode
3284 212 : || !const0_operand (operands[3], E_V16QImode))
3285 108 : return -1;
3286 4 : switch (GET_MODE (x4))
3287 : {
3288 0 : case E_V8HImode:
3289 0 : if (!vector_operand (operands[1], E_V4HImode)
3290 0 : || !const0_operand (operands[2], E_V4HImode))
3291 0 : return -1;
3292 : return 6;
3293 :
3294 4 : case E_V4SImode:
3295 4 : if (!vector_operand (operands[1], E_V2SImode)
3296 4 : || !const0_operand (operands[2], E_V2SImode))
3297 0 : return -1;
3298 : return 7;
3299 :
3300 0 : case E_V2DImode:
3301 0 : if (!vector_operand (operands[1], E_DImode)
3302 0 : || !const0_operand (operands[2], E_DImode))
3303 0 : return -1;
3304 : return 8;
3305 :
3306 : default:
3307 : return -1;
3308 : }
3309 :
3310 8 : case E_V32HImode:
3311 8 : if (!register_operand (operands[0], E_V32HImode)
3312 8 : || GET_MODE (x1) != E_V32HImode
3313 8 : || GET_MODE (x2) != E_V64HImode
3314 8 : || GET_MODE (x3) != E_V32HImode
3315 16 : || !const0_operand (operands[3], E_V32HImode))
3316 0 : return -1;
3317 8 : switch (GET_MODE (x4))
3318 : {
3319 0 : case E_V64QImode:
3320 0 : if (!nonimmediate_operand (operands[1], E_V32QImode)
3321 0 : || !const0_operand (operands[2], E_V32QImode))
3322 0 : return -1;
3323 : return 9;
3324 :
3325 8 : case E_V16SImode:
3326 8 : if (!nonimmediate_operand (operands[1], E_V8SImode)
3327 8 : || !const0_operand (operands[2], E_V8SImode))
3328 0 : return -1;
3329 : return 10;
3330 :
3331 0 : case E_V8DImode:
3332 0 : if (!nonimmediate_operand (operands[1], E_V4DImode)
3333 0 : || !const0_operand (operands[2], E_V4DImode))
3334 0 : return -1;
3335 : return 11;
3336 :
3337 : default:
3338 : return -1;
3339 : }
3340 :
3341 8 : case E_V16HImode:
3342 8 : if (!register_operand (operands[0], E_V16HImode)
3343 8 : || GET_MODE (x1) != E_V16HImode
3344 8 : || GET_MODE (x2) != E_V32HImode
3345 8 : || GET_MODE (x3) != E_V16HImode
3346 16 : || !const0_operand (operands[3], E_V16HImode))
3347 0 : return -1;
3348 8 : switch (GET_MODE (x4))
3349 : {
3350 0 : case E_V32QImode:
3351 0 : if (!nonimmediate_operand (operands[1], E_V16QImode)
3352 0 : || !const0_operand (operands[2], E_V16QImode))
3353 0 : return -1;
3354 : return 12;
3355 :
3356 8 : case E_V8SImode:
3357 8 : if (!nonimmediate_operand (operands[1], E_V4SImode)
3358 8 : || !const0_operand (operands[2], E_V4SImode))
3359 0 : return -1;
3360 : return 13;
3361 :
3362 0 : case E_V4DImode:
3363 0 : if (!nonimmediate_operand (operands[1], E_V2DImode)
3364 0 : || !const0_operand (operands[2], E_V2DImode))
3365 0 : return -1;
3366 : return 14;
3367 :
3368 : default:
3369 : return -1;
3370 : }
3371 :
3372 105 : case E_V8HImode:
3373 105 : if (!register_operand (operands[0], E_V8HImode)
3374 105 : || GET_MODE (x1) != E_V8HImode
3375 105 : || GET_MODE (x2) != E_V16HImode
3376 105 : || GET_MODE (x3) != E_V8HImode
3377 210 : || !const0_operand (operands[3], E_V8HImode))
3378 97 : return -1;
3379 8 : switch (GET_MODE (x4))
3380 : {
3381 0 : case E_V16QImode:
3382 0 : if (!vector_operand (operands[1], E_V8QImode)
3383 0 : || !const0_operand (operands[2], E_V8QImode))
3384 0 : return -1;
3385 : return 15;
3386 :
3387 8 : case E_V4SImode:
3388 8 : if (!vector_operand (operands[1], E_V2SImode)
3389 8 : || !const0_operand (operands[2], E_V2SImode))
3390 0 : return -1;
3391 : return 16;
3392 :
3393 0 : case E_V2DImode:
3394 0 : if (!vector_operand (operands[1], E_DImode)
3395 0 : || !const0_operand (operands[2], E_DImode))
3396 0 : return -1;
3397 : return 17;
3398 :
3399 : default:
3400 : return -1;
3401 : }
3402 :
3403 : default:
3404 : return -1;
3405 : }
3406 : }
3407 :
3408 : int
3409 1431 : pattern891 (rtx x1)
3410 : {
3411 1431 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3412 1431 : rtx x2, x3, x4, x5, x6;
3413 1431 : int res ATTRIBUTE_UNUSED;
3414 1431 : x2 = XVECEXP (x1, 0, 0);
3415 1431 : x3 = XVECEXP (x2, 0, 0);
3416 1431 : if (GET_CODE (x3) != VEC_SELECT)
3417 : return -1;
3418 1014 : x4 = XEXP (x3, 1);
3419 1014 : if (GET_CODE (x4) != PARALLEL
3420 1014 : || XVECLEN (x4, 0) != 1)
3421 : return -1;
3422 1014 : x5 = XVECEXP (x4, 0, 0);
3423 1014 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3424 : return -1;
3425 1014 : x6 = XEXP (x3, 0);
3426 1014 : operands[1] = x6;
3427 1014 : if (!const48_operand (operands[2], E_SImode))
3428 : return -1;
3429 1014 : switch (GET_MODE (operands[0]))
3430 : {
3431 506 : case E_SImode:
3432 506 : return pattern890 (x1,
3433 506 : E_SImode); /* [-1, 1] */
3434 :
3435 508 : case E_DImode:
3436 508 : res = pattern890 (x1,
3437 : E_DImode);
3438 508 : if (res >= 0)
3439 482 : return res + 2; /* [2, 3] */
3440 : return -1;
3441 :
3442 : default:
3443 : return -1;
3444 : }
3445 : }
3446 :
3447 : int
3448 654 : pattern904 (rtx x1)
3449 : {
3450 654 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3451 654 : rtx x2;
3452 654 : int res ATTRIBUTE_UNUSED;
3453 654 : if (!register_operand (operands[0], E_V16HFmode)
3454 654 : || GET_MODE (x1) != E_V16HFmode)
3455 : return -1;
3456 612 : x2 = XEXP (x1, 0);
3457 612 : if (GET_MODE (x2) != E_V16HFmode
3458 612 : || !nonimm_or_0_operand (operands[2], E_V16HFmode)
3459 1224 : || !register_operand (operands[3], E_HImode))
3460 54 : return -1;
3461 558 : switch (GET_MODE (operands[1]))
3462 : {
3463 408 : case E_V16HImode:
3464 408 : if (!vector_operand (operands[1], E_V16HImode))
3465 : return -1;
3466 : return 0;
3467 :
3468 150 : case E_V16SImode:
3469 150 : if (!vector_operand (operands[1], E_V16SImode))
3470 : return -1;
3471 : return 1;
3472 :
3473 : default:
3474 : return -1;
3475 : }
3476 : }
3477 :
3478 : int
3479 305 : pattern914 (rtx x1, machine_mode i1)
3480 : {
3481 305 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3482 305 : rtx x2, x3;
3483 305 : int res ATTRIBUTE_UNUSED;
3484 305 : if (!register_operand (operands[0], i1)
3485 305 : || GET_MODE (x1) != i1)
3486 : return -1;
3487 257 : x2 = XVECEXP (x1, 0, 0);
3488 257 : if (GET_MODE (x2) != i1)
3489 : return -1;
3490 257 : x3 = XEXP (x2, 0);
3491 257 : if (GET_MODE (x3) != i1
3492 257 : || !register_operand (operands[1], i1)
3493 474 : || !nonimmediate_operand (operands[2], i1))
3494 40 : return -1;
3495 : return 0;
3496 : }
3497 :
3498 : int
3499 464 : pattern922 (rtx x1)
3500 : {
3501 464 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3502 464 : rtx x2, x3, x4, x5, x6;
3503 464 : int res ATTRIBUTE_UNUSED;
3504 464 : x2 = XEXP (x1, 0);
3505 464 : x3 = XEXP (x2, 0);
3506 464 : if (GET_MODE (x3) != E_V2SImode)
3507 : return -1;
3508 464 : x4 = XEXP (x1, 1);
3509 464 : if (GET_CODE (x4) != CONST_VECTOR
3510 464 : || XVECLEN (x4, 0) != 2
3511 464 : || GET_MODE (x4) != E_V2SImode)
3512 : return -1;
3513 464 : x5 = XVECEXP (x4, 0, 0);
3514 464 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3515 : return -1;
3516 464 : x6 = XVECEXP (x4, 0, 1);
3517 464 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
3518 464 : || !register_operand (operands[0], E_V4SImode)
3519 464 : || GET_MODE (x1) != E_V4SImode
3520 464 : || GET_MODE (x2) != E_V2SImode
3521 928 : || !nonimmediate_operand (operands[1], E_V2DFmode))
3522 32 : return -1;
3523 432 : return pattern506 (x2); /* [-1, 1] */
3524 : }
3525 :
3526 : int
3527 27060 : pattern930 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
3528 : {
3529 27060 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3530 27060 : rtx x2;
3531 27060 : int res ATTRIBUTE_UNUSED;
3532 27060 : if (!register_operand (operands[0], i3)
3533 27060 : || GET_MODE (x1) != i3)
3534 : return -1;
3535 22766 : x2 = XEXP (x1, 0);
3536 22766 : if (GET_MODE (x2) != i2
3537 22766 : || !nonimmediate_operand (operands[1], i1))
3538 5765 : return -1;
3539 : return 0;
3540 : }
3541 :
3542 : int
3543 177153 : pattern933 (rtx x1)
3544 : {
3545 177153 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3546 177153 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3547 177153 : rtx x10, x11, x12, x13, x14, x15;
3548 177153 : int res ATTRIBUTE_UNUSED;
3549 177153 : x2 = XVECEXP (x1, 0, 2);
3550 177153 : if (GET_CODE (x2) != CONST_INT)
3551 : return -1;
3552 177153 : x3 = XVECEXP (x1, 0, 3);
3553 177153 : if (GET_CODE (x3) != CONST_INT)
3554 : return -1;
3555 177153 : x4 = XVECEXP (x1, 0, 4);
3556 177153 : if (GET_CODE (x4) != CONST_INT)
3557 : return -1;
3558 177153 : x5 = XVECEXP (x1, 0, 5);
3559 177153 : if (GET_CODE (x5) != CONST_INT)
3560 : return -1;
3561 177153 : x6 = XVECEXP (x1, 0, 6);
3562 177153 : if (GET_CODE (x6) != CONST_INT)
3563 : return -1;
3564 177153 : x7 = XVECEXP (x1, 0, 7);
3565 177153 : if (GET_CODE (x7) != CONST_INT)
3566 : return -1;
3567 177153 : x8 = XVECEXP (x1, 0, 8);
3568 177153 : if (GET_CODE (x8) != CONST_INT)
3569 : return -1;
3570 177153 : x9 = XVECEXP (x1, 0, 9);
3571 177153 : if (GET_CODE (x9) != CONST_INT)
3572 : return -1;
3573 177153 : x10 = XVECEXP (x1, 0, 10);
3574 177153 : if (GET_CODE (x10) != CONST_INT)
3575 : return -1;
3576 177153 : x11 = XVECEXP (x1, 0, 11);
3577 177153 : if (GET_CODE (x11) != CONST_INT)
3578 : return -1;
3579 177153 : x12 = XVECEXP (x1, 0, 12);
3580 177153 : if (GET_CODE (x12) != CONST_INT)
3581 : return -1;
3582 177153 : x13 = XVECEXP (x1, 0, 13);
3583 177153 : if (GET_CODE (x13) != CONST_INT)
3584 : return -1;
3585 177153 : x14 = XVECEXP (x1, 0, 14);
3586 177153 : if (GET_CODE (x14) != CONST_INT)
3587 : return -1;
3588 177153 : x15 = XVECEXP (x1, 0, 15);
3589 177153 : if (GET_CODE (x15) != CONST_INT)
3590 0 : return -1;
3591 : return 0;
3592 : }
3593 :
3594 : int
3595 7911 : pattern949 (rtx x1, machine_mode i1)
3596 : {
3597 7911 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3598 7911 : rtx x2;
3599 7911 : int res ATTRIBUTE_UNUSED;
3600 7911 : if (!register_operand (operands[0], i1)
3601 7911 : || GET_MODE (x1) != i1)
3602 : return -1;
3603 7859 : x2 = XEXP (x1, 0);
3604 7859 : if (GET_MODE (x2) != i1
3605 7859 : || !register_operand (operands[1], i1))
3606 3134 : return -1;
3607 : return 0;
3608 : }
3609 :
3610 : int
3611 845 : pattern958 (rtx x1, machine_mode i1)
3612 : {
3613 845 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3614 845 : rtx x2;
3615 845 : int res ATTRIBUTE_UNUSED;
3616 845 : if (!register_operand (operands[0], i1)
3617 845 : || GET_MODE (x1) != i1)
3618 : return -1;
3619 837 : x2 = XEXP (x1, 0);
3620 837 : if (GET_MODE (x2) != i1
3621 837 : || !register_operand (operands[1], i1)
3622 297 : || !const0_operand (operands[2], i1)
3623 917 : || !const1_operand (operands[3], i1))
3624 837 : return -1;
3625 : return 0;
3626 : }
3627 :
3628 : int
3629 4414874 : pattern966 (rtx x1, machine_mode i1)
3630 : {
3631 4414874 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3632 4414874 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3633 4414874 : int res ATTRIBUTE_UNUSED;
3634 4414874 : operands[1] = x1;
3635 4414874 : if (!general_reg_operand (operands[1], i1))
3636 : return -1;
3637 1055610 : x2 = PATTERN (peep2_next_insn (2));
3638 1055610 : if (GET_CODE (x2) != PARALLEL
3639 156981 : || XVECLEN (x2, 0) != 2)
3640 : return -1;
3641 145151 : x3 = XVECEXP (x2, 0, 0);
3642 145151 : if (GET_CODE (x3) != SET)
3643 : return -1;
3644 145048 : x4 = XEXP (x3, 0);
3645 145048 : if (GET_CODE (x4) != REG
3646 145048 : || REGNO (x4) != 17)
3647 : return -1;
3648 18194 : x5 = XVECEXP (x2, 0, 1);
3649 18194 : if (GET_CODE (x5) != SET)
3650 : return -1;
3651 17571 : x6 = XEXP (x3, 1);
3652 17571 : operands[5] = x6;
3653 17571 : x7 = XEXP (x5, 1);
3654 17571 : operands[6] = x7;
3655 17571 : x8 = XEXP (x5, 0);
3656 17571 : if (!rtx_equal_p (x8, operands[0]))
3657 : return -1;
3658 10756 : x9 = PATTERN (peep2_next_insn (3));
3659 10756 : return pattern965 (x9,
3660 10756 : i1); /* [-1, 0] */
3661 : }
3662 :
3663 : int
3664 7308 : pattern973 (rtx x1, machine_mode i1)
3665 : {
3666 7308 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3667 7308 : int res ATTRIBUTE_UNUSED;
3668 7308 : if (!register_operand (operands[0], i1)
3669 7301 : || GET_MODE (x1) != i1
3670 7301 : || !register_operand (operands[1], i1)
3671 14578 : || !register_operand (operands[2], i1))
3672 51 : return -1;
3673 : return 0;
3674 : }
3675 :
3676 : int
3677 168 : pattern977 (rtx x1)
3678 : {
3679 168 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3680 168 : rtx x2;
3681 168 : int res ATTRIBUTE_UNUSED;
3682 168 : if (!register_operand (operands[0], E_QImode)
3683 168 : || GET_MODE (x1) != E_QImode)
3684 : return -1;
3685 168 : x2 = XEXP (x1, 0);
3686 168 : if (GET_MODE (x2) != E_QImode)
3687 : return -1;
3688 168 : switch (GET_MODE (operands[1]))
3689 : {
3690 3 : case E_V8SImode:
3691 3 : if (!register_operand (operands[1], E_V8SImode)
3692 3 : || !nonimmediate_operand (operands[2], E_V8SImode)
3693 6 : || !const_0_to_7_operand (operands[3], E_SImode))
3694 0 : return -1;
3695 : return 0;
3696 :
3697 0 : case E_V4SImode:
3698 0 : if (!register_operand (operands[1], E_V4SImode)
3699 0 : || !nonimmediate_operand (operands[2], E_V4SImode)
3700 0 : || !const_0_to_7_operand (operands[3], E_SImode))
3701 0 : return -1;
3702 : return 1;
3703 :
3704 29 : case E_V8DImode:
3705 29 : if (!register_operand (operands[1], E_V8DImode)
3706 29 : || !nonimmediate_operand (operands[2], E_V8DImode)
3707 58 : || !const_0_to_7_operand (operands[3], E_SImode))
3708 0 : return -1;
3709 : return 2;
3710 :
3711 0 : case E_V4DImode:
3712 0 : if (!register_operand (operands[1], E_V4DImode)
3713 0 : || !nonimmediate_operand (operands[2], E_V4DImode)
3714 0 : || !const_0_to_7_operand (operands[3], E_SImode))
3715 0 : return -1;
3716 : return 3;
3717 :
3718 0 : case E_V2DImode:
3719 0 : if (!register_operand (operands[1], E_V2DImode)
3720 0 : || !nonimmediate_operand (operands[2], E_V2DImode)
3721 0 : || !const_0_to_7_operand (operands[3], E_SImode))
3722 0 : return -1;
3723 : return 4;
3724 :
3725 0 : case E_V8HFmode:
3726 0 : if (!register_operand (operands[1], E_V8HFmode)
3727 0 : || !nonimmediate_operand (operands[2], E_V8HFmode)
3728 0 : || !const_0_to_31_operand (operands[3], E_SImode))
3729 0 : return -1;
3730 : return 5;
3731 :
3732 3 : case E_V8SFmode:
3733 3 : if (!register_operand (operands[1], E_V8SFmode)
3734 3 : || !nonimmediate_operand (operands[2], E_V8SFmode)
3735 6 : || !const_0_to_31_operand (operands[3], E_SImode))
3736 0 : return -1;
3737 : return 6;
3738 :
3739 21 : case E_V4SFmode:
3740 21 : if (!register_operand (operands[1], E_V4SFmode)
3741 18 : || !nonimmediate_operand (operands[2], E_V4SFmode)
3742 33 : || !const_0_to_31_operand (operands[3], E_SImode))
3743 9 : return -1;
3744 : return 7;
3745 :
3746 50 : case E_V8DFmode:
3747 50 : if (!register_operand (operands[1], E_V8DFmode)
3748 50 : || !nonimmediate_operand (operands[2], E_V8DFmode)
3749 100 : || !const_0_to_31_operand (operands[3], E_SImode))
3750 0 : return -1;
3751 : return 8;
3752 :
3753 25 : case E_V4DFmode:
3754 25 : if (!register_operand (operands[1], E_V4DFmode)
3755 25 : || !nonimmediate_operand (operands[2], E_V4DFmode)
3756 50 : || !const_0_to_31_operand (operands[3], E_SImode))
3757 0 : return -1;
3758 : return 9;
3759 :
3760 34 : case E_V2DFmode:
3761 34 : if (!register_operand (operands[1], E_V2DFmode)
3762 34 : || !nonimmediate_operand (operands[2], E_V2DFmode)
3763 68 : || !const_0_to_31_operand (operands[3], E_SImode))
3764 0 : return -1;
3765 : return 10;
3766 :
3767 3 : case E_V8HImode:
3768 3 : if (!register_operand (operands[1], E_V8HImode)
3769 3 : || !nonimmediate_operand (operands[2], E_V8HImode)
3770 6 : || !const_0_to_7_operand (operands[3], E_SImode))
3771 0 : return -1;
3772 : return 11;
3773 :
3774 : default:
3775 : return -1;
3776 : }
3777 : }
3778 :
3779 : int
3780 622 : pattern1000 (rtx x1)
3781 : {
3782 622 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3783 622 : rtx x2;
3784 622 : int res ATTRIBUTE_UNUSED;
3785 622 : if (!register_operand (operands[0], E_V8DImode)
3786 622 : || GET_MODE (x1) != E_V8DImode)
3787 : return -1;
3788 508 : x2 = XEXP (x1, 0);
3789 508 : if (GET_MODE (x2) != E_V8DImode
3790 508 : || !nonimm_or_0_operand (operands[2], E_V8DImode)
3791 972 : || !register_operand (operands[3], E_QImode))
3792 108 : return -1;
3793 400 : switch (GET_MODE (operands[1]))
3794 : {
3795 146 : case E_V8HFmode:
3796 146 : if (!vector_operand (operands[1], E_V8HFmode))
3797 : return -1;
3798 : return 0;
3799 :
3800 126 : case E_V8DFmode:
3801 126 : if (!vector_operand (operands[1], E_V8DFmode))
3802 : return -1;
3803 : return 1;
3804 :
3805 128 : case E_V8SFmode:
3806 128 : if (!vector_operand (operands[1], E_V8SFmode))
3807 : return -1;
3808 : return 2;
3809 :
3810 : default:
3811 : return -1;
3812 : }
3813 : }
3814 :
3815 : int
3816 3351 : pattern1008 (rtx x1, machine_mode i1)
3817 : {
3818 3351 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3819 3351 : rtx x2, x3, x4;
3820 3351 : int res ATTRIBUTE_UNUSED;
3821 3351 : if (!register_operand (operands[0], i1)
3822 3351 : || GET_MODE (x1) != i1)
3823 : return -1;
3824 3239 : x2 = XEXP (x1, 0);
3825 3239 : if (GET_MODE (x2) != i1)
3826 : return -1;
3827 3239 : x3 = XVECEXP (x2, 0, 0);
3828 3239 : if (!register_operand (x3, i1))
3829 : return -1;
3830 3201 : x4 = XVECEXP (x2, 0, 1);
3831 3201 : if (!register_operand (x4, i1))
3832 : return -1;
3833 : return 0;
3834 : }
3835 :
3836 : int
3837 0 : pattern1018 (rtx x1, machine_mode i1, machine_mode i2)
3838 : {
3839 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3840 0 : rtx x2, x3;
3841 0 : int res ATTRIBUTE_UNUSED;
3842 0 : if (!register_operand (operands[0], i1)
3843 0 : || GET_MODE (x1) != i1
3844 0 : || !vector_operand (operands[1], i1)
3845 0 : || !vector_operand (operands[2], i1))
3846 0 : return -1;
3847 0 : x2 = XEXP (x1, 2);
3848 0 : if (GET_MODE (x2) != i2)
3849 : return -1;
3850 0 : x3 = XVECEXP (x2, 0, 0);
3851 0 : if (GET_MODE (x3) != i1
3852 0 : || !register_operand (operands[3], i1)
3853 0 : || !const0_operand (operands[4], i1))
3854 0 : return -1;
3855 : return 0;
3856 : }
3857 :
3858 : int
3859 444 : pattern1025 (rtx x1, machine_mode i1)
3860 : {
3861 444 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3862 444 : int res ATTRIBUTE_UNUSED;
3863 444 : if (!register_operand (operands[0], i1)
3864 444 : || GET_MODE (x1) != i1
3865 444 : || !ix86_comparison_uns_operator (operands[1], i1)
3866 444 : || !register_operand (operands[2], i1)
3867 888 : || !nonimmediate_operand (operands[3], i1))
3868 0 : return -1;
3869 : return 0;
3870 : }
3871 :
3872 : int
3873 213 : pattern1031 (rtx x1, machine_mode i1, machine_mode i2)
3874 : {
3875 213 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3876 213 : rtx x2;
3877 213 : int res ATTRIBUTE_UNUSED;
3878 213 : x2 = XVECEXP (x1, 0, 0);
3879 213 : if (GET_MODE (x2) != i2
3880 213 : || !register_operand (operands[0], i2)
3881 209 : || GET_MODE (x1) != i2
3882 209 : || !register_operand (operands[1], i1)
3883 418 : || !const48_operand (operands[2], E_SImode))
3884 8 : return -1;
3885 : return 0;
3886 : }
3887 :
3888 : int
3889 29497 : pattern1037 (rtx x1, machine_mode i1)
3890 : {
3891 29497 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3892 29497 : int res ATTRIBUTE_UNUSED;
3893 29497 : if (!register_operand (operands[0], i1)
3894 28632 : || GET_MODE (x1) != i1
3895 28632 : || !register_operand (operands[1], i1)
3896 21448 : || !vector_operand (operands[2], i1)
3897 47999 : || !register_operand (operands[3], i1))
3898 13910 : return -1;
3899 : return 0;
3900 : }
3901 :
3902 : int
3903 1312 : pattern1043 (rtx x1, machine_mode i1, machine_mode i2)
3904 : {
3905 1312 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3906 1312 : rtx x2;
3907 1312 : int res ATTRIBUTE_UNUSED;
3908 1312 : if (!nonimmediate_operand (operands[0], i2)
3909 1312 : || GET_MODE (x1) != i2
3910 2624 : || !nonimmediate_operand (operands[1], i1))
3911 0 : return -1;
3912 1312 : x2 = XEXP (x1, 1);
3913 1312 : if (GET_MODE (x2) != i1)
3914 : return -1;
3915 : return 0;
3916 : }
3917 :
3918 : int
3919 9060 : pattern1051 (rtx x1)
3920 : {
3921 9060 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3922 9060 : rtx x2, x3, x4;
3923 9060 : int res ATTRIBUTE_UNUSED;
3924 9060 : x2 = XEXP (x1, 0);
3925 9060 : x3 = XEXP (x2, 0);
3926 9060 : operands[1] = x3;
3927 9060 : x4 = XEXP (x2, 1);
3928 9060 : operands[2] = x4;
3929 9060 : return pattern1050 (x1); /* [-1, 5] */
3930 : }
3931 :
3932 : int
3933 328 : pattern1052 (rtx x1, machine_mode i1)
3934 : {
3935 328 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3936 328 : rtx x2, x3, x4, x5, x6;
3937 328 : int res ATTRIBUTE_UNUSED;
3938 328 : if (!register_operand (operands[0], i1))
3939 : return -1;
3940 328 : x2 = XVECEXP (x1, 0, 0);
3941 328 : x3 = XEXP (x2, 1);
3942 328 : if (GET_MODE (x3) != i1)
3943 : return -1;
3944 328 : x4 = XEXP (x3, 0);
3945 328 : switch (GET_MODE (x4))
3946 : {
3947 70 : case E_HImode:
3948 70 : if (!register_operand (operands[4], E_HImode))
3949 : return -1;
3950 70 : x5 = XVECEXP (x1, 0, 1);
3951 70 : x6 = XEXP (x5, 1);
3952 70 : if (GET_MODE (x6) != E_HImode)
3953 : return -1;
3954 70 : switch (GET_MODE (operands[1]))
3955 : {
3956 14 : case E_V16SImode:
3957 14 : if (!nonimmediate_operand (operands[1], E_V16SImode)
3958 12 : || !nonimmediate_operand (operands[2], E_V16SImode)
3959 26 : || !const_0_to_7_operand (operands[3], E_SImode))
3960 2 : return -1;
3961 : return 0;
3962 :
3963 14 : case E_V16HFmode:
3964 14 : if (!nonimmediate_operand (operands[1], E_V16HFmode)
3965 12 : || !nonimmediate_operand (operands[2], E_V16HFmode)
3966 26 : || !const_0_to_31_operand (operands[3], E_SImode))
3967 2 : return -1;
3968 : return 1;
3969 :
3970 14 : case E_V16SFmode:
3971 14 : if (!nonimmediate_operand (operands[1], E_V16SFmode)
3972 12 : || !nonimmediate_operand (operands[2], E_V16SFmode)
3973 26 : || !const_0_to_31_operand (operands[3], E_SImode))
3974 2 : return -1;
3975 : return 2;
3976 :
3977 14 : case E_V16QImode:
3978 14 : if (!nonimmediate_operand (operands[1], E_V16QImode)
3979 12 : || !nonimmediate_operand (operands[2], E_V16QImode)
3980 26 : || !const_0_to_7_operand (operands[3], E_SImode))
3981 2 : return -1;
3982 : return 3;
3983 :
3984 14 : case E_V16HImode:
3985 14 : if (!nonimmediate_operand (operands[1], E_V16HImode)
3986 12 : || !nonimmediate_operand (operands[2], E_V16HImode)
3987 26 : || !const_0_to_7_operand (operands[3], E_SImode))
3988 2 : return -1;
3989 : return 4;
3990 :
3991 : default:
3992 : return -1;
3993 : }
3994 :
3995 237 : case E_QImode:
3996 237 : if (!register_operand (operands[4], E_QImode))
3997 : return -1;
3998 237 : x5 = XVECEXP (x1, 0, 1);
3999 237 : x6 = XEXP (x5, 1);
4000 237 : if (GET_MODE (x6) != E_QImode)
4001 : return -1;
4002 237 : switch (GET_MODE (operands[1]))
4003 : {
4004 21 : case E_V8SImode:
4005 21 : if (!nonimmediate_operand (operands[1], E_V8SImode)
4006 18 : || !nonimmediate_operand (operands[2], E_V8SImode)
4007 39 : || !const_0_to_7_operand (operands[3], E_SImode))
4008 3 : return -1;
4009 : return 5;
4010 :
4011 21 : case E_V4SImode:
4012 21 : if (!nonimmediate_operand (operands[1], E_V4SImode)
4013 18 : || !nonimmediate_operand (operands[2], E_V4SImode)
4014 39 : || !const_0_to_7_operand (operands[3], E_SImode))
4015 3 : return -1;
4016 : return 6;
4017 :
4018 21 : case E_V8DImode:
4019 21 : if (!nonimmediate_operand (operands[1], E_V8DImode)
4020 18 : || !nonimmediate_operand (operands[2], E_V8DImode)
4021 39 : || !const_0_to_7_operand (operands[3], E_SImode))
4022 3 : return -1;
4023 : return 7;
4024 :
4025 21 : case E_V4DImode:
4026 21 : if (!nonimmediate_operand (operands[1], E_V4DImode)
4027 18 : || !nonimmediate_operand (operands[2], E_V4DImode)
4028 39 : || !const_0_to_7_operand (operands[3], E_SImode))
4029 3 : return -1;
4030 : return 8;
4031 :
4032 21 : case E_V2DImode:
4033 21 : if (!nonimmediate_operand (operands[1], E_V2DImode)
4034 18 : || !nonimmediate_operand (operands[2], E_V2DImode)
4035 39 : || !const_0_to_7_operand (operands[3], E_SImode))
4036 3 : return -1;
4037 : return 9;
4038 :
4039 15 : case E_V8HFmode:
4040 15 : if (!nonimmediate_operand (operands[1], E_V8HFmode)
4041 15 : || !nonimmediate_operand (operands[2], E_V8HFmode)
4042 30 : || !const_0_to_31_operand (operands[3], E_SImode))
4043 0 : return -1;
4044 : return 10;
4045 :
4046 21 : case E_V8SFmode:
4047 21 : if (!nonimmediate_operand (operands[1], E_V8SFmode)
4048 18 : || !nonimmediate_operand (operands[2], E_V8SFmode)
4049 39 : || !const_0_to_31_operand (operands[3], E_SImode))
4050 3 : return -1;
4051 : return 11;
4052 :
4053 21 : case E_V4SFmode:
4054 21 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
4055 18 : || !nonimmediate_operand (operands[2], E_V4SFmode)
4056 39 : || !const_0_to_31_operand (operands[3], E_SImode))
4057 3 : return -1;
4058 : return 12;
4059 :
4060 21 : case E_V8DFmode:
4061 21 : if (!nonimmediate_operand (operands[1], E_V8DFmode)
4062 18 : || !nonimmediate_operand (operands[2], E_V8DFmode)
4063 39 : || !const_0_to_31_operand (operands[3], E_SImode))
4064 3 : return -1;
4065 : return 13;
4066 :
4067 21 : case E_V4DFmode:
4068 21 : if (!nonimmediate_operand (operands[1], E_V4DFmode)
4069 18 : || !nonimmediate_operand (operands[2], E_V4DFmode)
4070 39 : || !const_0_to_31_operand (operands[3], E_SImode))
4071 3 : return -1;
4072 : return 14;
4073 :
4074 21 : case E_V2DFmode:
4075 21 : if (!nonimmediate_operand (operands[1], E_V2DFmode)
4076 18 : || !nonimmediate_operand (operands[2], E_V2DFmode)
4077 39 : || !const_0_to_31_operand (operands[3], E_SImode))
4078 3 : return -1;
4079 : return 15;
4080 :
4081 12 : case E_V8HImode:
4082 12 : if (!nonimmediate_operand (operands[1], E_V8HImode)
4083 12 : || !nonimmediate_operand (operands[2], E_V8HImode)
4084 24 : || !const_0_to_7_operand (operands[3], E_SImode))
4085 0 : return -1;
4086 : return 16;
4087 :
4088 : default:
4089 : return -1;
4090 : }
4091 :
4092 21 : case E_SImode:
4093 21 : if (!register_operand (operands[4], E_SImode))
4094 : return -1;
4095 21 : x5 = XVECEXP (x1, 0, 1);
4096 21 : x6 = XEXP (x5, 1);
4097 21 : if (GET_MODE (x6) != E_SImode)
4098 : return -1;
4099 21 : switch (GET_MODE (operands[1]))
4100 : {
4101 7 : case E_V32HFmode:
4102 7 : if (!nonimmediate_operand (operands[1], E_V32HFmode)
4103 6 : || !nonimmediate_operand (operands[2], E_V32HFmode)
4104 13 : || !const_0_to_31_operand (operands[3], E_SImode))
4105 1 : return -1;
4106 : return 17;
4107 :
4108 7 : case E_V32QImode:
4109 7 : if (!nonimmediate_operand (operands[1], E_V32QImode)
4110 6 : || !nonimmediate_operand (operands[2], E_V32QImode)
4111 13 : || !const_0_to_7_operand (operands[3], E_SImode))
4112 1 : return -1;
4113 : return 18;
4114 :
4115 7 : case E_V32HImode:
4116 7 : if (!nonimmediate_operand (operands[1], E_V32HImode)
4117 6 : || !nonimmediate_operand (operands[2], E_V32HImode)
4118 13 : || !const_0_to_7_operand (operands[3], E_SImode))
4119 1 : return -1;
4120 : return 19;
4121 :
4122 : default:
4123 : return -1;
4124 : }
4125 :
4126 0 : case E_DImode:
4127 0 : if (!nonimmediate_operand (operands[1], E_V64QImode)
4128 0 : || !nonimmediate_operand (operands[2], E_V64QImode)
4129 0 : || !const_0_to_7_operand (operands[3], E_SImode)
4130 0 : || !register_operand (operands[4], E_DImode))
4131 0 : return -1;
4132 0 : x5 = XVECEXP (x1, 0, 1);
4133 0 : x6 = XEXP (x5, 1);
4134 0 : if (GET_MODE (x6) != E_DImode)
4135 : return -1;
4136 : return 20;
4137 :
4138 : default:
4139 : return -1;
4140 : }
4141 : }
4142 :
4143 : int
4144 15276 : pattern1131 (rtx x1, machine_mode i1)
4145 : {
4146 15276 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4147 15276 : int res ATTRIBUTE_UNUSED;
4148 15276 : if (!register_operand (operands[0], i1)
4149 15232 : || GET_MODE (x1) != i1
4150 15232 : || !nonimmediate_operand (operands[2], i1)
4151 13110 : || !register_operand (operands[1], i1)
4152 22381 : || !avx2_pblendw_operand (operands[3], E_SImode))
4153 8261 : return -1;
4154 : return 0;
4155 : }
4156 :
4157 : int
4158 558 : pattern1138 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4)
4159 : {
4160 558 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4161 558 : rtx x2, x3, x4;
4162 558 : int res ATTRIBUTE_UNUSED;
4163 558 : if (!register_operand (operands[0], i2)
4164 558 : || GET_MODE (x1) != i2)
4165 : return -1;
4166 543 : x2 = XEXP (x1, 0);
4167 543 : if (GET_MODE (x2) != i2)
4168 : return -1;
4169 543 : x3 = XEXP (x2, 0);
4170 543 : if (GET_MODE (x3) != i4
4171 543 : || !nonimmediate_operand (operands[2], i3))
4172 0 : return -1;
4173 543 : x4 = XEXP (x2, 1);
4174 543 : return pattern1137 (x4,
4175 : i1,
4176 : i2,
4177 : i3,
4178 543 : i4); /* [-1, 0] */
4179 : }
4180 :
4181 : int
4182 630 : pattern1144 (rtx x1, machine_mode i1)
4183 : {
4184 630 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4185 630 : rtx x2;
4186 630 : int res ATTRIBUTE_UNUSED;
4187 630 : if (!register_operand (operands[0], i1)
4188 630 : || GET_MODE (x1) != i1)
4189 : return -1;
4190 594 : x2 = XVECEXP (x1, 0, 0);
4191 594 : if (GET_MODE (x2) != i1
4192 594 : || !register_operand (operands[1], i1)
4193 1168 : || !register_operand (operands[2], i1))
4194 28 : return -1;
4195 : return 0;
4196 : }
4197 :
4198 : int
4199 477 : pattern1151 (rtx x1, machine_mode i1, machine_mode i2)
4200 : {
4201 477 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4202 477 : rtx x2;
4203 477 : int res ATTRIBUTE_UNUSED;
4204 477 : if (!register_operand (operands[0], i2)
4205 477 : || GET_MODE (x1) != i2)
4206 : return -1;
4207 384 : x2 = XEXP (x1, 0);
4208 384 : if (GET_MODE (x2) != i1
4209 384 : || !nonimmediate_operand (operands[1], i2)
4210 710 : || !const0_operand (operands[2], i1))
4211 64 : return -1;
4212 : return 0;
4213 : }
4214 :
4215 : int
4216 3639 : pattern1159 (rtx x1, machine_mode i1)
4217 : {
4218 3639 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4219 3639 : int res ATTRIBUTE_UNUSED;
4220 3639 : if (!memory_operand (operands[0], i1)
4221 3639 : || GET_MODE (x1) != i1
4222 7278 : || !memory_operand (operands[1], i1))
4223 0 : return -1;
4224 3639 : switch (GET_MODE (operands[2]))
4225 : {
4226 16 : case E_SImode:
4227 16 : if (!register_operand (operands[2], E_SImode))
4228 : return -1;
4229 : return 0;
4230 :
4231 3623 : case E_DImode:
4232 3623 : if (!register_operand (operands[2], E_DImode))
4233 : return -1;
4234 : return 1;
4235 :
4236 : default:
4237 : return -1;
4238 : }
4239 : }
4240 :
4241 : int
4242 58659 : pattern1168 (rtx x1)
4243 : {
4244 58659 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4245 58659 : rtx x2, x3, x4, x5;
4246 58659 : int res ATTRIBUTE_UNUSED;
4247 58659 : x2 = XEXP (x1, 0);
4248 58659 : x3 = XEXP (x2, 0);
4249 58659 : x4 = XEXP (x3, 0);
4250 58659 : if (GET_CODE (x4) != ZERO_EXTEND)
4251 : return -1;
4252 159 : x5 = XEXP (x2, 1);
4253 159 : if (GET_CODE (x5) != ZERO_EXTEND)
4254 : return -1;
4255 107 : return pattern360 (x1); /* [-1, 3] */
4256 : }
4257 :
4258 : int
4259 0 : pattern1172 (rtx x1, machine_mode i1)
4260 : {
4261 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4262 0 : rtx x2, x3;
4263 0 : int res ATTRIBUTE_UNUSED;
4264 0 : if (!nonimmediate_operand (operands[0], i1)
4265 0 : || GET_MODE (x1) != i1)
4266 : return -1;
4267 0 : x2 = XEXP (x1, 0);
4268 0 : if (GET_MODE (x2) != i1)
4269 : return -1;
4270 0 : x3 = XEXP (x2, 0);
4271 0 : if (GET_MODE (x3) != i1
4272 0 : || !nonimmediate_operand (operands[1], i1)
4273 0 : || !immediate_operand (operands[2], i1))
4274 0 : return -1;
4275 : return 0;
4276 : }
4277 :
4278 : int
4279 22021 : pattern1179 (rtx x1)
4280 : {
4281 22021 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4282 22021 : rtx x2, x3, x4;
4283 22021 : int res ATTRIBUTE_UNUSED;
4284 22021 : x2 = XEXP (x1, 1);
4285 22021 : x3 = XEXP (x2, 1);
4286 22021 : if (maybe_ne (SUBREG_BYTE (x3), 0)
4287 22021 : || GET_MODE (x3) != E_QImode)
4288 : return -1;
4289 22021 : x4 = XEXP (x1, 0);
4290 22021 : operands[0] = x4;
4291 22021 : return pattern1178 (x2); /* [-1, 11] */
4292 : }
4293 :
4294 : int
4295 107 : pattern1185 (rtx x1)
4296 : {
4297 107 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4298 107 : rtx x2, x3, x4;
4299 107 : int res ATTRIBUTE_UNUSED;
4300 107 : x2 = XEXP (x1, 0);
4301 107 : if (GET_MODE (x2) != E_SImode
4302 77 : || !register_operand (operands[0], E_DImode)
4303 184 : || GET_MODE (x1) != E_DImode)
4304 30 : return -1;
4305 77 : x3 = XEXP (x2, 0);
4306 77 : operands[1] = x3;
4307 77 : if (!nonimmediate_operand (operands[1], E_SImode))
4308 : return -1;
4309 72 : x4 = XEXP (x2, 1);
4310 72 : operands[2] = x4;
4311 72 : if (!const_int_operand (operands[2], E_QImode))
4312 : return -1;
4313 : return 0;
4314 : }
4315 :
4316 : int
4317 206 : pattern1194 (rtx x1)
4318 : {
4319 206 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4320 206 : rtx x2, x3, x4, x5, x6, x7, x8;
4321 206 : int res ATTRIBUTE_UNUSED;
4322 206 : x2 = XEXP (x1, 1);
4323 206 : x3 = XEXP (x2, 1);
4324 206 : switch (GET_CODE (x3))
4325 : {
4326 156 : case LABEL_REF:
4327 156 : x4 = XEXP (x2, 2);
4328 156 : if (GET_CODE (x4) != PC)
4329 : return -1;
4330 156 : x5 = XEXP (x1, 0);
4331 156 : if (GET_CODE (x5) != PC)
4332 : return -1;
4333 156 : x6 = XEXP (x2, 0);
4334 156 : operands[0] = x6;
4335 156 : x7 = XEXP (x6, 0);
4336 156 : operands[1] = x7;
4337 156 : x8 = XEXP (x3, 0);
4338 156 : operands[2] = x8;
4339 156 : switch (GET_MODE (operands[1]))
4340 : {
4341 8 : case E_QImode:
4342 8 : if (!register_operand (operands[1], E_QImode))
4343 : return -1;
4344 : return 0;
4345 :
4346 64 : case E_HImode:
4347 64 : if (!register_operand (operands[1], E_HImode))
4348 : return -1;
4349 : return 1;
4350 :
4351 62 : case E_SImode:
4352 62 : if (!register_operand (operands[1], E_SImode))
4353 : return -1;
4354 : return 2;
4355 :
4356 22 : case E_DImode:
4357 22 : if (!register_operand (operands[1], E_DImode))
4358 : return -1;
4359 : return 3;
4360 :
4361 : default:
4362 : return -1;
4363 : }
4364 :
4365 49 : case REG:
4366 49 : case SUBREG:
4367 49 : case MEM:
4368 49 : operands[2] = x3;
4369 49 : x5 = XEXP (x1, 0);
4370 49 : operands[0] = x5;
4371 49 : x6 = XEXP (x2, 0);
4372 49 : operands[1] = x6;
4373 49 : x7 = XEXP (x6, 0);
4374 49 : operands[4] = x7;
4375 49 : x4 = XEXP (x2, 2);
4376 49 : operands[3] = x4;
4377 49 : switch (GET_MODE (operands[0]))
4378 : {
4379 7 : case E_QImode:
4380 7 : if (!register_operand (operands[0], E_QImode)
4381 7 : || GET_MODE (x2) != E_QImode
4382 7 : || !register_operand (operands[2], E_QImode)
4383 14 : || !register_operand (operands[3], E_QImode))
4384 0 : return -1;
4385 7 : res = pattern1192 ();
4386 7 : if (res >= 0)
4387 7 : return res + 4; /* [4, 7] */
4388 : return -1;
4389 :
4390 7 : case E_HImode:
4391 7 : res = pattern1193 (x2,
4392 : E_HImode);
4393 7 : if (res >= 0)
4394 7 : return res + 8; /* [8, 11] */
4395 : return -1;
4396 :
4397 28 : case E_SImode:
4398 28 : res = pattern1193 (x2,
4399 : E_SImode);
4400 28 : if (res >= 0)
4401 28 : return res + 12; /* [12, 15] */
4402 : return -1;
4403 :
4404 7 : case E_DImode:
4405 7 : res = pattern1193 (x2,
4406 : E_DImode);
4407 7 : if (res >= 0)
4408 7 : return res + 16; /* [16, 19] */
4409 : return -1;
4410 :
4411 : default:
4412 : return -1;
4413 : }
4414 :
4415 : default:
4416 : return -1;
4417 : }
4418 : }
4419 :
4420 : int
4421 52 : pattern1226 (rtx x1, machine_mode i1, machine_mode i2)
4422 : {
4423 52 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4424 52 : rtx x2, x3;
4425 52 : int res ATTRIBUTE_UNUSED;
4426 52 : if (!register_operand (operands[0], i1)
4427 52 : || GET_MODE (x1) != i1)
4428 : return -1;
4429 52 : x2 = XEXP (x1, 0);
4430 52 : if (GET_MODE (x2) != i1)
4431 : return -1;
4432 52 : x3 = XEXP (x2, 0);
4433 52 : if (GET_MODE (x3) != i2
4434 52 : || !register_operand (operands[1], i1))
4435 10 : return -1;
4436 : return 0;
4437 : }
4438 :
4439 : int
4440 238 : pattern1232 (rtx x1, machine_mode i1)
4441 : {
4442 238 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4443 238 : rtx x2;
4444 238 : int res ATTRIBUTE_UNUSED;
4445 238 : if (!register_operand (operands[0], i1)
4446 238 : || GET_MODE (x1) != i1)
4447 : return -1;
4448 228 : x2 = XVECEXP (x1, 0, 0);
4449 228 : if (GET_MODE (x2) != i1)
4450 : return -1;
4451 228 : switch (GET_MODE (operands[1]))
4452 : {
4453 59 : case E_V8HFmode:
4454 59 : if (!register_operand (operands[1], E_V8HFmode))
4455 : return -1;
4456 : return 0;
4457 :
4458 52 : case E_V8SFmode:
4459 52 : if (!nonimmediate_operand (operands[1], E_V8SFmode))
4460 : return -1;
4461 : return 1;
4462 :
4463 117 : case E_V8DFmode:
4464 117 : if (!nonimmediate_operand (operands[1], E_V8DFmode))
4465 : return -1;
4466 : return 2;
4467 :
4468 : default:
4469 : return -1;
4470 : }
4471 : }
4472 :
4473 : int
4474 9985 : pattern1241 (rtx x1)
4475 : {
4476 9985 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4477 9985 : rtx x2, x3, x4;
4478 9985 : int res ATTRIBUTE_UNUSED;
4479 9985 : x2 = XEXP (x1, 0);
4480 9985 : x3 = XEXP (x2, 0);
4481 9985 : operands[1] = x3;
4482 9985 : x4 = XEXP (x2, 1);
4483 9985 : operands[2] = x4;
4484 9985 : if (!const_int_operand (operands[2], E_QImode))
4485 : return -1;
4486 9972 : switch (GET_MODE (operands[0]))
4487 : {
4488 8065 : case E_SImode:
4489 8065 : return pattern1240 (x1,
4490 : E_DImode,
4491 8065 : E_SImode); /* [-1, 0] */
4492 :
4493 252 : case E_DImode:
4494 252 : if (pattern1240 (x1,
4495 : E_TImode,
4496 : E_DImode) != 0)
4497 : return -1;
4498 : return 1;
4499 :
4500 : default:
4501 : return -1;
4502 : }
4503 : }
4504 :
4505 : int
4506 20505 : pattern1247 (rtx x1, rtx_code i1)
4507 : {
4508 20505 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4509 20505 : rtx x2, x3, x4, x5;
4510 20505 : int res ATTRIBUTE_UNUSED;
4511 20505 : x2 = XVECEXP (x1, 0, 1);
4512 20505 : x3 = XEXP (x2, 1);
4513 20505 : if (GET_CODE (x3) != i1)
4514 : return -1;
4515 17125 : x4 = XVECEXP (x1, 0, 0);
4516 17125 : x5 = XEXP (x4, 0);
4517 17125 : if (GET_MODE (x5) != E_CCGOCmode)
4518 : return -1;
4519 17125 : return pattern368 (x1,
4520 17125 : E_CCGOCmode); /* [-1, 3] */
4521 : }
4522 :
4523 : int
4524 12431 : pattern1250 (rtx x1)
4525 : {
4526 12431 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4527 12431 : rtx x2, x3, x4, x5, x6, x7;
4528 12431 : int res ATTRIBUTE_UNUSED;
4529 12431 : x2 = XVECEXP (x1, 0, 1);
4530 12431 : x3 = XEXP (x2, 1);
4531 12431 : x4 = XEXP (x3, 0);
4532 12431 : if (!rtx_equal_p (x4, operands[1]))
4533 : return -1;
4534 12431 : x5 = XVECEXP (x1, 0, 0);
4535 12431 : x6 = XEXP (x5, 1);
4536 12431 : x7 = XEXP (x6, 0);
4537 12431 : switch (GET_MODE (x7))
4538 : {
4539 202 : case E_QImode:
4540 202 : if (!nonimmediate_operand (operands[1], E_QImode)
4541 146 : || !nonimmediate_operand (operands[0], E_QImode)
4542 348 : || GET_MODE (x3) != E_QImode)
4543 56 : return -1;
4544 : return 0;
4545 :
4546 738 : case E_HImode:
4547 738 : if (!nonimmediate_operand (operands[1], E_HImode)
4548 738 : || !nonimmediate_operand (operands[0], E_HImode)
4549 1476 : || GET_MODE (x3) != E_HImode)
4550 0 : return -1;
4551 : return 1;
4552 :
4553 4771 : case E_SImode:
4554 4771 : if (!nonimmediate_operand (operands[1], E_SImode)
4555 4748 : || !nonimmediate_operand (operands[0], E_SImode)
4556 9519 : || GET_MODE (x3) != E_SImode)
4557 23 : return -1;
4558 : return 2;
4559 :
4560 6654 : case E_DImode:
4561 6654 : if (!nonimmediate_operand (operands[1], E_DImode)
4562 6654 : || !nonimmediate_operand (operands[0], E_DImode)
4563 13308 : || GET_MODE (x3) != E_DImode)
4564 0 : return -1;
4565 : return 3;
4566 :
4567 : default:
4568 : return -1;
4569 : }
4570 : }
4571 :
4572 : int
4573 95765 : pattern1266 (rtx x1, int i1)
4574 : {
4575 95765 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4576 95765 : rtx x2, x3, x4, x5, x6, x7, x8;
4577 95765 : int res ATTRIBUTE_UNUSED;
4578 95765 : if (GET_CODE (x1) != SET)
4579 : return -1;
4580 71391 : x2 = XEXP (x1, 1);
4581 71391 : if (GET_CODE (x2) != COMPARE
4582 28446 : || GET_MODE (x2) != E_CCZmode)
4583 : return -1;
4584 16783 : x3 = XEXP (x2, 1);
4585 16783 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
4586 : return -1;
4587 6364 : x4 = XEXP (x1, 0);
4588 6364 : if (GET_CODE (x4) != REG
4589 6364 : || REGNO (x4) != 17
4590 12728 : || GET_MODE (x4) != E_CCZmode)
4591 : return -1;
4592 6364 : x5 = XEXP (x2, 0);
4593 6364 : if (!rtx_equal_p (x5, operands[0]))
4594 : return -1;
4595 832 : x6 = PATTERN (peep2_next_insn (2));
4596 832 : if (GET_CODE (x6) != SET)
4597 : return -1;
4598 832 : x7 = XEXP (x6, 1);
4599 832 : if (GET_CODE (x7) != IF_THEN_ELSE)
4600 : return -1;
4601 829 : x8 = XEXP (x7, 0);
4602 829 : if (!bt_comparison_operator (x8, E_VOIDmode))
4603 : return -1;
4604 : return 0;
4605 : }
4606 :
4607 : int
4608 0 : pattern1277 (rtx x1, machine_mode i1)
4609 : {
4610 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4611 0 : rtx x2, x3;
4612 0 : int res ATTRIBUTE_UNUSED;
4613 0 : if (!nonimmediate_operand (operands[0], i1)
4614 0 : || GET_MODE (x1) != i1)
4615 : return -1;
4616 0 : x2 = XEXP (x1, 0);
4617 0 : if (GET_MODE (x2) != i1
4618 0 : || !nonimmediate_operand (operands[1], i1))
4619 0 : return -1;
4620 0 : x3 = XEXP (x2, 1);
4621 0 : if (GET_MODE (x3) != i1
4622 0 : || !general_operand (operands[2], i1))
4623 0 : return -1;
4624 : return 0;
4625 : }
4626 :
4627 : int
4628 666 : pattern1285 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
4629 : {
4630 666 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4631 666 : rtx x2;
4632 666 : int res ATTRIBUTE_UNUSED;
4633 666 : if (!register_operand (operands[0], i2)
4634 666 : || GET_MODE (x1) != i2)
4635 : return -1;
4636 640 : x2 = XEXP (x1, 0);
4637 640 : if (GET_MODE (x2) != i2
4638 640 : || !register_operand (operands[1], i3)
4639 640 : || !nonimmediate_operand (operands[2], i3)
4640 640 : || !nonimm_or_0_operand (operands[4], i2)
4641 1259 : || !register_operand (operands[5], i1))
4642 54 : return -1;
4643 : return 0;
4644 : }
4645 :
4646 : int
4647 3387 : pattern1295 (rtx x1)
4648 : {
4649 3387 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4650 3387 : rtx x2, x3;
4651 3387 : int res ATTRIBUTE_UNUSED;
4652 3387 : x2 = XEXP (x1, 2);
4653 3387 : if (GET_MODE (x2) != E_QImode)
4654 : return -1;
4655 2021 : x3 = XVECEXP (x2, 0, 2);
4656 2021 : operands[5] = x3;
4657 2021 : if (!const_0_to_31_operand (operands[5], E_SImode))
4658 : return -1;
4659 2021 : switch (GET_MODE (operands[0]))
4660 : {
4661 752 : case E_V8SImode:
4662 752 : return pattern1294 (x1,
4663 : E_V8SFmode,
4664 752 : E_V8SImode); /* [-1, 0] */
4665 :
4666 814 : case E_V4SImode:
4667 814 : if (pattern1294 (x1,
4668 : E_V4SFmode,
4669 : E_V4SImode) != 0)
4670 : return -1;
4671 : return 1;
4672 :
4673 97 : case E_V4DImode:
4674 97 : if (pattern1294 (x1,
4675 : E_V4DFmode,
4676 : E_V4DImode) != 0)
4677 : return -1;
4678 : return 2;
4679 :
4680 92 : case E_V2DImode:
4681 92 : if (pattern1294 (x1,
4682 : E_V2DFmode,
4683 : E_V2DImode) != 0)
4684 : return -1;
4685 : return 3;
4686 :
4687 : default:
4688 : return -1;
4689 : }
4690 : }
4691 :
4692 : int
4693 3662 : pattern1306 (rtx x1)
4694 : {
4695 3662 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4696 3662 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4697 3662 : int res ATTRIBUTE_UNUSED;
4698 3662 : x2 = XVECEXP (x1, 0, 4);
4699 3662 : if (GET_CODE (x2) != CONST_INT)
4700 : return -1;
4701 3662 : x3 = XVECEXP (x1, 0, 5);
4702 3662 : if (GET_CODE (x3) != CONST_INT)
4703 : return -1;
4704 3662 : x4 = XVECEXP (x1, 0, 6);
4705 3662 : if (GET_CODE (x4) != CONST_INT)
4706 : return -1;
4707 3662 : x5 = XVECEXP (x1, 0, 7);
4708 3662 : if (GET_CODE (x5) != CONST_INT)
4709 : return -1;
4710 3662 : x6 = XVECEXP (x1, 0, 8);
4711 3662 : if (GET_CODE (x6) != CONST_INT)
4712 : return -1;
4713 3662 : x7 = XVECEXP (x1, 0, 9);
4714 3662 : if (GET_CODE (x7) != CONST_INT)
4715 : return -1;
4716 3662 : x8 = XVECEXP (x1, 0, 10);
4717 3662 : if (GET_CODE (x8) != CONST_INT)
4718 : return -1;
4719 3662 : x9 = XVECEXP (x1, 0, 11);
4720 3662 : if (GET_CODE (x9) != CONST_INT)
4721 0 : return -1;
4722 : return 0;
4723 : }
4724 :
4725 : int
4726 1551 : pattern1318 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
4727 : {
4728 1551 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4729 1551 : rtx x2, x3;
4730 1551 : int res ATTRIBUTE_UNUSED;
4731 1551 : if (!register_operand (operands[0], i1)
4732 1551 : || GET_MODE (x1) != i1)
4733 : return -1;
4734 1524 : x2 = XVECEXP (x1, 0, 0);
4735 1524 : if (GET_MODE (x2) != i1)
4736 : return -1;
4737 1524 : x3 = XEXP (x2, 0);
4738 1524 : if (GET_MODE (x3) != i1
4739 1524 : || !nonimmediate_operand (operands[1], i2)
4740 1524 : || !nonimm_or_0_operand (operands[2], i1)
4741 3045 : || !register_operand (operands[3], i3))
4742 12 : return -1;
4743 : return 0;
4744 : }
4745 :
4746 : int
4747 1311 : pattern1323 (rtx x1)
4748 : {
4749 1311 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4750 1311 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4751 1311 : rtx x10, x11, x12;
4752 1311 : int res ATTRIBUTE_UNUSED;
4753 1311 : x2 = XEXP (x1, 0);
4754 1311 : x3 = XEXP (x2, 0);
4755 1311 : x4 = XEXP (x3, 0);
4756 1311 : x5 = XEXP (x4, 1);
4757 1311 : x6 = XVECEXP (x5, 0, 0);
4758 1311 : if (GET_CODE (x6) != CONST_INT)
4759 : return -1;
4760 1311 : x7 = XVECEXP (x5, 0, 1);
4761 1311 : if (GET_CODE (x7) != CONST_INT)
4762 : return -1;
4763 1311 : x8 = XEXP (x2, 1);
4764 1311 : x9 = XEXP (x8, 0);
4765 1311 : x10 = XEXP (x9, 1);
4766 1311 : if (XVECLEN (x10, 0) != 2)
4767 : return -1;
4768 1311 : x11 = XVECEXP (x10, 0, 0);
4769 1311 : if (GET_CODE (x11) != CONST_INT)
4770 : return -1;
4771 1311 : x12 = XVECEXP (x10, 0, 1);
4772 1311 : if (GET_CODE (x12) != CONST_INT
4773 1311 : || !register_operand (operands[0], E_V2DImode)
4774 1253 : || GET_MODE (x1) != E_V2DImode
4775 1253 : || GET_MODE (x2) != E_V2DImode
4776 1253 : || GET_MODE (x3) != E_V2DImode
4777 1253 : || GET_MODE (x4) != E_V2SImode
4778 2564 : || !nonimmediate_operand (operands[1], E_V4SImode))
4779 245 : return -1;
4780 : return 0;
4781 : }
4782 :
4783 : int
4784 599 : pattern1338 (rtx x1)
4785 : {
4786 599 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4787 599 : rtx x2, x3, x4, x5, x6, x7;
4788 599 : int res ATTRIBUTE_UNUSED;
4789 599 : x2 = XEXP (x1, 0);
4790 599 : x3 = XEXP (x2, 1);
4791 599 : if (maybe_ne (SUBREG_BYTE (x3), 0)
4792 599 : || GET_MODE (x3) != E_QImode)
4793 : return -1;
4794 599 : x4 = XEXP (x3, 0);
4795 599 : if (GET_CODE (x4) != AND)
4796 : return -1;
4797 162 : x5 = XEXP (x4, 0);
4798 162 : operands[1] = x5;
4799 162 : if (!int248_register_operand (operands[1], E_VOIDmode))
4800 : return -1;
4801 157 : x6 = XEXP (x4, 1);
4802 157 : operands[2] = x6;
4803 157 : if (!const_int_operand (operands[2], E_VOIDmode))
4804 : return -1;
4805 157 : x7 = XEXP (x1, 1);
4806 157 : operands[3] = x7;
4807 157 : switch (GET_MODE (operands[0]))
4808 : {
4809 64 : case E_SImode:
4810 64 : return pattern374 (x1,
4811 64 : E_SImode); /* [-1, 0] */
4812 :
4813 65 : case E_DImode:
4814 65 : if (pattern374 (x1,
4815 : E_DImode) != 0)
4816 : return -1;
4817 : return 1;
4818 :
4819 : default:
4820 : return -1;
4821 : }
4822 : }
4823 :
4824 : int
4825 27145 : pattern1352 (rtx x1)
4826 : {
4827 27145 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4828 27145 : rtx x2, x3, x4, x5, x6, x7;
4829 27145 : int res ATTRIBUTE_UNUSED;
4830 27145 : x2 = XVECEXP (x1, 0, 1);
4831 27145 : if (GET_CODE (x2) != CLOBBER)
4832 : return -1;
4833 27145 : x3 = XEXP (x2, 0);
4834 27145 : if (GET_CODE (x3) != REG
4835 27145 : || REGNO (x3) != 17
4836 54290 : || GET_MODE (x3) != E_CCmode)
4837 : return -1;
4838 27145 : x4 = XVECEXP (x1, 0, 0);
4839 27145 : x5 = XEXP (x4, 1);
4840 27145 : x6 = XEXP (x5, 0);
4841 27145 : if (!rtx_equal_p (x6, operands[0]))
4842 : return -1;
4843 25900 : x7 = XEXP (x4, 0);
4844 25900 : if (!rtx_equal_p (x7, operands[0]))
4845 : return -1;
4846 : return 0;
4847 : }
4848 :
4849 : int
4850 278580 : pattern1360 (rtx x1, machine_mode i1)
4851 : {
4852 278580 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4853 278580 : rtx x2, x3, x4, x5, x6;
4854 278580 : int res ATTRIBUTE_UNUSED;
4855 278580 : if (!plusminuslogic_operator (operands[3], i1))
4856 : return -1;
4857 271545 : x2 = XVECEXP (x1, 0, 1);
4858 271545 : if (GET_CODE (x2) != CLOBBER)
4859 : return -1;
4860 271545 : x3 = XEXP (x2, 0);
4861 271545 : if (GET_CODE (x3) != REG
4862 271545 : || REGNO (x3) != 17
4863 543090 : || GET_MODE (x3) != E_CCmode)
4864 : return -1;
4865 271545 : x4 = XVECEXP (x1, 0, 0);
4866 271545 : x5 = XEXP (x4, 1);
4867 271545 : x6 = XEXP (x5, 1);
4868 271545 : operands[2] = x6;
4869 271545 : if (!x86_64_nonmemory_operand (operands[2], i1))
4870 : return -1;
4871 : return 0;
4872 : }
4873 :
4874 : int
4875 21 : pattern1369 (rtx x1, machine_mode i1)
4876 : {
4877 21 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4878 21 : rtx x2;
4879 21 : int res ATTRIBUTE_UNUSED;
4880 21 : if (!nonimmediate_operand (operands[0], i1)
4881 21 : || GET_MODE (x1) != i1)
4882 : return -1;
4883 21 : x2 = XEXP (x1, 0);
4884 21 : if (GET_MODE (x2) != i1
4885 21 : || !nonimmediate_operand (operands[1], i1)
4886 21 : || !ix86_carry_flag_operator (operands[4], i1)
4887 42 : || !general_operand (operands[2], i1))
4888 0 : return -1;
4889 : return 0;
4890 : }
4891 :
4892 : int
4893 4609 : pattern1376 (rtx x1, machine_mode i1)
4894 : {
4895 4609 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4896 4609 : int res ATTRIBUTE_UNUSED;
4897 4609 : if (!register_operand (operands[0], i1)
4898 4581 : || GET_MODE (x1) != i1
4899 4581 : || !nonimmediate_operand (operands[2], i1)
4900 8556 : || !nonimmediate_operand (operands[3], i1))
4901 1705 : return -1;
4902 2904 : return pattern1375 (); /* [-1, 3] */
4903 : }
4904 :
4905 : int
4906 454 : pattern1378 (rtx x1, machine_mode i1, machine_mode i2)
4907 : {
4908 454 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4909 454 : rtx x2, x3;
4910 454 : int res ATTRIBUTE_UNUSED;
4911 454 : if (!register_operand (operands[0], i1)
4912 454 : || GET_MODE (x1) != i1)
4913 : return -1;
4914 404 : x2 = XEXP (x1, 0);
4915 404 : if (GET_MODE (x2) != i1
4916 404 : || !vector_operand (operands[1], i1)
4917 808 : || !vector_operand (operands[2], i1))
4918 0 : return -1;
4919 404 : x3 = XVECEXP (x2, 0, 2);
4920 404 : if (GET_MODE (x3) != i1
4921 404 : || !vector_operand (operands[3], i1)
4922 404 : || !const0_operand (operands[4], i1)
4923 808 : || !register_operand (operands[5], i2))
4924 33 : return -1;
4925 : return 0;
4926 : }
4927 :
4928 : int
4929 950 : pattern1390 (rtx x1, machine_mode i1, machine_mode i2)
4930 : {
4931 950 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4932 950 : rtx x2, x3;
4933 950 : int res ATTRIBUTE_UNUSED;
4934 950 : if (!register_operand (operands[0], i1)
4935 950 : || GET_MODE (x1) != i1)
4936 : return -1;
4937 903 : x2 = XEXP (x1, 0);
4938 903 : if (GET_MODE (x2) != i1
4939 903 : || !bcst_vector_operand (operands[1], i1))
4940 0 : return -1;
4941 903 : x3 = XEXP (x2, 2);
4942 903 : return pattern1389 (x3,
4943 : i2,
4944 903 : i1); /* [-1, 0] */
4945 : }
4946 :
4947 : int
4948 517 : pattern1400 (rtx x1, machine_mode i1)
4949 : {
4950 517 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4951 517 : rtx x2, x3, x4;
4952 517 : int res ATTRIBUTE_UNUSED;
4953 517 : if (!register_operand (operands[0], i1)
4954 517 : || GET_MODE (x1) != i1)
4955 : return -1;
4956 496 : x2 = XEXP (x1, 0);
4957 496 : if (GET_MODE (x2) != i1)
4958 : return -1;
4959 496 : x3 = XEXP (x2, 0);
4960 496 : if (GET_MODE (x3) != i1)
4961 : return -1;
4962 496 : x4 = XEXP (x2, 2);
4963 496 : if (GET_MODE (x4) != i1
4964 496 : || !const0_operand (operands[4], i1)
4965 992 : || !register_operand (operands[5], E_QImode))
4966 0 : return -1;
4967 : return 0;
4968 : }
4969 :
4970 : int
4971 1276 : pattern1409 (rtx x1)
4972 : {
4973 1276 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4974 1276 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4975 1276 : rtx x10;
4976 1276 : int res ATTRIBUTE_UNUSED;
4977 1276 : x2 = XVECEXP (x1, 0, 0);
4978 1276 : x3 = XEXP (x2, 0);
4979 1276 : x4 = XEXP (x3, 0);
4980 1276 : if (GET_MODE (x4) != E_V8HFmode)
4981 : return -1;
4982 1276 : x5 = XEXP (x3, 2);
4983 1276 : if (GET_CODE (x5) != UNSPEC
4984 1276 : || XVECLEN (x5, 0) != 1
4985 1276 : || XINT (x5, 1) != 224
4986 1276 : || GET_MODE (x5) != E_QImode)
4987 : return -1;
4988 1276 : x6 = XEXP (x2, 2);
4989 1276 : if (XWINT (x6, 0) != 3L
4990 1276 : || !register_operand (operands[0], E_V8HFmode)
4991 1250 : || GET_MODE (x1) != E_V8HFmode
4992 1250 : || GET_MODE (x2) != E_V8HFmode
4993 1250 : || GET_MODE (x3) != E_V8HFmode
4994 1250 : || !register_operand (operands[1], E_V8HFmode)
4995 1242 : || !register_operand (operands[2], E_V8HFmode)
4996 2484 : || !register_operand (operands[3], E_V8HFmode))
4997 90 : return -1;
4998 1186 : x7 = XVECEXP (x5, 0, 0);
4999 1186 : if (!register_operand (x7, E_QImode))
5000 : return -1;
5001 1104 : x8 = XVECEXP (x1, 0, 1);
5002 1104 : if (!const_4_or_8_to_11_operand (x8, E_SImode))
5003 : return -1;
5004 1104 : x9 = XEXP (x2, 1);
5005 1104 : if (!rtx_equal_p (x9, operands[2]))
5006 : return -1;
5007 1104 : x10 = XEXP (x3, 1);
5008 1104 : switch (GET_CODE (x10))
5009 : {
5010 384 : case CONST_INT:
5011 384 : case CONST_DOUBLE:
5012 384 : case CONST_VECTOR:
5013 384 : operands[4] = x10;
5014 384 : if (!const0_operand (operands[4], E_V8HFmode))
5015 : return -1;
5016 384 : operands[5] = x7;
5017 384 : operands[6] = x8;
5018 384 : return 0;
5019 :
5020 720 : case REG:
5021 720 : case SUBREG:
5022 720 : if (!rtx_equal_p (x10, operands[1]))
5023 : return -1;
5024 720 : operands[4] = x7;
5025 720 : operands[5] = x8;
5026 720 : return 1;
5027 :
5028 : default:
5029 : return -1;
5030 : }
5031 : }
5032 :
5033 : int
5034 33 : pattern1432 (rtx x1)
5035 : {
5036 33 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5037 33 : rtx x2, x3, x4, x5;
5038 33 : int res ATTRIBUTE_UNUSED;
5039 33 : x2 = XEXP (x1, 0);
5040 33 : x3 = XEXP (x2, 1);
5041 33 : x4 = XEXP (x3, 0);
5042 33 : if (GET_CODE (x4) != REG
5043 33 : || REGNO (x4) != 17)
5044 : return -1;
5045 9 : x5 = XEXP (x3, 1);
5046 9 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
5047 : return -1;
5048 9 : return pattern1164 (x1); /* [-1, 5] */
5049 : }
5050 :
5051 : int
5052 439421 : pattern1439 (rtx x1, machine_mode i1)
5053 : {
5054 439421 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5055 439421 : int res ATTRIBUTE_UNUSED;
5056 439421 : if (!nonimmediate_operand (operands[1], i1)
5057 439173 : || !x86_64_general_operand (operands[2], i1)
5058 436092 : || !nonimmediate_operand (operands[0], i1)
5059 875513 : || GET_MODE (x1) != i1)
5060 3329 : return -1;
5061 : return 0;
5062 : }
5063 :
5064 : int
5065 239378 : pattern1447 (rtx x1)
5066 : {
5067 239378 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5068 239378 : rtx x2, x3, x4, x5, x6, x7;
5069 239378 : int res ATTRIBUTE_UNUSED;
5070 239378 : x2 = XEXP (x1, 0);
5071 239378 : operands[0] = x2;
5072 239378 : x3 = XEXP (x1, 1);
5073 239378 : x4 = XEXP (x3, 1);
5074 239378 : x5 = XEXP (x4, 0);
5075 239378 : switch (GET_CODE (x5))
5076 : {
5077 27554 : case AND:
5078 27554 : return pattern1446 (x3); /* [-1, 1] */
5079 :
5080 0 : case PLUS:
5081 0 : res = pattern1446 (x3);
5082 0 : if (res >= 0)
5083 0 : return res + 2; /* [2, 3] */
5084 : return -1;
5085 :
5086 0 : case MINUS:
5087 0 : x6 = XEXP (x5, 0);
5088 0 : operands[3] = x6;
5089 0 : if (!const_int_operand (operands[3], E_VOIDmode))
5090 : return -1;
5091 0 : x7 = XEXP (x5, 1);
5092 0 : operands[2] = x7;
5093 0 : if (!int248_register_operand (operands[2], E_VOIDmode))
5094 : return -1;
5095 0 : res = pattern342 (x3);
5096 0 : if (res >= 0)
5097 0 : return res + 4; /* [4, 5] */
5098 : return -1;
5099 :
5100 : default:
5101 : return -1;
5102 : }
5103 : }
5104 :
5105 : int
5106 0 : pattern1461 (rtx x1)
5107 : {
5108 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5109 0 : rtx x2, x3, x4, x5;
5110 0 : int res ATTRIBUTE_UNUSED;
5111 0 : x2 = XEXP (x1, 2);
5112 0 : x3 = XEXP (x2, 0);
5113 0 : x4 = XEXP (x3, 0);
5114 0 : operands[1] = x4;
5115 0 : if (!int248_register_operand (operands[1], E_VOIDmode))
5116 : return -1;
5117 0 : x5 = XEXP (x3, 1);
5118 0 : operands[2] = x5;
5119 0 : if (!const_int_operand (operands[2], E_VOIDmode))
5120 : return -1;
5121 0 : switch (GET_MODE (x1))
5122 : {
5123 0 : case E_SImode:
5124 0 : if (!nonimmediate_operand (operands[0], E_SImode))
5125 : return -1;
5126 : return 0;
5127 :
5128 0 : case E_DImode:
5129 0 : if (!nonimmediate_operand (operands[0], E_DImode))
5130 : return -1;
5131 : return 1;
5132 :
5133 : default:
5134 : return -1;
5135 : }
5136 : }
5137 :
5138 : int
5139 1928 : pattern1473 (rtx x1, machine_mode i1, machine_mode i2)
5140 : {
5141 1928 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5142 1928 : rtx x2;
5143 1928 : int res ATTRIBUTE_UNUSED;
5144 1928 : if (!register_operand (operands[0], i1)
5145 1751 : || GET_MODE (x1) != i1
5146 1751 : || !vector_operand (operands[1], i1)
5147 3677 : || !vector_operand (operands[2], i1))
5148 1082 : return -1;
5149 846 : x2 = XEXP (x1, 2);
5150 846 : if (GET_MODE (x2) != i2
5151 846 : || !register_operand (operands[3], i1)
5152 581 : || !const0_operand (operands[4], i1)
5153 971 : || !const_0_to_7_operand (operands[5], E_SImode))
5154 721 : return -1;
5155 : return 0;
5156 : }
5157 :
5158 : int
5159 1094 : pattern1482 (rtx x1, machine_mode i1, machine_mode i2)
5160 : {
5161 1094 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5162 1094 : rtx x2, x3, x4, x5;
5163 1094 : int res ATTRIBUTE_UNUSED;
5164 1094 : if (!register_operand (operands[0], i2)
5165 1094 : || GET_MODE (x1) != i2)
5166 : return -1;
5167 1067 : x2 = XVECEXP (x1, 0, 0);
5168 1067 : if (GET_MODE (x2) != i2)
5169 : return -1;
5170 1067 : x3 = XEXP (x2, 0);
5171 1067 : if (GET_MODE (x3) != i2)
5172 : return -1;
5173 1067 : x4 = XEXP (x3, 0);
5174 1067 : if (GET_MODE (x4) != i2)
5175 : return -1;
5176 1067 : x5 = XEXP (x4, 0);
5177 1067 : if (GET_MODE (x5) != i1)
5178 0 : return -1;
5179 : return 0;
5180 : }
5181 :
5182 : int
5183 295 : pattern1489 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
5184 : {
5185 295 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5186 295 : rtx x2, x3, x4;
5187 295 : int res ATTRIBUTE_UNUSED;
5188 295 : if (!nonimmediate_operand (operands[0], i3)
5189 295 : || GET_MODE (x1) != i3)
5190 : return -1;
5191 295 : x2 = XEXP (x1, 0);
5192 295 : if (GET_MODE (x2) != i1
5193 295 : || !nonimmediate_operand (operands[1], i2))
5194 0 : return -1;
5195 295 : x3 = XEXP (x2, 1);
5196 295 : if (GET_MODE (x3) != i2)
5197 : return -1;
5198 295 : x4 = XEXP (x1, 1);
5199 295 : if (GET_MODE (x4) != i1)
5200 : return -1;
5201 : return 0;
5202 : }
5203 :
5204 : int
5205 158946 : pattern1496 (rtx x1)
5206 : {
5207 158946 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5208 158946 : rtx x2, x3, x4, x5, x6, x7, x8;
5209 158946 : int res ATTRIBUTE_UNUSED;
5210 158946 : x2 = XVECEXP (x1, 0, 1);
5211 158946 : x3 = XEXP (x2, 1);
5212 158946 : x4 = XEXP (x3, 0);
5213 158946 : if (!rtx_equal_p (x4, operands[1]))
5214 : return -1;
5215 157725 : x5 = XEXP (x3, 1);
5216 157725 : if (!rtx_equal_p (x5, operands[2]))
5217 : return -1;
5218 157725 : x6 = XVECEXP (x1, 0, 0);
5219 157725 : x7 = XEXP (x6, 1);
5220 157725 : x8 = XEXP (x7, 0);
5221 157725 : switch (GET_MODE (x8))
5222 : {
5223 694 : case E_QImode:
5224 694 : return pattern1438 (x3,
5225 694 : E_QImode); /* [-1, 0] */
5226 :
5227 6045 : case E_HImode:
5228 6045 : if (pattern1438 (x3,
5229 : E_HImode) != 0)
5230 : return -1;
5231 : return 1;
5232 :
5233 42144 : case E_SImode:
5234 42144 : if (pattern1439 (x3,
5235 : E_SImode) != 0)
5236 : return -1;
5237 : return 2;
5238 :
5239 108824 : case E_DImode:
5240 108824 : if (pattern1439 (x3,
5241 : E_DImode) != 0)
5242 : return -1;
5243 : return 3;
5244 :
5245 : default:
5246 : return -1;
5247 : }
5248 : }
5249 :
5250 : int
5251 5840 : pattern1512 (rtx x1, machine_mode i1)
5252 : {
5253 5840 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5254 5840 : rtx x2;
5255 5840 : int res ATTRIBUTE_UNUSED;
5256 5840 : if (!mask_reg_operand (operands[0], i1)
5257 5840 : || GET_MODE (x1) != i1)
5258 : return -1;
5259 0 : x2 = XEXP (x1, 0);
5260 0 : if (GET_MODE (x2) != i1
5261 0 : || !mask_reg_operand (operands[1], i1)
5262 0 : || !mask_reg_operand (operands[2], i1))
5263 0 : return -1;
5264 : return 0;
5265 : }
5266 :
5267 : int
5268 398157 : pattern1518 (rtx x1, machine_mode i1)
5269 : {
5270 398157 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5271 398157 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5272 398157 : rtx x10, x11;
5273 398157 : int res ATTRIBUTE_UNUSED;
5274 398157 : if (!register_operand (operands[0], i1)
5275 398157 : || GET_MODE (x1) != i1)
5276 : return -1;
5277 375743 : x2 = PATTERN (peep2_next_insn (1));
5278 375743 : switch (GET_CODE (x2))
5279 : {
5280 125565 : case PARALLEL:
5281 125565 : if (XVECLEN (x2, 0) != 2)
5282 : return -1;
5283 125544 : x3 = XVECEXP (x2, 0, 0);
5284 125544 : if (GET_CODE (x3) != SET)
5285 : return -1;
5286 125525 : x4 = XEXP (x3, 1);
5287 125525 : if (GET_CODE (x4) != PLUS
5288 84754 : || GET_MODE (x4) != i1)
5289 : return -1;
5290 81073 : x5 = XVECEXP (x2, 0, 1);
5291 81073 : if (GET_CODE (x5) != CLOBBER)
5292 : return -1;
5293 81073 : x6 = XEXP (x5, 0);
5294 81073 : if (GET_CODE (x6) != REG
5295 81073 : || REGNO (x6) != 17
5296 162146 : || GET_MODE (x6) != E_CCmode)
5297 : return -1;
5298 81073 : x7 = XEXP (x4, 1);
5299 81073 : operands[2] = x7;
5300 81073 : if (!x86_64_immediate_operand (operands[2], E_VOIDmode))
5301 : return -1;
5302 14414 : x8 = XEXP (x4, 0);
5303 14414 : if (!rtx_equal_p (x8, operands[0]))
5304 : return -1;
5305 : return 0;
5306 :
5307 244309 : case SET:
5308 244309 : x9 = XEXP (x2, 1);
5309 244309 : if (GET_CODE (x9) != PLUS
5310 25526 : || GET_MODE (x9) != i1)
5311 : return -1;
5312 23863 : x10 = XEXP (x9, 1);
5313 23863 : operands[2] = x10;
5314 23863 : if (!x86_64_immediate_operand (operands[2], E_VOIDmode))
5315 : return -1;
5316 11434 : x11 = XEXP (x9, 0);
5317 11434 : if (!rtx_equal_p (x11, operands[0]))
5318 : return -1;
5319 : return 1;
5320 :
5321 : default:
5322 : return -1;
5323 : }
5324 : }
5325 :
5326 : int
5327 36 : pattern1541 (rtx x1, rtx_code i1)
5328 : {
5329 36 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5330 36 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5331 36 : rtx x10, x11, x12;
5332 36 : int res ATTRIBUTE_UNUSED;
5333 36 : x2 = XVECEXP (x1, 0, 1);
5334 36 : x3 = XEXP (x2, 1);
5335 36 : if (GET_CODE (x3) != i1)
5336 : return -1;
5337 36 : x4 = XVECEXP (x1, 0, 0);
5338 36 : x5 = XEXP (x4, 0);
5339 36 : operands[0] = x5;
5340 36 : x6 = XEXP (x4, 1);
5341 36 : x7 = XEXP (x6, 0);
5342 36 : x8 = XEXP (x7, 0);
5343 36 : operands[2] = x8;
5344 36 : if (!register_operand (operands[2], E_SImode))
5345 : return -1;
5346 36 : x9 = XEXP (x7, 1);
5347 36 : operands[3] = x9;
5348 36 : if (!nonimmediate_operand (operands[3], E_SImode))
5349 : return -1;
5350 36 : x10 = XEXP (x2, 0);
5351 36 : operands[1] = x10;
5352 36 : x11 = XEXP (x3, 0);
5353 36 : if (!rtx_equal_p (x11, operands[2]))
5354 : return -1;
5355 36 : x12 = XEXP (x3, 1);
5356 36 : if (!rtx_equal_p (x12, operands[3]))
5357 : return -1;
5358 : return 0;
5359 : }
5360 :
5361 : int
5362 4404 : pattern1555 (rtx x1, machine_mode i1, machine_mode i2)
5363 : {
5364 4404 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5365 4404 : rtx x2;
5366 4404 : int res ATTRIBUTE_UNUSED;
5367 4404 : if (GET_MODE (x1) != i1)
5368 : return -1;
5369 4404 : x2 = XEXP (x1, 0);
5370 4404 : if (GET_MODE (x2) != i1
5371 4404 : || !register_operand (operands[1], i2)
5372 8779 : || !nonimm_or_0_operand (operands[2], i1))
5373 64 : return -1;
5374 : return 0;
5375 : }
5376 :
5377 : int
5378 2799 : pattern1561 (rtx x1, machine_mode i1, machine_mode i2)
5379 : {
5380 2799 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5381 2799 : rtx x2, x3;
5382 2799 : int res ATTRIBUTE_UNUSED;
5383 2799 : if (!register_operand (operands[0], i1)
5384 2799 : || GET_MODE (x1) != i1)
5385 : return -1;
5386 2739 : x2 = XVECEXP (x1, 0, 0);
5387 2739 : if (GET_MODE (x2) != i1)
5388 : return -1;
5389 2739 : x3 = XEXP (x2, 0);
5390 2739 : if (GET_MODE (x3) != i1
5391 2739 : || !nonimmediate_operand (operands[1], i1)
5392 2737 : || !nonimm_or_0_operand (operands[3], i1)
5393 5474 : || !register_operand (operands[4], i2))
5394 43 : return -1;
5395 : return 0;
5396 : }
5397 :
5398 : int
5399 92 : pattern1569 (rtx x1)
5400 : {
5401 92 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5402 92 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5403 92 : rtx x10;
5404 92 : int res ATTRIBUTE_UNUSED;
5405 92 : x2 = XVECEXP (x1, 0, 1);
5406 92 : x3 = XEXP (x2, 1);
5407 92 : x4 = XEXP (x3, 1);
5408 92 : if (!rtx_equal_p (x4, operands[2]))
5409 : return -1;
5410 92 : x5 = XVECEXP (x1, 0, 0);
5411 92 : x6 = XEXP (x5, 1);
5412 92 : x7 = XEXP (x6, 0);
5413 92 : x8 = XEXP (x7, 1);
5414 92 : x9 = XEXP (x8, 0);
5415 92 : operands[3] = x9;
5416 92 : if (!flags_reg_operand (operands[3], E_VOIDmode))
5417 : return -1;
5418 84 : x10 = XEXP (x3, 0);
5419 84 : if (!rtx_equal_p (x10, operands[1]))
5420 : return -1;
5421 84 : switch (GET_MODE (x7))
5422 : {
5423 : case E_QImode:
5424 : return 0;
5425 :
5426 : case E_HImode:
5427 : return 1;
5428 :
5429 : case E_SImode:
5430 : return 2;
5431 :
5432 : case E_DImode:
5433 : return 3;
5434 :
5435 : default:
5436 : return -1;
5437 : }
5438 : }
5439 :
5440 : int
5441 4 : pattern1583 (rtx x1)
5442 : {
5443 4 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5444 4 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5445 4 : rtx x10, x11, x12;
5446 4 : int res ATTRIBUTE_UNUSED;
5447 4 : x2 = XVECEXP (x1, 0, 0);
5448 4 : x3 = XEXP (x2, 1);
5449 4 : x4 = XEXP (x3, 0);
5450 4 : x5 = XEXP (x4, 0);
5451 4 : x6 = XEXP (x5, 0);
5452 4 : operands[1] = x6;
5453 4 : x7 = XEXP (x4, 1);
5454 4 : if (!rtx_equal_p (x7, operands[1]))
5455 : return -1;
5456 4 : x8 = XVECEXP (x1, 0, 1);
5457 4 : x9 = XEXP (x8, 1);
5458 4 : x10 = XEXP (x9, 0);
5459 4 : x11 = XEXP (x10, 0);
5460 4 : if (!rtx_equal_p (x11, operands[1]))
5461 : return -1;
5462 4 : x12 = XEXP (x9, 1);
5463 4 : if (!rtx_equal_p (x12, operands[1]))
5464 : return -1;
5465 4 : switch (GET_MODE (x4))
5466 : {
5467 4 : case E_SImode:
5468 4 : return pattern1582 (x1,
5469 4 : E_SImode); /* [-1, 0] */
5470 :
5471 0 : case E_DImode:
5472 0 : if (pattern1582 (x1,
5473 : E_DImode) != 0)
5474 : return -1;
5475 : return 1;
5476 :
5477 : default:
5478 : return -1;
5479 : }
5480 : }
5481 :
5482 : int
5483 1535 : pattern1597 (rtx x1, machine_mode i1, machine_mode i2)
5484 : {
5485 1535 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5486 1535 : rtx x2, x3;
5487 1535 : int res ATTRIBUTE_UNUSED;
5488 1535 : if (!register_operand (operands[0], i1)
5489 1535 : || GET_MODE (x1) != i1)
5490 : return -1;
5491 1502 : x2 = XVECEXP (x1, 0, 0);
5492 1502 : if (GET_MODE (x2) != i1)
5493 : return -1;
5494 1502 : x3 = XEXP (x2, 0);
5495 1502 : if (GET_MODE (x3) != i1
5496 1502 : || !register_operand (operands[2], i1)
5497 2992 : || !register_operand (operands[4], i2))
5498 22 : return -1;
5499 : return 0;
5500 : }
5501 :
5502 : int
5503 1223 : pattern1605 (rtx x1, machine_mode i1, machine_mode i2)
5504 : {
5505 1223 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5506 1223 : rtx x2, x3, x4;
5507 1223 : int res ATTRIBUTE_UNUSED;
5508 1223 : if (!register_operand (operands[0], i2)
5509 1223 : || GET_MODE (x1) != i2)
5510 : return -1;
5511 1200 : x2 = XVECEXP (x1, 0, 0);
5512 1200 : if (GET_MODE (x2) != i2)
5513 : return -1;
5514 1200 : x3 = XEXP (x2, 0);
5515 1200 : if (GET_MODE (x3) != i2
5516 1200 : || !register_operand (operands[2], i2))
5517 10 : return -1;
5518 1190 : x4 = XEXP (x3, 2);
5519 1190 : if (GET_MODE (x4) != i2
5520 1190 : || !register_operand (operands[4], i1))
5521 0 : return -1;
5522 : return 0;
5523 : }
5524 :
5525 : int
5526 287 : pattern1613 (machine_mode i1)
5527 : {
5528 287 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5529 287 : int res ATTRIBUTE_UNUSED;
5530 287 : if (!vsib_address_operand (operands[0], i1))
5531 : return -1;
5532 233 : switch (GET_MODE (operands[2]))
5533 : {
5534 159 : case E_V8SImode:
5535 159 : if (!register_operand (operands[2], E_V8SImode))
5536 : return -1;
5537 : return 0;
5538 :
5539 74 : case E_V8DImode:
5540 74 : if (!register_operand (operands[2], E_V8DImode))
5541 : return -1;
5542 : return 1;
5543 :
5544 : default:
5545 : return -1;
5546 : }
5547 : }
5548 :
5549 : int
5550 1076 : pattern1621 (rtx x1, machine_mode i1, machine_mode i2)
5551 : {
5552 1076 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5553 1076 : rtx x2, x3;
5554 1076 : int res ATTRIBUTE_UNUSED;
5555 1076 : if (!register_operand (operands[0], i2)
5556 1043 : || GET_MODE (x1) != i2
5557 2119 : || !vsib_mem_operator (operands[5], i1))
5558 33 : return -1;
5559 1043 : switch (GET_MODE (operands[6]))
5560 : {
5561 94 : case E_HImode:
5562 94 : x2 = XVECEXP (x1, 0, 2);
5563 94 : x3 = XEXP (x2, 0);
5564 94 : return pattern1620 (x3,
5565 : E_V16SImode,
5566 94 : E_HImode); /* [-1, 1] */
5567 :
5568 95 : case E_QImode:
5569 95 : x2 = XVECEXP (x1, 0, 2);
5570 95 : x3 = XEXP (x2, 0);
5571 95 : res = pattern1620 (x3,
5572 : E_V8DImode,
5573 : E_QImode);
5574 95 : if (res >= 0)
5575 58 : return res + 2; /* [2, 3] */
5576 : return -1;
5577 :
5578 : default:
5579 : return -1;
5580 : }
5581 : }
5582 :
5583 : int
5584 2 : pattern1633 (rtx x1)
5585 : {
5586 2 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5587 2 : rtx x2, x3, x4, x5, x6, x7, x8;
5588 2 : int res ATTRIBUTE_UNUSED;
5589 2 : x2 = XVECEXP (x1, 0, 1);
5590 2 : x3 = XEXP (x2, 1);
5591 2 : x4 = XEXP (x3, 1);
5592 2 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
5593 : return -1;
5594 2 : x5 = XEXP (x3, 0);
5595 2 : if (!rtx_equal_p (x5, operands[1]))
5596 : return -1;
5597 2 : x6 = XVECEXP (x1, 0, 0);
5598 2 : x7 = XEXP (x6, 1);
5599 2 : x8 = XVECEXP (x7, 0, 0);
5600 2 : switch (GET_MODE (x8))
5601 : {
5602 0 : case E_SImode:
5603 0 : if (!nonimmediate_operand (operands[1], E_SImode)
5604 0 : || !register_operand (operands[0], E_SImode)
5605 0 : || GET_MODE (x3) != E_SImode)
5606 0 : return -1;
5607 : return 0;
5608 :
5609 2 : case E_DImode:
5610 2 : if (!nonimmediate_operand (operands[1], E_DImode)
5611 2 : || !register_operand (operands[0], E_DImode)
5612 4 : || GET_MODE (x3) != E_DImode)
5613 0 : return -1;
5614 : return 1;
5615 :
5616 : default:
5617 : return -1;
5618 : }
5619 : }
5620 :
5621 : int
5622 1451 : pattern1649 (rtx x1, machine_mode i1)
5623 : {
5624 1451 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5625 1451 : rtx x2, x3, x4;
5626 1451 : int res ATTRIBUTE_UNUSED;
5627 1451 : if (!x86_64_nonmemory_operand (operands[1], i1))
5628 : return -1;
5629 1451 : operands[3] = x1;
5630 1451 : if (!register_operand (operands[3], i1))
5631 : return -1;
5632 9 : x2 = PATTERN (peep2_next_insn (1));
5633 9 : x3 = XEXP (x2, 1);
5634 9 : if (!rtx_equal_p (x3, operands[3]))
5635 : return -1;
5636 9 : x4 = XEXP (x2, 0);
5637 9 : if (!rtx_equal_p (x4, operands[0]))
5638 : return -1;
5639 : return 0;
5640 : }
5641 :
5642 : int
5643 470 : pattern1657 (rtx x1, machine_mode i1, machine_mode i2)
5644 : {
5645 470 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5646 470 : rtx x2, x3;
5647 470 : int res ATTRIBUTE_UNUSED;
5648 470 : if (!register_operand (operands[0], i1)
5649 470 : || GET_MODE (x1) != i1)
5650 : return -1;
5651 397 : x2 = XEXP (x1, 0);
5652 397 : if (GET_MODE (x2) != i1)
5653 : return -1;
5654 397 : x3 = XEXP (x2, 0);
5655 397 : if (GET_MODE (x3) != i2
5656 397 : || !register_operand (operands[1], i1)
5657 395 : || !nonimmediate_operand (operands[2], i1)
5658 395 : || !const_0_to_3_operand (operands[3], E_VOIDmode)
5659 395 : || !const_0_to_3_operand (operands[4], E_VOIDmode)
5660 383 : || !const_4_to_7_operand (operands[5], E_VOIDmode)
5661 383 : || !const_4_to_7_operand (operands[6], E_VOIDmode)
5662 780 : || !nonimm_or_0_operand (operands[7], i1))
5663 14 : return -1;
5664 : return 0;
5665 : }
5666 :
5667 : int
5668 191 : pattern1667 (rtx x1, machine_mode i1)
5669 : {
5670 191 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5671 191 : rtx x2, x3, x4;
5672 191 : int res ATTRIBUTE_UNUSED;
5673 191 : if (!register_operand (operands[0], i1)
5674 191 : || GET_MODE (x1) != i1)
5675 : return -1;
5676 171 : x2 = XVECEXP (x1, 0, 0);
5677 171 : if (GET_MODE (x2) != i1)
5678 : return -1;
5679 171 : x3 = XEXP (x2, 0);
5680 171 : if (GET_MODE (x3) != i1)
5681 : return -1;
5682 171 : x4 = XEXP (x3, 0);
5683 171 : if (GET_MODE (x4) != i1
5684 171 : || !nonimmediate_operand (operands[1], i1)
5685 171 : || !register_operand (operands[2], i1)
5686 329 : || !register_operand (operands[3], i1))
5687 15 : return -1;
5688 : return 0;
5689 : }
5690 :
5691 : int
5692 31 : pattern1679 (rtx x1, machine_mode i1)
5693 : {
5694 31 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5695 31 : rtx x2, x3, x4, x5;
5696 31 : int res ATTRIBUTE_UNUSED;
5697 31 : if (!register_operand (operands[2], i1)
5698 31 : || !register_operand (operands[3], i1)
5699 62 : || !register_operand (operands[0], i1))
5700 0 : return -1;
5701 31 : x2 = XVECEXP (x1, 0, 1);
5702 31 : x3 = XEXP (x2, 1);
5703 31 : if (GET_MODE (x3) != i1
5704 31 : || !register_operand (operands[1], i1))
5705 0 : return -1;
5706 31 : x4 = XVECEXP (x1, 0, 2);
5707 31 : x5 = XEXP (x4, 1);
5708 31 : if (GET_MODE (x5) != i1)
5709 : return -1;
5710 : return 0;
5711 : }
5712 :
5713 : int
5714 2468 : pattern1690 (rtx x1, machine_mode i1)
5715 : {
5716 2468 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5717 2468 : rtx x2, x3, x4;
5718 2468 : int res ATTRIBUTE_UNUSED;
5719 2468 : if (!register_operand (operands[0], i1)
5720 2468 : || GET_MODE (x1) != i1)
5721 : return -1;
5722 2436 : x2 = XVECEXP (x1, 0, 0);
5723 2436 : if (GET_MODE (x2) != i1)
5724 : return -1;
5725 2436 : x3 = XEXP (x2, 0);
5726 2436 : if (GET_MODE (x3) != i1)
5727 : return -1;
5728 2436 : x4 = XEXP (x3, 0);
5729 2436 : if (GET_MODE (x4) != i1
5730 2436 : || !register_operand (operands[2], i1))
5731 13 : return -1;
5732 : return 0;
5733 : }
5734 :
5735 : int
5736 1500 : pattern1699 (rtx x1)
5737 : {
5738 1500 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5739 1500 : rtx x2, x3, x4, x5, x6, x7, x8;
5740 1500 : int res ATTRIBUTE_UNUSED;
5741 1500 : if (!nonimmediate_operand (operands[0], E_DImode))
5742 : return -1;
5743 1500 : x2 = XEXP (x1, 1);
5744 1500 : if (GET_MODE (x2) != E_DImode)
5745 : return -1;
5746 1500 : x3 = XEXP (x2, 0);
5747 1500 : if (GET_MODE (x3) != E_TImode)
5748 : return -1;
5749 1500 : x4 = XEXP (x3, 0);
5750 1500 : if (GET_MODE (x4) != E_TImode)
5751 : return -1;
5752 1500 : x5 = XEXP (x4, 0);
5753 1500 : operands[1] = x5;
5754 1500 : if (!register_operand (operands[1], E_DImode))
5755 : return -1;
5756 1500 : x6 = XEXP (x3, 1);
5757 1500 : operands[3] = x6;
5758 1500 : if (!const_0_to_255_operand (operands[3], E_QImode))
5759 : return -1;
5760 1500 : x7 = XEXP (x1, 0);
5761 1500 : x8 = XEXP (x7, 0);
5762 1500 : if (!rtx_equal_p (x8, operands[0]))
5763 : return -1;
5764 : return 0;
5765 : }
5766 :
5767 : int
5768 4423 : pattern1710 (rtx x1)
5769 : {
5770 4423 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5771 4423 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5772 4423 : rtx x10, x11;
5773 4423 : int res ATTRIBUTE_UNUSED;
5774 4423 : x2 = XVECEXP (x1, 0, 0);
5775 4423 : x3 = XEXP (x2, 1);
5776 4423 : x4 = XVECEXP (x3, 0, 1);
5777 4423 : operands[4] = x4;
5778 4423 : if (!const_int_operand (operands[4], E_SImode))
5779 : return -1;
5780 4423 : x5 = XEXP (x2, 0);
5781 4423 : if (!rtx_equal_p (x5, operands[0]))
5782 : return -1;
5783 4423 : x6 = XVECEXP (x1, 0, 1);
5784 4423 : x7 = XEXP (x6, 1);
5785 4423 : x8 = XEXP (x7, 0);
5786 4423 : if (!rtx_equal_p (x8, operands[1]))
5787 : return -1;
5788 4423 : x9 = XEXP (x7, 1);
5789 4423 : if (!rtx_equal_p (x9, operands[0]))
5790 : return -1;
5791 4423 : x10 = XEXP (x6, 0);
5792 4423 : if (!rtx_equal_p (x10, operands[1]))
5793 : return -1;
5794 4423 : x11 = PATTERN (peep2_next_insn (2));
5795 4423 : return pattern1545 (x11); /* [-1, 0] */
5796 : }
5797 :
5798 : int
5799 863 : pattern1721 (rtx x1, machine_mode i1, machine_mode i2)
5800 : {
5801 863 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5802 863 : rtx x2, x3;
5803 863 : int res ATTRIBUTE_UNUSED;
5804 863 : if (!register_operand (operands[0], i1)
5805 801 : || GET_MODE (x1) != i1
5806 801 : || !vsib_mem_operator (operands[6], i2)
5807 1664 : || !register_operand (operands[4], i1))
5808 648 : return -1;
5809 215 : x2 = XVECEXP (x1, 0, 1);
5810 215 : x3 = XEXP (x2, 0);
5811 215 : switch (GET_MODE (x3))
5812 : {
5813 28 : case E_SImode:
5814 28 : return pattern1720 (
5815 28 : E_SImode); /* [-1, 1] */
5816 :
5817 187 : case E_DImode:
5818 187 : res = pattern1720 (
5819 : E_DImode);
5820 187 : if (res >= 0)
5821 65 : return res + 2; /* [2, 3] */
5822 : return -1;
5823 :
5824 : default:
5825 : return -1;
5826 : }
5827 : }
5828 :
5829 : int
5830 768 : pattern1731 (rtx x1, machine_mode i1)
5831 : {
5832 768 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5833 768 : rtx x2, x3, x4;
5834 768 : int res ATTRIBUTE_UNUSED;
5835 768 : if (!vsib_mem_operator (operands[5], i1)
5836 768 : || !register_operand (operands[6], E_QImode))
5837 80 : return -1;
5838 688 : x2 = XEXP (x1, 1);
5839 688 : if (GET_MODE (x2) != i1
5840 688 : || !register_operand (operands[3], i1)
5841 1376 : || !scratch_operand (operands[1], E_QImode))
5842 0 : return -1;
5843 688 : x3 = XEXP (x1, 0);
5844 688 : x4 = XEXP (x3, 0);
5845 688 : switch (GET_MODE (x4))
5846 : {
5847 0 : case E_SImode:
5848 0 : return pattern1730 (
5849 0 : E_SImode); /* [-1, 1] */
5850 :
5851 688 : case E_DImode:
5852 688 : res = pattern1730 (
5853 : E_DImode);
5854 688 : if (res >= 0)
5855 636 : return res + 2; /* [2, 3] */
5856 : return -1;
5857 :
5858 : default:
5859 : return -1;
5860 : }
5861 : }
5862 :
5863 : int
5864 308 : pattern1743 (rtx x1, machine_mode i1, machine_mode i2)
5865 : {
5866 308 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5867 308 : rtx x2, x3;
5868 308 : int res ATTRIBUTE_UNUSED;
5869 308 : if (!register_operand (operands[0], i2)
5870 304 : || GET_MODE (x1) != i2
5871 304 : || !register_operand (operands[6], E_QImode)
5872 214 : || !vsib_mem_operator (operands[5], i1)
5873 522 : || !scratch_operand (operands[1], E_QImode))
5874 94 : return -1;
5875 214 : x2 = XVECEXP (x1, 0, 2);
5876 214 : x3 = XEXP (x2, 0);
5877 214 : switch (GET_MODE (x3))
5878 : {
5879 0 : case E_SImode:
5880 0 : return pattern1742 (
5881 0 : E_SImode); /* [-1, 1] */
5882 :
5883 214 : case E_DImode:
5884 214 : res = pattern1742 (
5885 : E_DImode);
5886 214 : if (res >= 0)
5887 208 : return res + 2; /* [2, 3] */
5888 : return -1;
5889 :
5890 : default:
5891 : return -1;
5892 : }
5893 : }
5894 :
5895 : int
5896 354 : pattern1755 (rtx x1, machine_mode i1)
5897 : {
5898 354 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5899 354 : rtx x2, x3, x4, x5;
5900 354 : int res ATTRIBUTE_UNUSED;
5901 354 : if (!register_operand (operands[0], i1)
5902 354 : || GET_MODE (x1) != i1)
5903 : return -1;
5904 346 : x2 = XVECEXP (x1, 0, 0);
5905 346 : if (GET_MODE (x2) != i1)
5906 : return -1;
5907 346 : x3 = XEXP (x2, 0);
5908 346 : if (GET_MODE (x3) != i1)
5909 : return -1;
5910 346 : x4 = XEXP (x3, 0);
5911 346 : if (GET_MODE (x4) != i1)
5912 : return -1;
5913 346 : x5 = XEXP (x4, 0);
5914 346 : if (GET_MODE (x5) != i1
5915 346 : || !register_operand (operands[2], i1)
5916 341 : || !nonimmediate_operand (operands[1], i1)
5917 341 : || !register_operand (operands[3], i1)
5918 686 : || !const0_operand (operands[4], i1))
5919 6 : return -1;
5920 : return 0;
5921 : }
5922 :
5923 : int
5924 616 : pattern1764 (rtx x1, machine_mode i1, machine_mode i2)
5925 : {
5926 616 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5927 616 : rtx x2, x3;
5928 616 : int res ATTRIBUTE_UNUSED;
5929 616 : if (!register_operand (operands[0], i2)
5930 612 : || GET_MODE (x1) != i2
5931 612 : || !register_operand (operands[1], i2)
5932 612 : || !register_operand (operands[7], E_QImode)
5933 574 : || !vsib_mem_operator (operands[6], i1)
5934 1190 : || !scratch_operand (operands[2], E_QImode))
5935 42 : return -1;
5936 574 : x2 = XVECEXP (x1, 0, 2);
5937 574 : x3 = XEXP (x2, 0);
5938 574 : switch (GET_MODE (x3))
5939 : {
5940 0 : case E_SImode:
5941 0 : return pattern1763 (
5942 0 : E_SImode); /* [-1, 1] */
5943 :
5944 574 : case E_DImode:
5945 574 : res = pattern1763 (
5946 : E_DImode);
5947 574 : if (res >= 0)
5948 543 : return res + 2; /* [2, 3] */
5949 : return -1;
5950 :
5951 : default:
5952 : return -1;
5953 : }
5954 : }
5955 :
5956 : int
5957 230 : pattern1778 (rtx x1)
5958 : {
5959 230 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5960 230 : rtx x2;
5961 230 : int res ATTRIBUTE_UNUSED;
5962 230 : if (!register_operand (operands[0], E_V8SFmode)
5963 230 : || GET_MODE (x1) != E_V8SFmode)
5964 : return -1;
5965 222 : x2 = XEXP (x1, 0);
5966 222 : switch (GET_MODE (x2))
5967 : {
5968 112 : case E_V8HFmode:
5969 112 : if (!memory_operand (operands[1], E_V16HFmode))
5970 : return -1;
5971 : return 0;
5972 :
5973 110 : case E_V8BFmode:
5974 110 : if (!memory_operand (operands[1], E_V16BFmode))
5975 : return -1;
5976 : return 1;
5977 :
5978 : default:
5979 : return -1;
5980 : }
5981 : }
5982 :
5983 : int
5984 451 : pattern1788 (rtx x1, machine_mode i1, machine_mode i2)
5985 : {
5986 451 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5987 451 : rtx x2, x3, x4;
5988 451 : int res ATTRIBUTE_UNUSED;
5989 451 : if (!register_operand (operands[0], i2)
5990 451 : || GET_MODE (x1) != i2)
5991 : return -1;
5992 443 : x2 = XVECEXP (x1, 0, 0);
5993 443 : if (GET_MODE (x2) != i2)
5994 : return -1;
5995 443 : x3 = XEXP (x2, 0);
5996 443 : if (GET_MODE (x3) != i2)
5997 : return -1;
5998 443 : x4 = XEXP (x3, 0);
5999 443 : if (GET_MODE (x4) != i2
6000 443 : || !register_operand (operands[1], i2)
6001 441 : || !register_operand (operands[2], i2)
6002 884 : || !register_operand (operands[3], i1))
6003 2 : return -1;
6004 : return 0;
6005 : }
6006 :
6007 : int
6008 523 : pattern1796 (machine_mode i1)
6009 : {
6010 523 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6011 523 : int res ATTRIBUTE_UNUSED;
6012 523 : if (!vsib_address_operand (operands[2], i1))
6013 : return -1;
6014 505 : switch (GET_MODE (operands[3]))
6015 : {
6016 276 : case E_V4SImode:
6017 276 : if (!register_operand (operands[3], E_V4SImode))
6018 : return -1;
6019 : return 0;
6020 :
6021 229 : case E_V4DImode:
6022 229 : if (!register_operand (operands[3], E_V4DImode))
6023 : return -1;
6024 : return 1;
6025 :
6026 : default:
6027 : return -1;
6028 : }
6029 : }
6030 :
6031 : int
6032 556 : pattern1803 (rtx x1)
6033 : {
6034 556 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6035 556 : rtx x2, x3;
6036 556 : int res ATTRIBUTE_UNUSED;
6037 556 : if (GET_MODE (x1) != E_SImode
6038 556 : || !general_reg_operand (operands[4], E_SImode))
6039 0 : return -1;
6040 556 : x2 = XEXP (x1, 0);
6041 556 : if (!rtx_equal_p (x2, operands[2]))
6042 : return -1;
6043 556 : x3 = XEXP (x1, 1);
6044 556 : if (!rtx_equal_p (x3, operands[0]))
6045 : return -1;
6046 : return 0;
6047 : }
6048 :
6049 : int
6050 653 : pattern1811 (rtx x1)
6051 : {
6052 653 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6053 653 : rtx x2, x3, x4, x5, x6, x7;
6054 653 : int res ATTRIBUTE_UNUSED;
6055 653 : x2 = XEXP (x1, 1);
6056 653 : x3 = XEXP (x2, 0);
6057 653 : x4 = XEXP (x3, 1);
6058 653 : if (maybe_ne (SUBREG_BYTE (x4), 0)
6059 653 : || GET_MODE (x4) != E_QImode)
6060 : return -1;
6061 653 : x5 = XEXP (x4, 0);
6062 653 : switch (GET_CODE (x5))
6063 : {
6064 653 : case ASHIFTRT:
6065 653 : case LSHIFTRT:
6066 653 : case SIGN_EXTRACT:
6067 653 : case ZERO_EXTRACT:
6068 653 : operands[4] = x5;
6069 653 : x6 = XEXP (x5, 0);
6070 653 : operands[2] = x6;
6071 653 : if (!int248_register_operand (operands[2], E_VOIDmode))
6072 : return -1;
6073 632 : x7 = XEXP (x1, 0);
6074 632 : switch (GET_MODE (x7))
6075 : {
6076 549 : case E_HImode:
6077 549 : if (GET_MODE (x2) != E_HImode
6078 549 : || !extract_high_operator (operands[3], E_HImode)
6079 1098 : || !extract_high_operator (operands[4], E_HImode))
6080 0 : return -1;
6081 : return 0;
6082 :
6083 75 : case E_SImode:
6084 75 : if (GET_MODE (x2) != E_SImode
6085 75 : || !extract_high_operator (operands[3], E_SImode)
6086 150 : || !extract_high_operator (operands[4], E_SImode))
6087 0 : return -1;
6088 : return 1;
6089 :
6090 8 : case E_DImode:
6091 8 : if (GET_MODE (x2) != E_DImode
6092 8 : || !extract_high_operator (operands[3], E_DImode)
6093 16 : || !extract_high_operator (operands[4], E_DImode))
6094 0 : return -1;
6095 : return 2;
6096 :
6097 : default:
6098 : return -1;
6099 : }
6100 :
6101 : default:
6102 : return -1;
6103 : }
6104 : }
6105 :
6106 : int
6107 385 : pattern1834 ()
6108 : {
6109 385 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6110 385 : int res ATTRIBUTE_UNUSED;
6111 385 : if (!const_0_to_3_operand (operands[2], E_VOIDmode)
6112 385 : || !const_0_to_3_operand (operands[3], E_VOIDmode)
6113 385 : || !const_0_to_3_operand (operands[4], E_VOIDmode)
6114 385 : || !const_0_to_3_operand (operands[5], E_VOIDmode)
6115 385 : || !const_4_to_7_operand (operands[6], E_VOIDmode)
6116 385 : || !const_4_to_7_operand (operands[7], E_VOIDmode)
6117 385 : || !const_4_to_7_operand (operands[8], E_VOIDmode)
6118 770 : || !const_4_to_7_operand (operands[9], E_VOIDmode))
6119 0 : return -1;
6120 : return 0;
6121 : }
6122 :
6123 : int
6124 204 : pattern1841 (rtx x1, rtx_code i1)
6125 : {
6126 204 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6127 204 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6128 204 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
6129 204 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
6130 204 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
6131 204 : rtx x34, x35, x36, x37, x38, x39, x40, x41;
6132 204 : rtx x42, x43, x44, x45, x46, x47, x48, x49;
6133 204 : rtx x50, x51, x52, x53, x54, x55, x56, x57;
6134 204 : rtx x58, x59, x60, x61, x62, x63, x64, x65;
6135 204 : rtx x66, x67, x68, x69, x70, x71, x72, x73;
6136 204 : rtx x74, x75, x76, x77, x78, x79;
6137 204 : int res ATTRIBUTE_UNUSED;
6138 204 : x2 = XEXP (x1, 0);
6139 204 : x3 = XEXP (x2, 0);
6140 204 : x4 = XEXP (x3, 0);
6141 204 : x5 = XEXP (x4, 0);
6142 204 : if (GET_CODE (x5) != VEC_SELECT
6143 204 : || GET_MODE (x5) != E_SFmode)
6144 : return -1;
6145 204 : x6 = XEXP (x5, 1);
6146 204 : if (GET_CODE (x6) != PARALLEL
6147 204 : || XVECLEN (x6, 0) != 1)
6148 : return -1;
6149 204 : x7 = XVECEXP (x6, 0, 0);
6150 204 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6151 : return -1;
6152 204 : x8 = XEXP (x4, 1);
6153 204 : if (GET_CODE (x8) != VEC_SELECT
6154 204 : || GET_MODE (x8) != E_SFmode)
6155 : return -1;
6156 204 : x9 = XEXP (x8, 1);
6157 204 : if (GET_CODE (x9) != PARALLEL
6158 204 : || XVECLEN (x9, 0) != 1)
6159 : return -1;
6160 204 : x10 = XVECEXP (x9, 0, 0);
6161 204 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
6162 : return -1;
6163 204 : x11 = XEXP (x3, 1);
6164 204 : if (GET_CODE (x11) != i1)
6165 : return -1;
6166 204 : x12 = XEXP (x11, 0);
6167 204 : if (GET_CODE (x12) != VEC_SELECT
6168 204 : || GET_MODE (x12) != E_SFmode)
6169 : return -1;
6170 204 : x13 = XEXP (x12, 1);
6171 204 : if (GET_CODE (x13) != PARALLEL
6172 204 : || XVECLEN (x13, 0) != 1)
6173 : return -1;
6174 204 : x14 = XVECEXP (x13, 0, 0);
6175 204 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
6176 : return -1;
6177 204 : x15 = XEXP (x11, 1);
6178 204 : if (GET_CODE (x15) != VEC_SELECT
6179 204 : || GET_MODE (x15) != E_SFmode)
6180 : return -1;
6181 204 : x16 = XEXP (x15, 1);
6182 204 : if (GET_CODE (x16) != PARALLEL
6183 204 : || XVECLEN (x16, 0) != 1)
6184 : return -1;
6185 204 : x17 = XVECEXP (x16, 0, 0);
6186 204 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
6187 : return -1;
6188 204 : x18 = XEXP (x2, 1);
6189 204 : x19 = XEXP (x18, 0);
6190 204 : if (GET_CODE (x19) != i1)
6191 : return -1;
6192 204 : x20 = XEXP (x19, 0);
6193 204 : if (GET_CODE (x20) != VEC_SELECT
6194 204 : || GET_MODE (x20) != E_SFmode)
6195 : return -1;
6196 204 : x21 = XEXP (x20, 1);
6197 204 : if (GET_CODE (x21) != PARALLEL
6198 204 : || XVECLEN (x21, 0) != 1)
6199 : return -1;
6200 204 : x22 = XVECEXP (x21, 0, 0);
6201 204 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6202 : return -1;
6203 204 : x23 = XEXP (x19, 1);
6204 204 : if (GET_CODE (x23) != VEC_SELECT
6205 204 : || GET_MODE (x23) != E_SFmode)
6206 : return -1;
6207 204 : x24 = XEXP (x23, 1);
6208 204 : if (GET_CODE (x24) != PARALLEL
6209 204 : || XVECLEN (x24, 0) != 1)
6210 : return -1;
6211 204 : x25 = XVECEXP (x24, 0, 0);
6212 204 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
6213 : return -1;
6214 204 : x26 = XEXP (x18, 1);
6215 204 : if (GET_CODE (x26) != i1)
6216 : return -1;
6217 204 : x27 = XEXP (x26, 0);
6218 204 : if (GET_CODE (x27) != VEC_SELECT
6219 204 : || GET_MODE (x27) != E_SFmode)
6220 : return -1;
6221 204 : x28 = XEXP (x27, 1);
6222 204 : if (GET_CODE (x28) != PARALLEL
6223 204 : || XVECLEN (x28, 0) != 1)
6224 : return -1;
6225 204 : x29 = XVECEXP (x28, 0, 0);
6226 204 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
6227 : return -1;
6228 204 : x30 = XEXP (x26, 1);
6229 204 : if (GET_CODE (x30) != VEC_SELECT
6230 204 : || GET_MODE (x30) != E_SFmode)
6231 : return -1;
6232 204 : x31 = XEXP (x30, 1);
6233 204 : if (GET_CODE (x31) != PARALLEL
6234 204 : || XVECLEN (x31, 0) != 1)
6235 : return -1;
6236 204 : x32 = XVECEXP (x31, 0, 0);
6237 204 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
6238 : return -1;
6239 204 : x33 = XEXP (x1, 1);
6240 204 : x34 = XEXP (x33, 0);
6241 204 : x35 = XEXP (x34, 0);
6242 204 : if (GET_CODE (x35) != i1)
6243 : return -1;
6244 204 : x36 = XEXP (x35, 0);
6245 204 : if (GET_CODE (x36) != VEC_SELECT
6246 204 : || GET_MODE (x36) != E_SFmode)
6247 : return -1;
6248 204 : x37 = XEXP (x36, 1);
6249 204 : if (GET_CODE (x37) != PARALLEL
6250 204 : || XVECLEN (x37, 0) != 1)
6251 : return -1;
6252 204 : x38 = XVECEXP (x37, 0, 0);
6253 204 : if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
6254 : return -1;
6255 204 : x39 = XEXP (x35, 1);
6256 204 : if (GET_CODE (x39) != VEC_SELECT
6257 204 : || GET_MODE (x39) != E_SFmode)
6258 : return -1;
6259 204 : x40 = XEXP (x39, 1);
6260 204 : if (GET_CODE (x40) != PARALLEL
6261 204 : || XVECLEN (x40, 0) != 1)
6262 : return -1;
6263 204 : x41 = XVECEXP (x40, 0, 0);
6264 204 : if (x41 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
6265 : return -1;
6266 204 : x42 = XEXP (x34, 1);
6267 204 : if (GET_CODE (x42) != i1)
6268 : return -1;
6269 204 : x43 = XEXP (x42, 0);
6270 204 : if (GET_CODE (x43) != VEC_SELECT
6271 204 : || GET_MODE (x43) != E_SFmode)
6272 : return -1;
6273 204 : x44 = XEXP (x43, 1);
6274 204 : if (GET_CODE (x44) != PARALLEL
6275 204 : || XVECLEN (x44, 0) != 1)
6276 : return -1;
6277 204 : x45 = XVECEXP (x44, 0, 0);
6278 204 : if (x45 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
6279 : return -1;
6280 204 : x46 = XEXP (x42, 1);
6281 204 : if (GET_CODE (x46) != VEC_SELECT
6282 204 : || GET_MODE (x46) != E_SFmode)
6283 : return -1;
6284 204 : x47 = XEXP (x46, 1);
6285 204 : if (GET_CODE (x47) != PARALLEL
6286 204 : || XVECLEN (x47, 0) != 1)
6287 : return -1;
6288 204 : x48 = XVECEXP (x47, 0, 0);
6289 204 : if (x48 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
6290 : return -1;
6291 204 : x49 = XEXP (x33, 1);
6292 204 : x50 = XEXP (x49, 0);
6293 204 : if (GET_CODE (x50) != i1)
6294 : return -1;
6295 204 : x51 = XEXP (x50, 0);
6296 204 : if (GET_CODE (x51) != VEC_SELECT
6297 204 : || GET_MODE (x51) != E_SFmode)
6298 : return -1;
6299 204 : x52 = XEXP (x51, 1);
6300 204 : if (GET_CODE (x52) != PARALLEL
6301 204 : || XVECLEN (x52, 0) != 1)
6302 : return -1;
6303 204 : x53 = XVECEXP (x52, 0, 0);
6304 204 : if (x53 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
6305 : return -1;
6306 204 : x54 = XEXP (x50, 1);
6307 204 : if (GET_CODE (x54) != VEC_SELECT
6308 204 : || GET_MODE (x54) != E_SFmode)
6309 : return -1;
6310 204 : x55 = XEXP (x54, 1);
6311 204 : if (GET_CODE (x55) != PARALLEL
6312 204 : || XVECLEN (x55, 0) != 1)
6313 : return -1;
6314 204 : x56 = XVECEXP (x55, 0, 0);
6315 204 : if (x56 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
6316 : return -1;
6317 204 : x57 = XEXP (x49, 1);
6318 204 : if (GET_CODE (x57) != i1)
6319 : return -1;
6320 204 : x58 = XEXP (x57, 0);
6321 204 : if (GET_CODE (x58) != VEC_SELECT
6322 204 : || GET_MODE (x58) != E_SFmode)
6323 : return -1;
6324 204 : x59 = XEXP (x58, 1);
6325 204 : if (GET_CODE (x59) != PARALLEL
6326 204 : || XVECLEN (x59, 0) != 1)
6327 : return -1;
6328 204 : x60 = XVECEXP (x59, 0, 0);
6329 204 : if (x60 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
6330 : return -1;
6331 204 : x61 = XEXP (x57, 1);
6332 204 : if (GET_CODE (x61) != VEC_SELECT
6333 204 : || GET_MODE (x61) != E_SFmode)
6334 : return -1;
6335 204 : x62 = XEXP (x61, 1);
6336 204 : if (GET_CODE (x62) != PARALLEL
6337 204 : || XVECLEN (x62, 0) != 1)
6338 : return -1;
6339 204 : x63 = XVECEXP (x62, 0, 0);
6340 204 : if (x63 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
6341 : return -1;
6342 204 : x64 = XEXP (x5, 0);
6343 204 : operands[1] = x64;
6344 204 : if (!register_operand (operands[1], E_V8SFmode))
6345 : return -1;
6346 180 : x65 = XEXP (x20, 0);
6347 180 : operands[2] = x65;
6348 180 : if (!nonimmediate_operand (operands[2], E_V8SFmode))
6349 : return -1;
6350 156 : x66 = XEXP (x8, 0);
6351 156 : if (!rtx_equal_p (x66, operands[1]))
6352 : return -1;
6353 156 : x67 = XEXP (x12, 0);
6354 156 : if (!rtx_equal_p (x67, operands[1]))
6355 : return -1;
6356 156 : x68 = XEXP (x15, 0);
6357 156 : if (!rtx_equal_p (x68, operands[1]))
6358 : return -1;
6359 156 : x69 = XEXP (x23, 0);
6360 156 : if (!rtx_equal_p (x69, operands[2]))
6361 : return -1;
6362 156 : x70 = XEXP (x27, 0);
6363 156 : if (!rtx_equal_p (x70, operands[2]))
6364 : return -1;
6365 156 : x71 = XEXP (x30, 0);
6366 156 : if (!rtx_equal_p (x71, operands[2]))
6367 : return -1;
6368 156 : x72 = XEXP (x36, 0);
6369 156 : if (!rtx_equal_p (x72, operands[1]))
6370 : return -1;
6371 156 : x73 = XEXP (x39, 0);
6372 156 : if (!rtx_equal_p (x73, operands[1]))
6373 : return -1;
6374 156 : x74 = XEXP (x43, 0);
6375 156 : if (!rtx_equal_p (x74, operands[1]))
6376 : return -1;
6377 156 : x75 = XEXP (x46, 0);
6378 156 : if (!rtx_equal_p (x75, operands[1]))
6379 : return -1;
6380 156 : x76 = XEXP (x51, 0);
6381 156 : if (!rtx_equal_p (x76, operands[2]))
6382 : return -1;
6383 156 : x77 = XEXP (x54, 0);
6384 156 : if (!rtx_equal_p (x77, operands[2]))
6385 : return -1;
6386 156 : x78 = XEXP (x58, 0);
6387 156 : if (!rtx_equal_p (x78, operands[2]))
6388 : return -1;
6389 156 : x79 = XEXP (x61, 0);
6390 156 : if (!rtx_equal_p (x79, operands[2]))
6391 : return -1;
6392 : return 0;
6393 : }
6394 :
6395 : int
6396 164 : recog_10 (rtx x1 ATTRIBUTE_UNUSED,
6397 : rtx_insn *insn ATTRIBUTE_UNUSED,
6398 : int *pnum_clobbers ATTRIBUTE_UNUSED)
6399 : {
6400 164 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6401 164 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6402 164 : rtx x10, x11;
6403 164 : int res ATTRIBUTE_UNUSED;
6404 164 : x2 = XEXP (x1, 1);
6405 164 : if (GET_MODE (x2) != E_CCFPmode)
6406 : return -1;
6407 164 : x3 = XVECEXP (x2, 0, 0);
6408 164 : if (GET_CODE (x3) != VEC_SELECT)
6409 : return -1;
6410 164 : x4 = XEXP (x3, 1);
6411 164 : if (GET_CODE (x4) != PARALLEL
6412 164 : || XVECLEN (x4, 0) != 1)
6413 : return -1;
6414 164 : x5 = XVECEXP (x4, 0, 0);
6415 164 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6416 : return -1;
6417 164 : x6 = XVECEXP (x2, 0, 1);
6418 164 : if (GET_CODE (x6) != VEC_SELECT)
6419 : return -1;
6420 164 : x7 = XEXP (x6, 1);
6421 164 : if (GET_CODE (x7) != PARALLEL
6422 164 : || XVECLEN (x7, 0) != 1)
6423 : return -1;
6424 164 : x8 = XVECEXP (x7, 0, 0);
6425 164 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6426 : return -1;
6427 164 : x9 = XEXP (x1, 0);
6428 164 : if (GET_CODE (x9) != REG
6429 164 : || REGNO (x9) != 17
6430 328 : || GET_MODE (x9) != E_CCFPmode)
6431 : return -1;
6432 164 : x10 = XEXP (x3, 0);
6433 164 : operands[0] = x10;
6434 164 : x11 = XEXP (x6, 0);
6435 164 : operands[1] = x11;
6436 164 : switch (GET_MODE (x3))
6437 : {
6438 0 : case E_HFmode:
6439 0 : if (!register_operand (operands[0], E_V8HFmode)
6440 0 : || GET_MODE (x6) != E_HFmode
6441 0 : || !nonimmediate_operand (operands[1], E_V8HFmode)
6442 0 : || !(
6443 : #line 5245 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6444 : (TARGET_AVX10_2) &&
6445 : #line 1359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6446 : (TARGET_AVX512FP16)))
6447 : return -1;
6448 : return 3736; /* avx10_2_comxhf */
6449 :
6450 : case E_SFmode:
6451 : if (!register_operand (operands[0], E_V4SFmode)
6452 : || GET_MODE (x6) != E_SFmode
6453 : || !nonimmediate_operand (operands[1], E_V4SFmode)
6454 : || !
6455 : #line 5245 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6456 : (TARGET_AVX10_2))
6457 : return -1;
6458 : return 3740; /* avx10_2_comxsf */
6459 :
6460 : case E_DFmode:
6461 : if (!register_operand (operands[0], E_V2DFmode)
6462 : || GET_MODE (x6) != E_DFmode
6463 : || !nonimmediate_operand (operands[1], E_V2DFmode)
6464 : || !
6465 : #line 5245 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6466 : (TARGET_AVX10_2))
6467 : return -1;
6468 : return 3744; /* avx10_2_comxdf */
6469 :
6470 : default:
6471 : return -1;
6472 : }
6473 : }
6474 :
6475 : int
6476 : recog_11 (rtx x1 ATTRIBUTE_UNUSED,
6477 : rtx_insn *insn ATTRIBUTE_UNUSED,
6478 : int *pnum_clobbers ATTRIBUTE_UNUSED)
6479 : {
6480 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6481 : rtx x2, x3, x4;
6482 : int res ATTRIBUTE_UNUSED;
6483 : switch (pattern74 (x1))
6484 : {
6485 : case 0:
6486 : x2 = XEXP (x1, 1);
6487 : x3 = XVECEXP (x2, 0, 2);
6488 : operands[3] = x3;
6489 : x4 = XVECEXP (x2, 0, 1);
6490 : operands[2] = x4;
6491 : switch (pattern969 (x2))
6492 : {
6493 : case 0:
6494 : switch (GET_MODE (operands[1]))
6495 : {
6496 : case E_HFmode:
6497 : if (register_operand (operands[1], E_HFmode)
6498 : && nonimmediate_operand (operands[2], E_HFmode)
6499 : && const_0_to_31_operand (operands[3], E_SImode)
6500 : &&
6501 : #line 20641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6502 : (TARGET_AVX512FP16))
6503 : return 1481; /* setcc_hf_mask */
6504 : break;
6505 :
6506 : case E_V8HFmode:
6507 : if (register_operand (operands[1], E_V8HFmode)
6508 : && nonimmediate_operand (operands[2], E_V8HFmode)
6509 : && const_0_to_31_operand (operands[3], E_SImode)
6510 : && (
6511 : #line 4668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6512 : (TARGET_AVX512F && 1) &&
6513 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6514 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
6515 : return 3328; /* avx512fp16_cmpv8hf3 */
6516 : break;
6517 :
6518 : case E_V8SFmode:
6519 : if (register_operand (operands[1], E_V8SFmode)
6520 : && nonimmediate_operand (operands[2], E_V8SFmode)
6521 : && const_0_to_31_operand (operands[3], E_SImode)
6522 : && (
6523 : #line 4668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6524 : (TARGET_AVX512F && 1) &&
6525 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6526 : (TARGET_AVX512VL)))
6527 : return 3334; /* avx512vl_cmpv8sf3 */
6528 : break;
6529 :
6530 : case E_V4SFmode:
6531 : if (register_operand (operands[1], E_V4SFmode)
6532 : && nonimmediate_operand (operands[2], E_V4SFmode)
6533 : && const_0_to_31_operand (operands[3], E_SImode)
6534 : && (
6535 : #line 4668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6536 : (TARGET_AVX512F && 1) &&
6537 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6538 : (TARGET_AVX512VL)))
6539 : return 3336; /* avx512vl_cmpv4sf3 */
6540 : break;
6541 :
6542 : case E_V8DFmode:
6543 : if (register_operand (operands[1], E_V8DFmode)
6544 : && nonimmediate_operand (operands[2], E_V8DFmode)
6545 : && const_0_to_31_operand (operands[3], E_SImode)
6546 : &&
6547 : #line 4668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6548 : (TARGET_AVX512F && 1))
6549 : return 3338; /* avx512f_cmpv8df3 */
6550 : break;
6551 :
6552 : case E_V4DFmode:
6553 : if (register_operand (operands[1], E_V4DFmode)
6554 : && nonimmediate_operand (operands[2], E_V4DFmode)
6555 : && const_0_to_31_operand (operands[3], E_SImode)
6556 : && (
6557 : #line 4668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6558 : (TARGET_AVX512F && 1) &&
6559 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6560 : (TARGET_AVX512VL)))
6561 : return 3342; /* avx512vl_cmpv4df3 */
6562 : break;
6563 :
6564 : case E_V2DFmode:
6565 : if (register_operand (operands[1], E_V2DFmode)
6566 : && nonimmediate_operand (operands[2], E_V2DFmode)
6567 : && const_0_to_31_operand (operands[3], E_SImode)
6568 : && (
6569 : #line 4668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6570 : (TARGET_AVX512F && 1) &&
6571 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6572 : (TARGET_AVX512VL)))
6573 : return 3344; /* avx512vl_cmpv2df3 */
6574 : break;
6575 :
6576 : case E_V8HImode:
6577 : if (const_0_to_7_operand (operands[3], E_SImode))
6578 : {
6579 : if (register_operand (operands[1], E_V8HImode)
6580 : && nonimmediate_operand (operands[2], E_V8HImode)
6581 : && (
6582 : #line 4863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6583 : (TARGET_AVX512F) &&
6584 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6585 : (TARGET_AVX512VL && TARGET_AVX512BW)))
6586 : return 3476; /* avx512vl_cmpv8hi3 */
6587 : if (general_operand (operands[1], E_V8HImode)
6588 : && general_operand (operands[2], E_V8HImode)
6589 : && (
6590 : #line 4955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6591 : (TARGET_AVX512F && ix86_pre_reload_split ()
6592 : && rtx_equal_p (operands[1], operands[2])
6593 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
6594 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6595 : (TARGET_AVX512VL && TARGET_AVX512BW)))
6596 : return 3548; /* *avx512vl_cmpv8hi3_dup_op */
6597 : }
6598 : break;
6599 :
6600 : case E_V8SImode:
6601 : if (const_0_to_7_operand (operands[3], E_SImode))
6602 : {
6603 : if (register_operand (operands[1], E_V8SImode)
6604 : && nonimmediate_operand (operands[2], E_V8SImode)
6605 : && (
6606 : #line 4863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6607 : (TARGET_AVX512F) &&
6608 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6609 : (TARGET_AVX512VL)))
6610 : return 3480; /* avx512vl_cmpv8si3 */
6611 : if (general_operand (operands[1], E_V8SImode)
6612 : && general_operand (operands[2], E_V8SImode)
6613 : && (
6614 : #line 4955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6615 : (TARGET_AVX512F && ix86_pre_reload_split ()
6616 : && rtx_equal_p (operands[1], operands[2])
6617 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
6618 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6619 : (TARGET_AVX512VL)))
6620 : return 3552; /* *avx512vl_cmpv8si3_dup_op */
6621 : }
6622 : break;
6623 :
6624 : case E_V4SImode:
6625 : if (const_0_to_7_operand (operands[3], E_SImode))
6626 : {
6627 : if (register_operand (operands[1], E_V4SImode)
6628 : && nonimmediate_operand (operands[2], E_V4SImode)
6629 : && (
6630 : #line 4863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6631 : (TARGET_AVX512F) &&
6632 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6633 : (TARGET_AVX512VL)))
6634 : return 3482; /* avx512vl_cmpv4si3 */
6635 : if (general_operand (operands[1], E_V4SImode)
6636 : && general_operand (operands[2], E_V4SImode)
6637 : && (
6638 : #line 4955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6639 : (TARGET_AVX512F && ix86_pre_reload_split ()
6640 : && rtx_equal_p (operands[1], operands[2])
6641 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
6642 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6643 : (TARGET_AVX512VL)))
6644 : return 3554; /* *avx512vl_cmpv4si3_dup_op */
6645 : }
6646 : break;
6647 :
6648 : case E_V8DImode:
6649 : if (const_0_to_7_operand (operands[3], E_SImode))
6650 : {
6651 : if (register_operand (operands[1], E_V8DImode)
6652 : && nonimmediate_operand (operands[2], E_V8DImode)
6653 : &&
6654 : #line 4863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6655 : (TARGET_AVX512F))
6656 : return 3484; /* avx512f_cmpv8di3 */
6657 : if (general_operand (operands[1], E_V8DImode)
6658 : && general_operand (operands[2], E_V8DImode)
6659 : &&
6660 : #line 4955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6661 : (TARGET_AVX512F && ix86_pre_reload_split ()
6662 : && rtx_equal_p (operands[1], operands[2])
6663 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))))
6664 : return 3556; /* *avx512f_cmpv8di3_dup_op */
6665 : }
6666 : break;
6667 :
6668 : case E_V4DImode:
6669 : if (const_0_to_7_operand (operands[3], E_SImode))
6670 : {
6671 : if (register_operand (operands[1], E_V4DImode)
6672 : && nonimmediate_operand (operands[2], E_V4DImode)
6673 : && (
6674 : #line 4863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6675 : (TARGET_AVX512F) &&
6676 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6677 : (TARGET_AVX512VL)))
6678 : return 3486; /* avx512vl_cmpv4di3 */
6679 : if (general_operand (operands[1], E_V4DImode)
6680 : && general_operand (operands[2], E_V4DImode)
6681 : && (
6682 : #line 4955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6683 : (TARGET_AVX512F && ix86_pre_reload_split ()
6684 : && rtx_equal_p (operands[1], operands[2])
6685 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
6686 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6687 : (TARGET_AVX512VL)))
6688 : return 3558; /* *avx512vl_cmpv4di3_dup_op */
6689 : }
6690 : break;
6691 :
6692 : case E_V2DImode:
6693 : if (const_0_to_7_operand (operands[3], E_SImode))
6694 : {
6695 : if (register_operand (operands[1], E_V2DImode)
6696 : && nonimmediate_operand (operands[2], E_V2DImode)
6697 : && (
6698 : #line 4863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6699 : (TARGET_AVX512F) &&
6700 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6701 : (TARGET_AVX512VL)))
6702 : return 3488; /* avx512vl_cmpv2di3 */
6703 : if (general_operand (operands[1], E_V2DImode)
6704 : && general_operand (operands[2], E_V2DImode)
6705 : && (
6706 : #line 4955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6707 : (TARGET_AVX512F && ix86_pre_reload_split ()
6708 : && rtx_equal_p (operands[1], operands[2])
6709 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
6710 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6711 : (TARGET_AVX512VL)))
6712 : return 3560; /* *avx512vl_cmpv2di3_dup_op */
6713 : }
6714 : break;
6715 :
6716 : case E_V8BFmode:
6717 : if (register_operand (operands[1], E_V8BFmode)
6718 : && nonimmediate_operand (operands[2], E_V8BFmode)
6719 : && const_0_to_31_operand (operands[3], E_VOIDmode)
6720 : &&
6721 : #line 33445 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6722 : (TARGET_AVX10_2))
6723 : return 10822; /* avx10_2_cmpbf16_v8bf */
6724 : break;
6725 :
6726 : default:
6727 : break;
6728 : }
6729 : break;
6730 :
6731 : case 1:
6732 : switch (GET_MODE (operands[1]))
6733 : {
6734 : case E_V16HFmode:
6735 : if (register_operand (operands[1], E_V16HFmode)
6736 : && nonimmediate_operand (operands[2], E_V16HFmode)
6737 : && const_0_to_31_operand (operands[3], E_SImode)
6738 : && (
6739 : #line 4668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6740 : (TARGET_AVX512F && 1) &&
6741 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6742 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
6743 : return 3326; /* avx512vl_cmpv16hf3 */
6744 : break;
6745 :
6746 : case E_V16SFmode:
6747 : if (register_operand (operands[1], E_V16SFmode)
6748 : && nonimmediate_operand (operands[2], E_V16SFmode)
6749 : && const_0_to_31_operand (operands[3], E_SImode)
6750 : &&
6751 : #line 4668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6752 : (TARGET_AVX512F && 1))
6753 : return 3330; /* avx512f_cmpv16sf3 */
6754 : break;
6755 :
6756 : case E_V16QImode:
6757 : if (const_0_to_7_operand (operands[3], E_SImode))
6758 : {
6759 : if (register_operand (operands[1], E_V16QImode)
6760 : && nonimmediate_operand (operands[2], E_V16QImode)
6761 : && (
6762 : #line 4863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6763 : (TARGET_AVX512F) &&
6764 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6765 : (TARGET_AVX512VL && TARGET_AVX512BW)))
6766 : return 3470; /* avx512vl_cmpv16qi3 */
6767 : if (general_operand (operands[1], E_V16QImode)
6768 : && general_operand (operands[2], E_V16QImode)
6769 : && (
6770 : #line 4955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6771 : (TARGET_AVX512F && ix86_pre_reload_split ()
6772 : && rtx_equal_p (operands[1], operands[2])
6773 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
6774 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6775 : (TARGET_AVX512VL && TARGET_AVX512BW)))
6776 : return 3542; /* *avx512vl_cmpv16qi3_dup_op */
6777 : }
6778 : break;
6779 :
6780 : case E_V16HImode:
6781 : if (const_0_to_7_operand (operands[3], E_SImode))
6782 : {
6783 : if (register_operand (operands[1], E_V16HImode)
6784 : && nonimmediate_operand (operands[2], E_V16HImode)
6785 : && (
6786 : #line 4863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6787 : (TARGET_AVX512F) &&
6788 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6789 : (TARGET_AVX512VL && TARGET_AVX512BW)))
6790 : return 3474; /* avx512vl_cmpv16hi3 */
6791 : if (general_operand (operands[1], E_V16HImode)
6792 : && general_operand (operands[2], E_V16HImode)
6793 : && (
6794 : #line 4955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6795 : (TARGET_AVX512F && ix86_pre_reload_split ()
6796 : && rtx_equal_p (operands[1], operands[2])
6797 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
6798 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6799 : (TARGET_AVX512VL && TARGET_AVX512BW)))
6800 : return 3546; /* *avx512vl_cmpv16hi3_dup_op */
6801 : }
6802 : break;
6803 :
6804 : case E_V16SImode:
6805 : if (const_0_to_7_operand (operands[3], E_SImode))
6806 : {
6807 : if (register_operand (operands[1], E_V16SImode)
6808 : && nonimmediate_operand (operands[2], E_V16SImode)
6809 : &&
6810 : #line 4863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6811 : (TARGET_AVX512F))
6812 : return 3478; /* avx512f_cmpv16si3 */
6813 : if (general_operand (operands[1], E_V16SImode)
6814 : && general_operand (operands[2], E_V16SImode)
6815 : &&
6816 : #line 4955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6817 : (TARGET_AVX512F && ix86_pre_reload_split ()
6818 : && rtx_equal_p (operands[1], operands[2])
6819 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))))
6820 : return 3550; /* *avx512f_cmpv16si3_dup_op */
6821 : }
6822 : break;
6823 :
6824 : case E_V16BFmode:
6825 : if (register_operand (operands[1], E_V16BFmode)
6826 : && nonimmediate_operand (operands[2], E_V16BFmode)
6827 : && const_0_to_31_operand (operands[3], E_VOIDmode)
6828 : &&
6829 : #line 33445 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6830 : (TARGET_AVX10_2))
6831 : return 10820; /* avx10_2_cmpbf16_v16bf */
6832 : break;
6833 :
6834 : default:
6835 : break;
6836 : }
6837 : break;
6838 :
6839 : default:
6840 : break;
6841 : }
6842 : if (XWINT (x3, 0) != 0L)
6843 : return -1;
6844 : operands[2] = x4;
6845 : switch (pattern970 (x2))
6846 : {
6847 : case 0:
6848 : if (!(
6849 : #line 4983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6850 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6851 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6852 : (TARGET_AVX512VL)))
6853 : return -1;
6854 : return 3566; /* *avx512vl_eqv16qi3_1 */
6855 :
6856 : case 1:
6857 : if (!(
6858 : #line 4983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6859 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6860 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6861 : (TARGET_AVX512VL)))
6862 : return -1;
6863 : return 3578; /* *avx512vl_eqv16hi3_1 */
6864 :
6865 : case 2:
6866 : if (!
6867 : #line 5059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6868 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
6869 : return -1;
6870 : return 3622; /* *avx512f_eqv16si3_1 */
6871 :
6872 : case 3:
6873 : if (!(
6874 : #line 4983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6875 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6876 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6877 : (TARGET_AVX512VL)))
6878 : return -1;
6879 : return 3582; /* *avx512vl_eqv8hi3_1 */
6880 :
6881 : case 4:
6882 : if (!(
6883 : #line 5059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6884 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6885 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6886 : (TARGET_AVX512VL)))
6887 : return -1;
6888 : return 3626; /* *avx512vl_eqv8si3_1 */
6889 :
6890 : case 5:
6891 : if (!(
6892 : #line 5059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6893 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6894 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6895 : (TARGET_AVX512VL)))
6896 : return -1;
6897 : return 3630; /* *avx512vl_eqv4si3_1 */
6898 :
6899 : case 6:
6900 : if (!
6901 : #line 5059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6902 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
6903 : return -1;
6904 : return 3634; /* *avx512f_eqv8di3_1 */
6905 :
6906 : case 7:
6907 : if (!(
6908 : #line 5059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6909 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6910 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6911 : (TARGET_AVX512VL)))
6912 : return -1;
6913 : return 3638; /* *avx512vl_eqv4di3_1 */
6914 :
6915 : case 8:
6916 : if (!(
6917 : #line 5059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6918 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6919 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6920 : (TARGET_AVX512VL)))
6921 : return -1;
6922 : return 3642; /* *avx512vl_eqv2di3_1 */
6923 :
6924 : default:
6925 : return -1;
6926 : }
6927 :
6928 : case 1:
6929 : if (!(
6930 : #line 5180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6931 : (TARGET_AVX512BW && ix86_pre_reload_split ()
6932 : && ix86_binary_operator_ok (US_MINUS, V16QImode, operands)
6933 : && (INTVAL (operands[4]) & 3) == 0) &&
6934 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6935 : (TARGET_AVX512VL)))
6936 : return -1;
6937 : return 3714; /* *avx512vl_ucmpv16qi3_1 */
6938 :
6939 : case 2:
6940 : if (!(
6941 : #line 5180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6942 : (TARGET_AVX512BW && ix86_pre_reload_split ()
6943 : && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)
6944 : && (INTVAL (operands[4]) & 3) == 0) &&
6945 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6946 : (TARGET_AVX512VL)))
6947 : return -1;
6948 : return 3720; /* *avx512vl_ucmpv16hi3_1 */
6949 :
6950 : case 3:
6951 : if (!(
6952 : #line 5180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6953 : (TARGET_AVX512BW && ix86_pre_reload_split ()
6954 : && ix86_binary_operator_ok (US_MINUS, V8HImode, operands)
6955 : && (INTVAL (operands[4]) & 3) == 0) &&
6956 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6957 : (TARGET_AVX512VL)))
6958 : return -1;
6959 : return 3722; /* *avx512vl_ucmpv8hi3_1 */
6960 :
6961 : default:
6962 : return -1;
6963 : }
6964 : }
6965 :
6966 : int
6967 : recog_27 (rtx x1 ATTRIBUTE_UNUSED,
6968 : rtx_insn *insn ATTRIBUTE_UNUSED,
6969 : int *pnum_clobbers ATTRIBUTE_UNUSED)
6970 : {
6971 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6972 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6973 : int res ATTRIBUTE_UNUSED;
6974 : x2 = XEXP (x1, 1);
6975 : x3 = XEXP (x2, 0);
6976 : switch (GET_CODE (x3))
6977 : {
6978 : case AND:
6979 : x4 = XEXP (x1, 0);
6980 : operands[0] = x4;
6981 : x5 = XEXP (x3, 1);
6982 : operands[3] = x5;
6983 : x6 = XEXP (x3, 0);
6984 : switch (GET_CODE (x6))
6985 : {
6986 : case REG:
6987 : case SUBREG:
6988 : case MEM:
6989 : operands[1] = x6;
6990 : switch (pattern75 (x2))
6991 : {
6992 : case 0:
6993 : if (!
6994 : #line 3742 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6995 : (TARGET_64BIT
6996 : && CONST_WIDE_INT_P (operands[3])
6997 : && CONST_WIDE_INT_NUNITS (operands[3]) == 2
6998 : && CONST_WIDE_INT_ELT (operands[3], 0) == -1
6999 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0))
7000 : return -1;
7001 : return 149; /* *insvti_highpart_1 */
7002 :
7003 : case 1:
7004 : if (!
7005 : #line 3764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7006 : (TARGET_64BIT
7007 : && CONST_WIDE_INT_P (operands[3])
7008 : && CONST_WIDE_INT_NUNITS (operands[3]) == 2
7009 : && CONST_WIDE_INT_ELT (operands[3], 0) == 0
7010 : && CONST_WIDE_INT_ELT (operands[3], 1) == -1))
7011 : return -1;
7012 : return 152; /* *insvti_lowpart_1 */
7013 :
7014 : case 2:
7015 : if (!
7016 : #line 3786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7017 : (!TARGET_64BIT
7018 : && CONST_INT_P (operands[3])
7019 : && UINTVAL (operands[3]) == 0xffffffff00000000ll))
7020 : return -1;
7021 : return 155; /* *insvdi_lowpart_1 */
7022 :
7023 : default:
7024 : return -1;
7025 : }
7026 :
7027 : case XOR:
7028 : if (pnum_clobbers == NULL
7029 : || GET_MODE (x6) != E_HImode
7030 : || !register_operand (operands[0], E_HImode)
7031 : || GET_MODE (x2) != E_HImode
7032 : || GET_MODE (x3) != E_HImode)
7033 : return -1;
7034 : x7 = XEXP (x6, 0);
7035 : operands[1] = x7;
7036 : if (!nonimmediate_operand (operands[1], E_HImode))
7037 : return -1;
7038 : x8 = XEXP (x6, 1);
7039 : operands[2] = x8;
7040 : if (!nonimmediate_operand (operands[2], E_HImode)
7041 : || !nonimmediate_operand (operands[3], E_HImode))
7042 : return -1;
7043 : x9 = XEXP (x2, 1);
7044 : if (!rtx_equal_p (x9, operands[1])
7045 : || !
7046 : #line 14479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7047 : (TARGET_BMI && ix86_pre_reload_split ()))
7048 : return -1;
7049 : *pnum_clobbers = 1;
7050 : return 868; /* *xor2andn */
7051 :
7052 : default:
7053 : return -1;
7054 : }
7055 :
7056 : case ASHIFT:
7057 : x4 = XEXP (x1, 0);
7058 : operands[0] = x4;
7059 : x5 = XEXP (x3, 1);
7060 : operands[2] = x5;
7061 : x6 = XEXP (x3, 0);
7062 : switch (GET_CODE (x6))
7063 : {
7064 : case REG:
7065 : case SUBREG:
7066 : operands[1] = x6;
7067 : switch (pattern619 (x2))
7068 : {
7069 : case 0:
7070 : if (!
7071 : #line 8210 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7072 : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
7073 : && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
7074 : < (HOST_WIDE_INT_1U << INTVAL (operands[2])))))
7075 : return -1;
7076 : return 377; /* *leaqi_general_4 */
7077 :
7078 : case 1:
7079 : if (!
7080 : #line 8210 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7081 : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
7082 : && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
7083 : < (HOST_WIDE_INT_1U << INTVAL (operands[2])))))
7084 : return -1;
7085 : return 379; /* *leahi_general_4 */
7086 :
7087 : case 2:
7088 : if (!(
7089 : #line 14992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7090 : (INTVAL (operands[2]) == 16 * BITS_PER_UNIT / 2
7091 : && (TImode == DImode
7092 : ? CONST_INT_P (operands[3])
7093 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
7094 : : CONST_INT_P (operands[3])
7095 : ? INTVAL (operands[3]) >= 0
7096 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
7097 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
7098 : && !(CONST_INT_P (operands[3])
7099 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
7100 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
7101 : 0)),
7102 : VOIDmode))) &&
7103 : #line 1200 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7104 : (TARGET_64BIT)))
7105 : return -1;
7106 : return 965; /* *concatditi3_5 */
7107 :
7108 : case 3:
7109 : if (!(
7110 : #line 14915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7111 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
7112 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7113 : (TARGET_64BIT)))
7114 : return -1;
7115 : return 929; /* *concatditi3_1 */
7116 :
7117 : default:
7118 : return -1;
7119 : }
7120 :
7121 : case SIGN_EXTEND:
7122 : switch (pattern429 (x2))
7123 : {
7124 : case 0:
7125 : if (!(
7126 : #line 14951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7127 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
7128 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7129 : (TARGET_64BIT)))
7130 : return -1;
7131 : return 944; /* *concatditi3_3 */
7132 :
7133 : case 1:
7134 : if (!(
7135 : #line 15024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7136 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
7137 : && (TImode == DImode
7138 : ? CONST_INT_P (operands[3])
7139 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
7140 : : CONST_INT_P (operands[3])
7141 : ? INTVAL (operands[3]) >= 0
7142 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
7143 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
7144 : && !(CONST_INT_P (operands[3])
7145 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
7146 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
7147 : 0)),
7148 : VOIDmode))) &&
7149 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7150 : (TARGET_64BIT)))
7151 : return -1;
7152 : return 974; /* *concatditi3_6 */
7153 :
7154 : default:
7155 : return -1;
7156 : }
7157 :
7158 : case ZERO_EXTEND:
7159 : switch (pattern429 (x2))
7160 : {
7161 : case 0:
7162 : if (!(
7163 : #line 14951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7164 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
7165 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7166 : (TARGET_64BIT)))
7167 : return -1;
7168 : return 947; /* *concatditi3_3 */
7169 :
7170 : case 1:
7171 : if (!(
7172 : #line 15024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7173 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
7174 : && (TImode == DImode
7175 : ? CONST_INT_P (operands[3])
7176 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
7177 : : CONST_INT_P (operands[3])
7178 : ? INTVAL (operands[3]) >= 0
7179 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
7180 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
7181 : && !(CONST_INT_P (operands[3])
7182 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
7183 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
7184 : 0)),
7185 : VOIDmode))) &&
7186 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7187 : (TARGET_64BIT)))
7188 : return -1;
7189 : return 977; /* *concatditi3_6 */
7190 :
7191 : default:
7192 : return -1;
7193 : }
7194 :
7195 : default:
7196 : return -1;
7197 : }
7198 :
7199 : case REG:
7200 : case SUBREG:
7201 : case MEM:
7202 : operands[1] = x3;
7203 : switch (pattern82 (x1, pnum_clobbers))
7204 : {
7205 : case 0:
7206 : if (
7207 : #line 13524 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7208 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7209 : {
7210 : *pnum_clobbers = 1;
7211 : return 755; /* *xorqi_1_slp */
7212 : }
7213 : break;
7214 :
7215 : case 1:
7216 : if (
7217 : #line 13524 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7218 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7219 : {
7220 : *pnum_clobbers = 1;
7221 : return 758; /* *xorhi_1_slp */
7222 : }
7223 : break;
7224 :
7225 : case 2:
7226 : if ((
7227 : #line 14307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7228 : (ix86_binary_operator_ok (XOR, TImode, operands, TARGET_APX_NDD)) &&
7229 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7230 : (TARGET_64BIT)))
7231 : {
7232 : *pnum_clobbers = 1;
7233 : return 850; /* *xorti3_doubleword */
7234 : }
7235 : break;
7236 :
7237 : case 3:
7238 : if (
7239 : #line 14369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7240 : (ix86_binary_operator_ok (XOR, HImode, operands, TARGET_APX_NDD)
7241 : && TARGET_APX_NF))
7242 : return 853; /* *xorhi_1_nf */
7243 : if (pnum_clobbers != NULL
7244 : &&
7245 : #line 14369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7246 : (ix86_binary_operator_ok (XOR, HImode, operands, TARGET_APX_NDD)
7247 : && true))
7248 : {
7249 : *pnum_clobbers = 1;
7250 : return 854; /* *xorhi_1 */
7251 : }
7252 : break;
7253 :
7254 : case 4:
7255 : if (
7256 : #line 1383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7257 : (TARGET_MMX_WITH_SSE))
7258 : return 2127; /* xorv2sf3 */
7259 : break;
7260 :
7261 : case 5:
7262 : if (
7263 : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7264 : (TARGET_SSE))
7265 : return 2161; /* xorv2bf3 */
7266 : break;
7267 :
7268 : case 6:
7269 : if ((
7270 : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7271 : (TARGET_SSE) &&
7272 : #line 2251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7273 : (TARGET_MMX_WITH_SSE)))
7274 : return 2164; /* xorv4bf3 */
7275 : break;
7276 :
7277 : case 7:
7278 : if (
7279 : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7280 : (TARGET_SSE))
7281 : return 2167; /* xorv2hf3 */
7282 : break;
7283 :
7284 : case 8:
7285 : if ((
7286 : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7287 : (TARGET_SSE) &&
7288 : #line 2252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7289 : (TARGET_MMX_WITH_SSE)))
7290 : return 2170; /* xorv4hf3 */
7291 : break;
7292 :
7293 : case 9:
7294 : if (
7295 : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7296 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
7297 : && ix86_binary_operator_ok (XOR, V8QImode, operands)))
7298 : return 2324; /* *mmx_xorv8qi3 */
7299 : break;
7300 :
7301 : case 10:
7302 : if (
7303 : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7304 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
7305 : && ix86_binary_operator_ok (XOR, V4HImode, operands)))
7306 : return 2327; /* *mmx_xorv4hi3 */
7307 : break;
7308 :
7309 : case 11:
7310 : if (
7311 : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7312 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
7313 : && ix86_binary_operator_ok (XOR, V2SImode, operands)))
7314 : return 2330; /* *mmx_xorv2si3 */
7315 : break;
7316 :
7317 : case 12:
7318 : if (
7319 : #line 4747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7320 : (ix86_binary_operator_ok (XOR, V4QImode, operands)))
7321 : {
7322 : *pnum_clobbers = 1;
7323 : return 2333; /* *xorv4qi3 */
7324 : }
7325 : break;
7326 :
7327 : case 13:
7328 : if (
7329 : #line 4747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7330 : (ix86_binary_operator_ok (XOR, V2QImode, operands)))
7331 : {
7332 : *pnum_clobbers = 1;
7333 : return 2336; /* *xorv2qi3 */
7334 : }
7335 : break;
7336 :
7337 : case 14:
7338 : if (
7339 : #line 4747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7340 : (ix86_binary_operator_ok (XOR, V2HImode, operands)))
7341 : {
7342 : *pnum_clobbers = 1;
7343 : return 2339; /* *xorv2hi3 */
7344 : }
7345 : break;
7346 :
7347 : case 15:
7348 : if (
7349 : #line 6059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7350 : (TARGET_SSE))
7351 : return 3853; /* xorbf3 */
7352 : break;
7353 :
7354 : case 16:
7355 : if (
7356 : #line 6059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7357 : (TARGET_SSE))
7358 : return 3856; /* xorhf3 */
7359 : break;
7360 :
7361 : case 17:
7362 : if (
7363 : #line 6059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7364 : (TARGET_SSE))
7365 : return 3859; /* xorsf3 */
7366 : break;
7367 :
7368 : case 18:
7369 : if ((
7370 : #line 6059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7371 : (TARGET_SSE) &&
7372 : #line 1356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7373 : (TARGET_SSE2)))
7374 : return 3862; /* xordf3 */
7375 : break;
7376 :
7377 : case 19:
7378 : if (
7379 : #line 6134 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7380 : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7381 : return 3865; /* *xortf3 */
7382 : break;
7383 :
7384 : default:
7385 : break;
7386 : }
7387 : if (pnum_clobbers != NULL
7388 : && pattern83 (x2) == 0)
7389 : {
7390 : x6 = XEXP (x3, 0);
7391 : x7 = XEXP (x6, 0);
7392 : operands[2] = x7;
7393 : switch (pattern1082 (x1))
7394 : {
7395 : case 0:
7396 : if (
7397 : #line 13549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7398 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7399 : {
7400 : *pnum_clobbers = 1;
7401 : return 761; /* *xorqi_exthi_1_slp */
7402 : }
7403 : break;
7404 :
7405 : case 1:
7406 : if (
7407 : #line 13549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7408 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7409 : {
7410 : *pnum_clobbers = 1;
7411 : return 764; /* *xorqi_extsi_1_slp */
7412 : }
7413 : break;
7414 :
7415 : case 2:
7416 : if ((
7417 : #line 13549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7418 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
7419 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7420 : (TARGET_64BIT)))
7421 : {
7422 : *pnum_clobbers = 1;
7423 : return 767; /* *xorqi_extdi_1_slp */
7424 : }
7425 : break;
7426 :
7427 : case 3:
7428 : *pnum_clobbers = 1;
7429 : return 785; /* *xorqi_exthi_0 */
7430 :
7431 : case 4:
7432 : *pnum_clobbers = 1;
7433 : return 788; /* *xorqi_extsi_0 */
7434 :
7435 : case 5:
7436 : if (
7437 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7438 : (TARGET_64BIT))
7439 : {
7440 : *pnum_clobbers = 1;
7441 : return 791; /* *xorqi_extdi_0 */
7442 : }
7443 : break;
7444 :
7445 : default:
7446 : break;
7447 : }
7448 : x9 = XEXP (x2, 1);
7449 : if (GET_CODE (x9) == SUBREG)
7450 : {
7451 : switch (pattern1085 (x1))
7452 : {
7453 : case 0:
7454 : if (
7455 : #line 13578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7456 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7457 : {
7458 : *pnum_clobbers = 1;
7459 : return 770; /* *xorqi_exthi_2_slp */
7460 : }
7461 : break;
7462 :
7463 : case 1:
7464 : if (
7465 : #line 13578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7466 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7467 : {
7468 : *pnum_clobbers = 1;
7469 : return 773; /* *xorqi_extsi_2_slp */
7470 : }
7471 : break;
7472 :
7473 : case 2:
7474 : if ((
7475 : #line 13578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7476 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
7477 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7478 : (TARGET_64BIT)))
7479 : {
7480 : *pnum_clobbers = 1;
7481 : return 776; /* *xorqi_extdi_2_slp */
7482 : }
7483 : break;
7484 :
7485 : case 3:
7486 : *pnum_clobbers = 1;
7487 : return 794; /* *xorqi_ext2hi_0 */
7488 :
7489 : case 4:
7490 : *pnum_clobbers = 1;
7491 : return 797; /* *xorqi_ext2si_0 */
7492 :
7493 : case 5:
7494 : if (
7495 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7496 : (TARGET_64BIT))
7497 : {
7498 : *pnum_clobbers = 1;
7499 : return 800; /* *xorqi_ext2di_0 */
7500 : }
7501 : break;
7502 :
7503 : default:
7504 : break;
7505 : }
7506 : }
7507 : }
7508 : operands[1] = x3;
7509 : if (pattern84 (x1) != 0)
7510 : return -1;
7511 : if (
7512 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7513 : (ix86_binary_operator_ok (XOR, QImode, operands, TARGET_APX_NDD)
7514 : && TARGET_APX_NF))
7515 : return 897; /* *xorqi_1_nf */
7516 : if (pnum_clobbers == NULL
7517 : || !
7518 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7519 : (ix86_binary_operator_ok (XOR, QImode, operands, TARGET_APX_NDD)
7520 : && true))
7521 : return -1;
7522 : *pnum_clobbers = 1;
7523 : return 898; /* *xorqi_1 */
7524 :
7525 : case ZERO_EXTEND:
7526 : switch (pattern40 (x1))
7527 : {
7528 : case 0:
7529 : if (!(
7530 : #line 14932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7531 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
7532 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7533 : (TARGET_64BIT)))
7534 : return -1;
7535 : return 935; /* *concatditi3_2 */
7536 :
7537 : case 1:
7538 : if (!(
7539 : #line 14976 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7540 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
7541 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7542 : (TARGET_64BIT)))
7543 : return -1;
7544 : return 956; /* *concatditi3_4 */
7545 :
7546 : case 2:
7547 : if (!(
7548 : #line 14976 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7549 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
7550 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7551 : (TARGET_64BIT)))
7552 : return -1;
7553 : return 959; /* *concatditi3_4 */
7554 :
7555 : case 3:
7556 : if (!(
7557 : #line 15053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7558 : (TImode == DImode
7559 : ? CONST_INT_P (operands[2])
7560 : && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
7561 : && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
7562 : : CONST_WIDE_INT_P (operands[2])
7563 : && CONST_WIDE_INT_NUNITS (operands[2]) == 2
7564 : && CONST_WIDE_INT_ELT (operands[2], 0) == 0
7565 : && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
7566 : 1)),
7567 : VOIDmode)) &&
7568 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7569 : (TARGET_64BIT)))
7570 : return -1;
7571 : return 983; /* *concatditi3_7 */
7572 :
7573 : default:
7574 : return -1;
7575 : }
7576 :
7577 : default:
7578 : return -1;
7579 : }
7580 : }
7581 :
7582 : int
7583 : recog_45 (rtx x1 ATTRIBUTE_UNUSED,
7584 : rtx_insn *insn ATTRIBUTE_UNUSED,
7585 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7586 : {
7587 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7588 : rtx x2, x3, x4;
7589 : int res ATTRIBUTE_UNUSED;
7590 : x2 = XEXP (x1, 1);
7591 : x3 = XEXP (x2, 0);
7592 : switch (GET_CODE (x3))
7593 : {
7594 : case CONST_INT:
7595 : case REG:
7596 : case SUBREG:
7597 : case MEM:
7598 : switch (pattern38 (x1, pnum_clobbers))
7599 : {
7600 : case 0:
7601 : if (pnum_clobbers != NULL
7602 : && pattern294 (x1,
7603 : E_TImode) == 0
7604 : && (
7605 : #line 16137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7606 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
7607 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
7608 : == (2 * 8 * BITS_PER_UNIT - 1)))
7609 : && ix86_pre_reload_split ()) &&
7610 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7611 : (TARGET_64BIT)))
7612 : {
7613 : *pnum_clobbers = 1;
7614 : return 1085; /* *ashlti3_doubleword_mask */
7615 : }
7616 : x4 = XEXP (x2, 1);
7617 : operands[2] = x4;
7618 : switch (pattern428 (x1, pnum_clobbers))
7619 : {
7620 : case 0:
7621 : switch (GET_MODE (operands[0]))
7622 : {
7623 : case E_TImode:
7624 : if (pnum_clobbers == NULL
7625 : || !register_operand (operands[0], E_TImode)
7626 : || GET_MODE (x2) != E_TImode
7627 : || !reg_or_pm1_operand (operands[1], E_TImode)
7628 : || !nonmemory_operand (operands[2], E_QImode)
7629 : || !
7630 : #line 1200 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7631 : (TARGET_64BIT))
7632 : return -1;
7633 : *pnum_clobbers = 1;
7634 : return 1089; /* ashlti3_doubleword */
7635 :
7636 : case E_HImode:
7637 : if (pattern637 (x2,
7638 : E_HImode) != 0)
7639 : return -1;
7640 : if (
7641 : #line 17049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7642 : (ix86_binary_operator_ok (ASHIFT, HImode, operands, TARGET_APX_NDD)
7643 : && TARGET_APX_NF))
7644 : return 1136; /* *ashlhi3_1_nf */
7645 : if (pnum_clobbers == NULL
7646 : || !
7647 : #line 17049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7648 : (ix86_binary_operator_ok (ASHIFT, HImode, operands, TARGET_APX_NDD)
7649 : && true))
7650 : return -1;
7651 : *pnum_clobbers = 1;
7652 : return 1137; /* *ashlhi3_1 */
7653 :
7654 : case E_QImode:
7655 : if (pattern637 (x2,
7656 : E_QImode) != 0)
7657 : return -1;
7658 : if (
7659 : #line 17105 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7660 : (ix86_binary_operator_ok (ASHIFT, QImode, operands, TARGET_APX_NDD)
7661 : && TARGET_APX_NF))
7662 : return 1138; /* *ashlqi3_1_nf */
7663 : if (pnum_clobbers == NULL
7664 : || !
7665 : #line 17105 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7666 : (ix86_binary_operator_ok (ASHIFT, QImode, operands, TARGET_APX_NDD)
7667 : && true))
7668 : return -1;
7669 : *pnum_clobbers = 1;
7670 : return 1139; /* *ashlqi3_1 */
7671 :
7672 : case E_V4HImode:
7673 : if (pattern860 (x2,
7674 : E_V4HImode,
7675 : E_DImode) != 0
7676 : || !
7677 : #line 3923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7678 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7679 : return -1;
7680 : return 2250; /* mmx_ashlv4hi3 */
7681 :
7682 : case E_V2SImode:
7683 : if (pattern860 (x2,
7684 : E_V2SImode,
7685 : E_DImode) != 0
7686 : || !
7687 : #line 3923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7688 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7689 : return -1;
7690 : return 2252; /* mmx_ashlv2si3 */
7691 :
7692 : case E_V1DImode:
7693 : if (pattern860 (x2,
7694 : E_V1DImode,
7695 : E_DImode) != 0
7696 : || !
7697 : #line 3923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7698 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7699 : return -1;
7700 : return 2254; /* mmx_ashlv1di3 */
7701 :
7702 : case E_V1SImode:
7703 : if (pattern860 (x2,
7704 : E_V1SImode,
7705 : E_DImode) != 0
7706 : || !
7707 : #line 3960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7708 : (TARGET_SSE2))
7709 : return -1;
7710 : return 2256; /* mmx_ashlv1si3 */
7711 :
7712 : case E_V2HImode:
7713 : if (pattern860 (x2,
7714 : E_V2HImode,
7715 : E_DImode) != 0
7716 : || !
7717 : #line 3977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7718 : (TARGET_SSE2))
7719 : return -1;
7720 : return 2258; /* ashlv2hi3 */
7721 :
7722 : case E_V2QImode:
7723 : if (pnum_clobbers == NULL
7724 : || pattern860 (x2,
7725 : E_V2QImode,
7726 : E_QImode) != 0
7727 : || !
7728 : #line 4039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7729 : (!TARGET_PARTIAL_REG_STALL || optimize_size))
7730 : return -1;
7731 : *pnum_clobbers = 1;
7732 : return 2262; /* ashlv2qi3 */
7733 :
7734 : default:
7735 : return -1;
7736 : }
7737 :
7738 : case 1:
7739 : if (!
7740 : #line 17174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7741 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7742 : return -1;
7743 : *pnum_clobbers = 1;
7744 : return 1140; /* *ashlqi3_1_slp */
7745 :
7746 : case 2:
7747 : if (!
7748 : #line 17174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7749 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7750 : return -1;
7751 : *pnum_clobbers = 1;
7752 : return 1141; /* *ashlhi3_1_slp */
7753 :
7754 : default:
7755 : return -1;
7756 : }
7757 :
7758 : case 1:
7759 : if (!(
7760 : #line 16198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7761 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
7762 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
7763 : == (2 * 8 * BITS_PER_UNIT - 1)))
7764 : && ix86_pre_reload_split ()) &&
7765 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7766 : (TARGET_64BIT)))
7767 : return -1;
7768 : *pnum_clobbers = 1;
7769 : return 1087; /* *ashlti3_doubleword_mask_1 */
7770 :
7771 : default:
7772 : return -1;
7773 : }
7774 :
7775 : case SIGN_EXTEND:
7776 : if (pattern44 (x1, pnum_clobbers) != 0
7777 : || !(
7778 : #line 16299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7779 : (INTVAL (operands[2]) >= 8 * BITS_PER_UNIT
7780 : && INTVAL (operands[2]) < 8 * BITS_PER_UNIT * 2) &&
7781 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7782 : (TARGET_64BIT)))
7783 : return -1;
7784 : *pnum_clobbers = 1;
7785 : return 1092; /* *ashlti3_doubleword_highpart */
7786 :
7787 : case ZERO_EXTEND:
7788 : if (pattern44 (x1, pnum_clobbers) != 0
7789 : || !(
7790 : #line 16299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7791 : (INTVAL (operands[2]) >= 8 * BITS_PER_UNIT
7792 : && INTVAL (operands[2]) < 8 * BITS_PER_UNIT * 2) &&
7793 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7794 : (TARGET_64BIT)))
7795 : return -1;
7796 : *pnum_clobbers = 1;
7797 : return 1093; /* *ashlti3_doubleword_highpart */
7798 :
7799 : default:
7800 : return -1;
7801 : }
7802 : }
7803 :
7804 : int
7805 : recog_50 (rtx x1 ATTRIBUTE_UNUSED,
7806 : rtx_insn *insn ATTRIBUTE_UNUSED,
7807 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7808 : {
7809 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7810 : rtx x2, x3, x4;
7811 : int res ATTRIBUTE_UNUSED;
7812 : x2 = XEXP (x1, 1);
7813 : switch (GET_CODE (x2))
7814 : {
7815 : case NE:
7816 : case EQ:
7817 : res = recog_49 (x1, insn, pnum_clobbers);
7818 : if (res >= 0)
7819 : return res;
7820 : break;
7821 :
7822 : case LT:
7823 : switch (pattern241 (x2))
7824 : {
7825 : case 0:
7826 : if (
7827 : #line 3905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7828 : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()))
7829 : return 2248; /* *mmx_ashrv4hi3_1 */
7830 : break;
7831 :
7832 : case 1:
7833 : if (
7834 : #line 3905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7835 : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()))
7836 : return 2249; /* *mmx_ashrv2si3_1 */
7837 : break;
7838 :
7839 : case 2:
7840 : if (
7841 : #line 3994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7842 : (TARGET_SSE2 && ix86_pre_reload_split ()))
7843 : return 2261; /* *mmx_ashrv2hi3_1 */
7844 : break;
7845 :
7846 : default:
7847 : break;
7848 : }
7849 : break;
7850 :
7851 : case GT:
7852 : x3 = XEXP (x2, 0);
7853 : operands[1] = x3;
7854 : x4 = XEXP (x2, 1);
7855 : operands[2] = x4;
7856 : switch (GET_MODE (operands[0]))
7857 : {
7858 : case E_V8QImode:
7859 : if (pattern861 (x2,
7860 : E_V8QImode) == 0
7861 : &&
7862 : #line 4202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7863 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7864 : return 2271; /* mmx_gtv8qi3 */
7865 : break;
7866 :
7867 : case E_V4HImode:
7868 : if (pattern861 (x2,
7869 : E_V4HImode) == 0
7870 : &&
7871 : #line 4202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7872 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7873 : return 2272; /* mmx_gtv4hi3 */
7874 : break;
7875 :
7876 : case E_V2SImode:
7877 : if (pattern861 (x2,
7878 : E_V2SImode) == 0
7879 : &&
7880 : #line 4202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7881 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7882 : return 2273; /* mmx_gtv2si3 */
7883 : break;
7884 :
7885 : case E_V4QImode:
7886 : if (pattern5 (x2,
7887 : E_V4QImode) == 0
7888 : &&
7889 : #line 4217 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7890 : (TARGET_SSE2))
7891 : return 2274; /* *gtv4qi3 */
7892 : break;
7893 :
7894 : case E_V2QImode:
7895 : if (pattern5 (x2,
7896 : E_V2QImode) == 0
7897 : &&
7898 : #line 4217 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7899 : (TARGET_SSE2))
7900 : return 2275; /* *gtv2qi3 */
7901 : break;
7902 :
7903 : case E_V2HImode:
7904 : if (pattern5 (x2,
7905 : E_V2HImode) == 0
7906 : &&
7907 : #line 4217 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7908 : (TARGET_SSE2))
7909 : return 2276; /* *gtv2hi3 */
7910 : break;
7911 :
7912 : default:
7913 : break;
7914 : }
7915 : break;
7916 :
7917 : default:
7918 : break;
7919 : }
7920 : operands[1] = x2;
7921 : x3 = XEXP (x2, 0);
7922 : operands[2] = x3;
7923 : x4 = XEXP (x2, 1);
7924 : operands[3] = x4;
7925 : switch (GET_MODE (operands[0]))
7926 : {
7927 : case E_V8QImode:
7928 : if (pattern862 (
7929 : E_V8QImode) != 0
7930 : || !
7931 : #line 4230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7932 : (TARGET_XOP))
7933 : return -1;
7934 : return 2277; /* *xop_maskcmpv8qi3 */
7935 :
7936 : case E_V4HImode:
7937 : if (pattern862 (
7938 : E_V4HImode) != 0
7939 : || !
7940 : #line 4230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7941 : (TARGET_XOP))
7942 : return -1;
7943 : return 2278; /* *xop_maskcmpv4hi3 */
7944 :
7945 : case E_V2SImode:
7946 : if (pattern862 (
7947 : E_V2SImode) != 0
7948 : || !
7949 : #line 4230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7950 : (TARGET_XOP))
7951 : return -1;
7952 : return 2279; /* *xop_maskcmpv2si3 */
7953 :
7954 : case E_V4QImode:
7955 : if (pattern862 (
7956 : E_V4QImode) != 0
7957 : || !
7958 : #line 4240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7959 : (TARGET_XOP))
7960 : return -1;
7961 : return 2280; /* *xop_maskcmpv4qi3 */
7962 :
7963 : case E_V2QImode:
7964 : if (pattern862 (
7965 : E_V2QImode) != 0
7966 : || !
7967 : #line 4240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7968 : (TARGET_XOP))
7969 : return -1;
7970 : return 2281; /* *xop_maskcmpv2qi3 */
7971 :
7972 : case E_V2HImode:
7973 : if (pattern862 (
7974 : E_V2HImode) != 0
7975 : || !
7976 : #line 4240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7977 : (TARGET_XOP))
7978 : return -1;
7979 : return 2282; /* *xop_maskcmpv2hi3 */
7980 :
7981 : default:
7982 : return -1;
7983 : }
7984 : }
7985 :
7986 : int
7987 : recog_61 (rtx x1 ATTRIBUTE_UNUSED,
7988 : rtx_insn *insn ATTRIBUTE_UNUSED,
7989 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7990 : {
7991 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7992 : rtx x2, x3, x4, x5, x6, x7;
7993 : int res ATTRIBUTE_UNUSED;
7994 : x2 = XEXP (x1, 1);
7995 : switch (GET_CODE (x2))
7996 : {
7997 : case PLUS:
7998 : res = recog_56 (x1, insn, pnum_clobbers);
7999 : if (res >= 0)
8000 : return res;
8001 : break;
8002 :
8003 : case MINUS:
8004 : res = recog_59 (x1, insn, pnum_clobbers);
8005 : if (res >= 0)
8006 : return res;
8007 : break;
8008 :
8009 : case MULT:
8010 : res = recog_60 (x1, insn, pnum_clobbers);
8011 : if (res >= 0)
8012 : return res;
8013 : break;
8014 :
8015 : case DIV:
8016 : if (GET_MODE (x2) == E_HFmode)
8017 : {
8018 : x3 = XEXP (x1, 0);
8019 : operands[0] = x3;
8020 : if (register_operand (operands[0], E_HFmode))
8021 : {
8022 : x4 = XEXP (x2, 0);
8023 : operands[1] = x4;
8024 : if (nonimmediate_operand (operands[1], E_HFmode))
8025 : {
8026 : x5 = XEXP (x2, 1);
8027 : operands[2] = x5;
8028 : if (nonimmediate_operand (operands[2], E_HFmode)
8029 : &&
8030 : #line 24433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8031 : (TARGET_AVX512FP16
8032 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8033 : return 1705; /* *divhf */
8034 : }
8035 : }
8036 : }
8037 : break;
8038 :
8039 : default:
8040 : break;
8041 : }
8042 : operands[3] = x2;
8043 : x3 = XEXP (x1, 0);
8044 : operands[0] = x3;
8045 : x4 = XEXP (x2, 0);
8046 : switch (GET_CODE (x4))
8047 : {
8048 : case REG:
8049 : case SUBREG:
8050 : case MEM:
8051 : operands[1] = x4;
8052 : x5 = XEXP (x2, 1);
8053 : switch (GET_CODE (x5))
8054 : {
8055 : case REG:
8056 : case SUBREG:
8057 : case MEM:
8058 : operands[2] = x5;
8059 : switch (GET_MODE (operands[0]))
8060 : {
8061 : case E_XFmode:
8062 : if (!register_operand (operands[0], E_XFmode)
8063 : || !binary_fp_operator (operands[3], E_XFmode)
8064 : || !register_operand (operands[1], E_XFmode)
8065 : || !register_operand (operands[2], E_XFmode))
8066 : return -1;
8067 : if (
8068 : #line 24385 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8069 : (TARGET_80387
8070 : && COMMUTATIVE_ARITH_P (operands[3])))
8071 : return 1699; /* *fop_xf_comm_i387 */
8072 : if (!
8073 : #line 24483 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8074 : (TARGET_80387
8075 : && !COMMUTATIVE_ARITH_P (operands[3])))
8076 : return -1;
8077 : return 1708; /* *fop_xf_1_i387 */
8078 :
8079 : case E_SFmode:
8080 : if (!register_operand (operands[0], E_SFmode)
8081 : || !binary_fp_operator (operands[3], E_SFmode)
8082 : || !nonimmediate_operand (operands[2], E_SFmode))
8083 : return -1;
8084 : if (nonimmediate_operand (operands[1], E_SFmode)
8085 : &&
8086 : #line 24399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8087 : (((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
8088 : || (TARGET_80387 && X87_ENABLE_ARITH (SFmode)))
8089 : && COMMUTATIVE_ARITH_P (operands[3])
8090 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8091 : return 1700; /* *fop_sf_comm */
8092 : if (!x87nonimm_ssenomem_operand (operands[1], E_SFmode)
8093 : || !
8094 : #line 24499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8095 : (((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
8096 : || (TARGET_80387 && X87_ENABLE_ARITH (SFmode)))
8097 : && !COMMUTATIVE_ARITH_P (operands[3])
8098 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8099 : return -1;
8100 : return 1709; /* *fop_sf_1 */
8101 :
8102 : case E_DFmode:
8103 : if (!register_operand (operands[0], E_DFmode)
8104 : || !binary_fp_operator (operands[3], E_DFmode)
8105 : || !nonimmediate_operand (operands[2], E_DFmode))
8106 : return -1;
8107 : if (nonimmediate_operand (operands[1], E_DFmode)
8108 : &&
8109 : #line 24399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8110 : (((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
8111 : || (TARGET_80387 && X87_ENABLE_ARITH (DFmode)))
8112 : && COMMUTATIVE_ARITH_P (operands[3])
8113 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8114 : return 1701; /* *fop_df_comm */
8115 : if (!x87nonimm_ssenomem_operand (operands[1], E_DFmode)
8116 : || !
8117 : #line 24499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8118 : (((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
8119 : || (TARGET_80387 && X87_ENABLE_ARITH (DFmode)))
8120 : && !COMMUTATIVE_ARITH_P (operands[3])
8121 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8122 : return -1;
8123 : return 1710; /* *fop_df_1 */
8124 :
8125 : default:
8126 : return -1;
8127 : }
8128 :
8129 : case FLOAT:
8130 : x6 = XEXP (x5, 0);
8131 : operands[2] = x6;
8132 : switch (GET_MODE (operands[0]))
8133 : {
8134 : case E_SFmode:
8135 : switch (pattern869 (x5,
8136 : E_SFmode))
8137 : {
8138 : case 0:
8139 : if (!
8140 : #line 24555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8141 : (TARGET_80387 && X87_ENABLE_FLOAT (SFmode, HImode)
8142 : && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
8143 : && (TARGET_USE_HIMODE_FIOP
8144 : || optimize_function_for_size_p (cfun))))
8145 : return -1;
8146 : return 1717; /* *fop_sf_3_i387 */
8147 :
8148 : case 1:
8149 : if (!
8150 : #line 24555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8151 : (TARGET_80387 && X87_ENABLE_FLOAT (SFmode, SImode)
8152 : && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
8153 : && (TARGET_USE_SIMODE_FIOP
8154 : || optimize_function_for_size_p (cfun))))
8155 : return -1;
8156 : return 1720; /* *fop_sf_3_i387 */
8157 :
8158 : default:
8159 : return -1;
8160 : }
8161 :
8162 : case E_DFmode:
8163 : switch (pattern869 (x5,
8164 : E_DFmode))
8165 : {
8166 : case 0:
8167 : if (!
8168 : #line 24555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8169 : (TARGET_80387 && X87_ENABLE_FLOAT (DFmode, HImode)
8170 : && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
8171 : && (TARGET_USE_HIMODE_FIOP
8172 : || optimize_function_for_size_p (cfun))))
8173 : return -1;
8174 : return 1718; /* *fop_df_3_i387 */
8175 :
8176 : case 1:
8177 : if (!
8178 : #line 24555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8179 : (TARGET_80387 && X87_ENABLE_FLOAT (DFmode, SImode)
8180 : && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
8181 : && (TARGET_USE_SIMODE_FIOP
8182 : || optimize_function_for_size_p (cfun))))
8183 : return -1;
8184 : return 1721; /* *fop_df_3_i387 */
8185 :
8186 : default:
8187 : return -1;
8188 : }
8189 :
8190 : case E_XFmode:
8191 : switch (pattern869 (x5,
8192 : E_XFmode))
8193 : {
8194 : case 0:
8195 : if (!
8196 : #line 24555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8197 : (TARGET_80387 && X87_ENABLE_FLOAT (XFmode, HImode)
8198 : && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
8199 : && (TARGET_USE_HIMODE_FIOP
8200 : || optimize_function_for_size_p (cfun))))
8201 : return -1;
8202 : return 1719; /* *fop_xf_3_i387 */
8203 :
8204 : case 1:
8205 : if (!
8206 : #line 24555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8207 : (TARGET_80387 && X87_ENABLE_FLOAT (XFmode, SImode)
8208 : && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
8209 : && (TARGET_USE_SIMODE_FIOP
8210 : || optimize_function_for_size_p (cfun))))
8211 : return -1;
8212 : return 1722; /* *fop_xf_3_i387 */
8213 :
8214 : default:
8215 : return -1;
8216 : }
8217 :
8218 : default:
8219 : return -1;
8220 : }
8221 :
8222 : case FLOAT_EXTEND:
8223 : x6 = XEXP (x5, 0);
8224 : operands[2] = x6;
8225 : switch (pattern754 ())
8226 : {
8227 : case 0:
8228 : if (!register_operand (operands[1], E_XFmode)
8229 : || GET_MODE (x5) != E_XFmode)
8230 : return -1;
8231 : switch (GET_MODE (operands[2]))
8232 : {
8233 : case E_SFmode:
8234 : if (!nonimmediate_operand (operands[2], E_SFmode)
8235 : || !
8236 : #line 24611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8237 : (TARGET_80387))
8238 : return -1;
8239 : return 1726; /* *fop_xf_5_i387 */
8240 :
8241 : case E_DFmode:
8242 : if (!nonimmediate_operand (operands[2], E_DFmode)
8243 : || !
8244 : #line 24611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8245 : (TARGET_80387))
8246 : return -1;
8247 : return 1727; /* *fop_xf_5_i387 */
8248 :
8249 : default:
8250 : return -1;
8251 : }
8252 :
8253 : case 1:
8254 : if (!register_operand (operands[1], E_DFmode)
8255 : || GET_MODE (x5) != E_DFmode
8256 : || !nonimmediate_operand (operands[2], E_SFmode)
8257 : || !
8258 : #line 24628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8259 : (TARGET_80387 && X87_ENABLE_ARITH (DFmode)
8260 : && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
8261 : return -1;
8262 : return 1728; /* *fop_df_5_i387 */
8263 :
8264 : default:
8265 : return -1;
8266 : }
8267 :
8268 : default:
8269 : return -1;
8270 : }
8271 :
8272 : case FLOAT:
8273 : x7 = XEXP (x4, 0);
8274 : operands[1] = x7;
8275 : x5 = XEXP (x2, 1);
8276 : operands[2] = x5;
8277 : switch (GET_MODE (operands[0]))
8278 : {
8279 : case E_SFmode:
8280 : switch (pattern755 (x4,
8281 : E_SFmode))
8282 : {
8283 : case 0:
8284 : if (!
8285 : #line 24534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8286 : (TARGET_80387 && X87_ENABLE_FLOAT (SFmode, HImode)
8287 : && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
8288 : && (TARGET_USE_HIMODE_FIOP
8289 : || optimize_function_for_size_p (cfun))))
8290 : return -1;
8291 : return 1711; /* *fop_sf_2_i387 */
8292 :
8293 : case 1:
8294 : if (!
8295 : #line 24534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8296 : (TARGET_80387 && X87_ENABLE_FLOAT (SFmode, SImode)
8297 : && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
8298 : && (TARGET_USE_SIMODE_FIOP
8299 : || optimize_function_for_size_p (cfun))))
8300 : return -1;
8301 : return 1714; /* *fop_sf_2_i387 */
8302 :
8303 : default:
8304 : return -1;
8305 : }
8306 :
8307 : case E_DFmode:
8308 : switch (pattern755 (x4,
8309 : E_DFmode))
8310 : {
8311 : case 0:
8312 : if (!
8313 : #line 24534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8314 : (TARGET_80387 && X87_ENABLE_FLOAT (DFmode, HImode)
8315 : && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
8316 : && (TARGET_USE_HIMODE_FIOP
8317 : || optimize_function_for_size_p (cfun))))
8318 : return -1;
8319 : return 1712; /* *fop_df_2_i387 */
8320 :
8321 : case 1:
8322 : if (!
8323 : #line 24534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8324 : (TARGET_80387 && X87_ENABLE_FLOAT (DFmode, SImode)
8325 : && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
8326 : && (TARGET_USE_SIMODE_FIOP
8327 : || optimize_function_for_size_p (cfun))))
8328 : return -1;
8329 : return 1715; /* *fop_df_2_i387 */
8330 :
8331 : default:
8332 : return -1;
8333 : }
8334 :
8335 : case E_XFmode:
8336 : switch (pattern755 (x4,
8337 : E_XFmode))
8338 : {
8339 : case 0:
8340 : if (!
8341 : #line 24534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8342 : (TARGET_80387 && X87_ENABLE_FLOAT (XFmode, HImode)
8343 : && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
8344 : && (TARGET_USE_HIMODE_FIOP
8345 : || optimize_function_for_size_p (cfun))))
8346 : return -1;
8347 : return 1713; /* *fop_xf_2_i387 */
8348 :
8349 : case 1:
8350 : if (!
8351 : #line 24534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8352 : (TARGET_80387 && X87_ENABLE_FLOAT (XFmode, SImode)
8353 : && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
8354 : && (TARGET_USE_SIMODE_FIOP
8355 : || optimize_function_for_size_p (cfun))))
8356 : return -1;
8357 : return 1716; /* *fop_xf_2_i387 */
8358 :
8359 : default:
8360 : return -1;
8361 : }
8362 :
8363 : default:
8364 : return -1;
8365 : }
8366 :
8367 : case FLOAT_EXTEND:
8368 : x7 = XEXP (x4, 0);
8369 : operands[1] = x7;
8370 : x5 = XEXP (x2, 1);
8371 : switch (GET_CODE (x5))
8372 : {
8373 : case REG:
8374 : case SUBREG:
8375 : operands[2] = x5;
8376 : switch (pattern754 ())
8377 : {
8378 : case 0:
8379 : if (GET_MODE (x4) != E_XFmode
8380 : || !register_operand (operands[2], E_XFmode))
8381 : return -1;
8382 : switch (GET_MODE (operands[1]))
8383 : {
8384 : case E_SFmode:
8385 : if (!nonimmediate_operand (operands[1], E_SFmode)
8386 : || !
8387 : #line 24576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8388 : (TARGET_80387))
8389 : return -1;
8390 : return 1723; /* *fop_xf_4_i387 */
8391 :
8392 : case E_DFmode:
8393 : if (!nonimmediate_operand (operands[1], E_DFmode)
8394 : || !
8395 : #line 24576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8396 : (TARGET_80387))
8397 : return -1;
8398 : return 1724; /* *fop_xf_4_i387 */
8399 :
8400 : default:
8401 : return -1;
8402 : }
8403 :
8404 : case 1:
8405 : if (GET_MODE (x4) != E_DFmode
8406 : || !nonimmediate_operand (operands[1], E_SFmode)
8407 : || !register_operand (operands[2], E_DFmode)
8408 : || !
8409 : #line 24593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8410 : (TARGET_80387 && X87_ENABLE_ARITH (DFmode)
8411 : && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
8412 : return -1;
8413 : return 1725; /* *fop_df_4_i387 */
8414 :
8415 : default:
8416 : return -1;
8417 : }
8418 :
8419 : case FLOAT_EXTEND:
8420 : x6 = XEXP (x5, 0);
8421 : operands[2] = x6;
8422 : switch (pattern754 ())
8423 : {
8424 : case 0:
8425 : if (GET_MODE (x4) != E_XFmode
8426 : || GET_MODE (x5) != E_XFmode)
8427 : return -1;
8428 : switch (GET_MODE (operands[1]))
8429 : {
8430 : case E_SFmode:
8431 : if (!register_operand (operands[1], E_SFmode)
8432 : || !nonimmediate_operand (operands[2], E_SFmode)
8433 : || !
8434 : #line 24647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8435 : (TARGET_80387))
8436 : return -1;
8437 : return 1729; /* *fop_xf_6_i387 */
8438 :
8439 : case E_DFmode:
8440 : if (!register_operand (operands[1], E_DFmode)
8441 : || !nonimmediate_operand (operands[2], E_DFmode)
8442 : || !
8443 : #line 24647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8444 : (TARGET_80387))
8445 : return -1;
8446 : return 1730; /* *fop_xf_6_i387 */
8447 :
8448 : default:
8449 : return -1;
8450 : }
8451 :
8452 : case 1:
8453 : if (pattern867 (x2,
8454 : E_SFmode,
8455 : E_DFmode) != 0
8456 : || !
8457 : #line 24665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8458 : (TARGET_80387 && X87_ENABLE_ARITH (DFmode)
8459 : && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
8460 : return -1;
8461 : return 1731; /* *fop_df_6_i387 */
8462 :
8463 : default:
8464 : return -1;
8465 : }
8466 :
8467 : default:
8468 : return -1;
8469 : }
8470 :
8471 : default:
8472 : return -1;
8473 : }
8474 : }
8475 :
8476 : int
8477 : recog_74 (rtx x1 ATTRIBUTE_UNUSED,
8478 : rtx_insn *insn ATTRIBUTE_UNUSED,
8479 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8480 : {
8481 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8482 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
8483 : rtx x10;
8484 : int res ATTRIBUTE_UNUSED;
8485 : x2 = XEXP (x1, 1);
8486 : x3 = XEXP (x2, 0);
8487 : x4 = XEXP (x3, 0);
8488 : switch (GET_CODE (x4))
8489 : {
8490 : case REG:
8491 : case SUBREG:
8492 : case MEM:
8493 : operands[1] = x4;
8494 : x5 = XEXP (x3, 1);
8495 : operands[2] = x5;
8496 : switch (pattern281 (x2))
8497 : {
8498 : case 0:
8499 : if (!nonimmediate_operand (operands[1], E_QImode)
8500 : || !general_operand (operands[2], E_QImode))
8501 : return -1;
8502 : if (
8503 : #line 6822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8504 : (TARGET_APX_NDD && TARGET_APX_NF
8505 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8506 : return 292; /* *addqi_1_zextsi_nf */
8507 : if (pnum_clobbers == NULL
8508 : || !
8509 : #line 6822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8510 : (TARGET_APX_NDD && true
8511 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8512 : return -1;
8513 : *pnum_clobbers = 1;
8514 : return 293; /* *addqi_1_zextsi */
8515 :
8516 : case 1:
8517 : if (!nonimmediate_operand (operands[1], E_HImode)
8518 : || !general_operand (operands[2], E_HImode))
8519 : return -1;
8520 : if (
8521 : #line 6864 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8522 : (TARGET_APX_NDD && TARGET_APX_NF
8523 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8524 : return 296; /* *addhi_1_zextsi_nf */
8525 : if (pnum_clobbers == NULL
8526 : || !
8527 : #line 6864 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8528 : (TARGET_APX_NDD && true
8529 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8530 : return -1;
8531 : *pnum_clobbers = 1;
8532 : return 297; /* *addhi_1_zextsi */
8533 :
8534 : case 2:
8535 : if (!nonimmediate_operand (operands[1], E_QImode)
8536 : || !general_operand (operands[2], E_QImode))
8537 : return -1;
8538 : if (
8539 : #line 6822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8540 : (TARGET_APX_NDD && TARGET_APX_NF
8541 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8542 : return 294; /* *addqi_1_zextdi_nf */
8543 : if (pnum_clobbers == NULL
8544 : || !
8545 : #line 6822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8546 : (TARGET_APX_NDD && true
8547 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8548 : return -1;
8549 : *pnum_clobbers = 1;
8550 : return 295; /* *addqi_1_zextdi */
8551 :
8552 : case 3:
8553 : if (!nonimmediate_operand (operands[1], E_HImode)
8554 : || !general_operand (operands[2], E_HImode))
8555 : return -1;
8556 : if (
8557 : #line 6864 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8558 : (TARGET_APX_NDD && TARGET_APX_NF
8559 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8560 : return 298; /* *addhi_1_zextdi_nf */
8561 : if (pnum_clobbers == NULL
8562 : || !
8563 : #line 6864 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8564 : (TARGET_APX_NDD && true
8565 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8566 : return -1;
8567 : *pnum_clobbers = 1;
8568 : return 299; /* *addhi_1_zextdi */
8569 :
8570 : case 4:
8571 : if (pnum_clobbers == NULL
8572 : || !nonimmediate_operand (operands[1], E_SImode)
8573 : || !x86_64_general_operand (operands[2], E_SImode)
8574 : || !
8575 : #line 6913 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8576 : (TARGET_64BIT
8577 : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
8578 : return -1;
8579 : *pnum_clobbers = 1;
8580 : return 300; /* addsi_1_zext */
8581 :
8582 : default:
8583 : return -1;
8584 : }
8585 :
8586 : case PLUS:
8587 : if (pnum_clobbers == NULL)
8588 : return -1;
8589 : x6 = XEXP (x4, 0);
8590 : switch (GET_CODE (x6))
8591 : {
8592 : case LTU:
8593 : case UNLT:
8594 : operands[3] = x6;
8595 : x7 = XEXP (x6, 0);
8596 : if (GET_CODE (x7) != REG
8597 : || REGNO (x7) != 17)
8598 : return -1;
8599 : x8 = XEXP (x6, 1);
8600 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8601 : return -1;
8602 : x9 = XEXP (x4, 1);
8603 : operands[1] = x9;
8604 : x5 = XEXP (x3, 1);
8605 : operands[2] = x5;
8606 : switch (pattern281 (x2))
8607 : {
8608 : case 0:
8609 : if (pattern1547 (x4,
8610 : E_QImode) != 0
8611 : || !
8612 : #line 9254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8613 : (TARGET_APX_NDD
8614 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8615 : return -1;
8616 : *pnum_clobbers = 1;
8617 : return 482; /* *addqi3_carry_zextsi */
8618 :
8619 : case 1:
8620 : if (pattern1547 (x4,
8621 : E_HImode) != 0
8622 : || !
8623 : #line 9278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8624 : (TARGET_APX_NDD
8625 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8626 : return -1;
8627 : *pnum_clobbers = 1;
8628 : return 484; /* *addhi3_carry_zextsi */
8629 :
8630 : case 2:
8631 : if (pattern1547 (x4,
8632 : E_QImode) != 0
8633 : || !
8634 : #line 9254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8635 : (TARGET_APX_NDD
8636 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8637 : return -1;
8638 : *pnum_clobbers = 1;
8639 : return 483; /* *addqi3_carry_zextdi */
8640 :
8641 : case 3:
8642 : if (pattern1547 (x4,
8643 : E_HImode) != 0
8644 : || !
8645 : #line 9278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8646 : (TARGET_APX_NDD
8647 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8648 : return -1;
8649 : *pnum_clobbers = 1;
8650 : return 485; /* *addhi3_carry_zextdi */
8651 :
8652 : case 4:
8653 : if (pattern1547 (x4,
8654 : E_SImode) != 0
8655 : || !
8656 : #line 9302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8657 : (TARGET_64BIT
8658 : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
8659 : return -1;
8660 : *pnum_clobbers = 1;
8661 : return 486; /* *addsi3_carry_zext */
8662 :
8663 : default:
8664 : return -1;
8665 : }
8666 :
8667 : default:
8668 : return -1;
8669 : }
8670 :
8671 : case LTU:
8672 : case UNLT:
8673 : switch (pattern282 (x2, pnum_clobbers))
8674 : {
8675 : case 0:
8676 : if (!ix86_carry_flag_operator (operands[2], E_QImode)
8677 : || !nonimmediate_operand (operands[1], E_QImode)
8678 : || !
8679 : #line 9326 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8680 : (TARGET_APX_NDD))
8681 : return -1;
8682 : *pnum_clobbers = 1;
8683 : return 488; /* *addqi3_carry_zextsi_0 */
8684 :
8685 : case 1:
8686 : if (!ix86_carry_flag_operator (operands[2], E_HImode)
8687 : || !nonimmediate_operand (operands[1], E_HImode)
8688 : || !
8689 : #line 9344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8690 : (TARGET_APX_NDD))
8691 : return -1;
8692 : *pnum_clobbers = 1;
8693 : return 490; /* *addhi3_carry_zextsi_0 */
8694 :
8695 : case 2:
8696 : if (!ix86_carry_flag_operator (operands[2], E_QImode)
8697 : || !nonimmediate_operand (operands[1], E_QImode)
8698 : || !
8699 : #line 9326 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8700 : (TARGET_APX_NDD))
8701 : return -1;
8702 : *pnum_clobbers = 1;
8703 : return 489; /* *addqi3_carry_zextdi_0 */
8704 :
8705 : case 3:
8706 : if (!ix86_carry_flag_operator (operands[2], E_HImode)
8707 : || !nonimmediate_operand (operands[1], E_HImode)
8708 : || !
8709 : #line 9344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8710 : (TARGET_APX_NDD))
8711 : return -1;
8712 : *pnum_clobbers = 1;
8713 : return 491; /* *addhi3_carry_zextdi_0 */
8714 :
8715 : case 4:
8716 : if (!ix86_carry_flag_operator (operands[2], E_SImode)
8717 : || !nonimmediate_operand (operands[1], E_SImode)
8718 : || !
8719 : #line 9362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8720 : (TARGET_64BIT))
8721 : return -1;
8722 : *pnum_clobbers = 1;
8723 : return 492; /* *addsi3_carry_zext_0 */
8724 :
8725 : default:
8726 : return -1;
8727 : }
8728 :
8729 : case GE:
8730 : case GEU:
8731 : switch (pattern282 (x2, pnum_clobbers))
8732 : {
8733 : case 0:
8734 : if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
8735 : || !nonimmediate_operand (operands[1], E_QImode)
8736 : || !
8737 : #line 9384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8738 : (TARGET_APX_NDD))
8739 : return -1;
8740 : *pnum_clobbers = 1;
8741 : return 494; /* *addqi3_carry_zextsi_0r */
8742 :
8743 : case 1:
8744 : if (!ix86_carry_flag_unset_operator (operands[2], E_HImode)
8745 : || !nonimmediate_operand (operands[1], E_HImode)
8746 : || !
8747 : #line 9402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8748 : (TARGET_APX_NDD))
8749 : return -1;
8750 : *pnum_clobbers = 1;
8751 : return 496; /* *addhi3_carry_zextsi_0r */
8752 :
8753 : case 2:
8754 : if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
8755 : || !nonimmediate_operand (operands[1], E_QImode)
8756 : || !
8757 : #line 9384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8758 : (TARGET_APX_NDD))
8759 : return -1;
8760 : *pnum_clobbers = 1;
8761 : return 495; /* *addqi3_carry_zextdi_0r */
8762 :
8763 : case 3:
8764 : if (!ix86_carry_flag_unset_operator (operands[2], E_HImode)
8765 : || !nonimmediate_operand (operands[1], E_HImode)
8766 : || !
8767 : #line 9402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8768 : (TARGET_APX_NDD))
8769 : return -1;
8770 : *pnum_clobbers = 1;
8771 : return 497; /* *addhi3_carry_zextdi_0r */
8772 :
8773 : case 4:
8774 : if (!ix86_carry_flag_unset_operator (operands[2], E_SImode)
8775 : || !nonimmediate_operand (operands[1], E_SImode)
8776 : || !
8777 : #line 9420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8778 : (TARGET_64BIT))
8779 : return -1;
8780 : *pnum_clobbers = 1;
8781 : return 498; /* *addsi3_carry_zext_0r */
8782 :
8783 : default:
8784 : return -1;
8785 : }
8786 :
8787 : case UNSPEC:
8788 : if (pnum_clobbers == NULL
8789 : || XVECLEN (x4, 0) != 1
8790 : || XINT (x4, 1) != 20
8791 : || GET_MODE (x4) != E_SImode)
8792 : return -1;
8793 : x10 = XVECEXP (x4, 0, 0);
8794 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
8795 : || !register_operand (operands[0], E_DImode)
8796 : || GET_MODE (x2) != E_DImode
8797 : || GET_MODE (x3) != E_SImode)
8798 : return -1;
8799 : x5 = XEXP (x3, 1);
8800 : operands[1] = x5;
8801 : if (!register_operand (operands[1], E_SImode)
8802 : || !
8803 : #line 24216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8804 : (TARGET_X32))
8805 : return -1;
8806 : *pnum_clobbers = 1;
8807 : return 1689; /* *add_tp_x32_zext */
8808 :
8809 : default:
8810 : return -1;
8811 : }
8812 : }
8813 :
8814 : int
8815 : recog_79 (rtx x1 ATTRIBUTE_UNUSED,
8816 : rtx_insn *insn ATTRIBUTE_UNUSED,
8817 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8818 : {
8819 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8820 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
8821 : rtx x10, x11, x12, x13;
8822 : int res ATTRIBUTE_UNUSED;
8823 : x2 = XEXP (x1, 0);
8824 : operands[0] = x2;
8825 : x3 = XEXP (x1, 1);
8826 : x4 = XEXP (x3, 0);
8827 : switch (GET_CODE (x4))
8828 : {
8829 : case PLUS:
8830 : return recog_74 (x1, insn, pnum_clobbers);
8831 :
8832 : case MINUS:
8833 : return recog_76 (x1, insn, pnum_clobbers);
8834 :
8835 : case MULT:
8836 : x5 = XEXP (x4, 0);
8837 : operands[1] = x5;
8838 : x6 = XEXP (x4, 1);
8839 : operands[2] = x6;
8840 : switch (GET_MODE (operands[0]))
8841 : {
8842 : case E_SImode:
8843 : if (!register_operand (operands[0], E_SImode)
8844 : || GET_MODE (x3) != E_SImode
8845 : || GET_MODE (x4) != E_HImode
8846 : || !nonimmediate_operand (operands[1], E_HImode)
8847 : || !immediate_operand (operands[2], E_HImode))
8848 : return -1;
8849 : if (
8850 : #line 11375 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8851 : (TARGET_APX_ZU && TARGET_APX_NF))
8852 : return 624; /* *imulhisizu_nf */
8853 : if (pnum_clobbers == NULL
8854 : || !
8855 : #line 11375 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8856 : (TARGET_APX_ZU && true))
8857 : return -1;
8858 : *pnum_clobbers = 1;
8859 : return 625; /* *imulhisizu */
8860 :
8861 : case E_DImode:
8862 : if (!register_operand (operands[0], E_DImode)
8863 : || GET_MODE (x3) != E_DImode)
8864 : return -1;
8865 : switch (GET_MODE (x4))
8866 : {
8867 : case E_HImode:
8868 : if (!nonimmediate_operand (operands[1], E_HImode)
8869 : || !immediate_operand (operands[2], E_HImode))
8870 : return -1;
8871 : if (
8872 : #line 11375 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8873 : (TARGET_APX_ZU && TARGET_APX_NF))
8874 : return 626; /* *imulhidizu_nf */
8875 : if (pnum_clobbers == NULL
8876 : || !
8877 : #line 11375 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8878 : (TARGET_APX_ZU && true))
8879 : return -1;
8880 : *pnum_clobbers = 1;
8881 : return 627; /* *imulhidizu */
8882 :
8883 : case E_SImode:
8884 : if (!nonimmediate_operand (operands[1], E_SImode)
8885 : || !x86_64_general_operand (operands[2], E_SImode))
8886 : return -1;
8887 : if (
8888 : #line 11387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8889 : (TARGET_64BIT
8890 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
8891 : && TARGET_APX_NF))
8892 : return 628; /* *mulsi3_1_zext_nf */
8893 : if (pnum_clobbers == NULL
8894 : || !
8895 : #line 11387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8896 : (TARGET_64BIT
8897 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
8898 : && true))
8899 : return -1;
8900 : *pnum_clobbers = 1;
8901 : return 629; /* *mulsi3_1_zext */
8902 :
8903 : default:
8904 : return -1;
8905 : }
8906 :
8907 : default:
8908 : return -1;
8909 : }
8910 :
8911 : case SMUL_HIGHPART:
8912 : if (pattern113 (x3, pnum_clobbers) != 0
8913 : || !
8914 : #line 11897 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8915 : (TARGET_64BIT))
8916 : return -1;
8917 : *pnum_clobbers = 2;
8918 : return 659; /* *smulsi3_highpart_zext */
8919 :
8920 : case UMUL_HIGHPART:
8921 : if (pattern113 (x3, pnum_clobbers) != 0
8922 : || !
8923 : #line 11897 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8924 : (TARGET_64BIT))
8925 : return -1;
8926 : *pnum_clobbers = 2;
8927 : return 660; /* *umulsi3_highpart_zext */
8928 :
8929 : case TRUNCATE:
8930 : if (pnum_clobbers == NULL
8931 : || GET_MODE (x4) != E_SImode)
8932 : return -1;
8933 : x5 = XEXP (x4, 0);
8934 : if (GET_CODE (x5) != LSHIFTRT
8935 : || GET_MODE (x5) != E_DImode)
8936 : return -1;
8937 : x7 = XEXP (x5, 0);
8938 : if (GET_CODE (x7) != MULT
8939 : || GET_MODE (x7) != E_DImode)
8940 : return -1;
8941 : x8 = XEXP (x5, 1);
8942 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 32]
8943 : || !register_operand (operands[0], E_DImode)
8944 : || GET_MODE (x3) != E_DImode)
8945 : return -1;
8946 : x9 = XEXP (x7, 0);
8947 : if (GET_MODE (x9) != E_DImode)
8948 : return -1;
8949 : x10 = XEXP (x7, 1);
8950 : if (GET_MODE (x10) != E_DImode)
8951 : return -1;
8952 : switch (GET_CODE (x9))
8953 : {
8954 : case SIGN_EXTEND:
8955 : if (GET_CODE (x10) != SIGN_EXTEND)
8956 : return -1;
8957 : x11 = XEXP (x9, 0);
8958 : operands[1] = x11;
8959 : if (!nonimmediate_operand (operands[1], E_SImode))
8960 : return -1;
8961 : x12 = XEXP (x10, 0);
8962 : operands[2] = x12;
8963 : if (!nonimmediate_operand (operands[2], E_SImode)
8964 : || !
8965 : #line 11945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8966 : (TARGET_64BIT
8967 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8968 : return -1;
8969 : *pnum_clobbers = 2;
8970 : return 663; /* *smulsi3_highpart_zext */
8971 :
8972 : case ZERO_EXTEND:
8973 : if (GET_CODE (x10) != ZERO_EXTEND)
8974 : return -1;
8975 : x11 = XEXP (x9, 0);
8976 : operands[1] = x11;
8977 : if (!nonimmediate_operand (operands[1], E_SImode))
8978 : return -1;
8979 : x12 = XEXP (x10, 0);
8980 : operands[2] = x12;
8981 : if (!nonimmediate_operand (operands[2], E_SImode)
8982 : || !
8983 : #line 11945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8984 : (TARGET_64BIT
8985 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8986 : return -1;
8987 : *pnum_clobbers = 2;
8988 : return 664; /* *umulsi3_highpart_zext */
8989 :
8990 : default:
8991 : return -1;
8992 : }
8993 :
8994 : case AND:
8995 : return recog_75 (x1, insn, pnum_clobbers);
8996 :
8997 : case IOR:
8998 : switch (pattern115 (x3, pnum_clobbers))
8999 : {
9000 : case 0:
9001 : if (
9002 : #line 14510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9003 : (TARGET_APX_NDD && TARGET_APX_NF
9004 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9005 : return 875; /* *iorqi_1_zextsi_nf */
9006 : if (pnum_clobbers == NULL
9007 : || !
9008 : #line 14510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9009 : (TARGET_APX_NDD && true
9010 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9011 : return -1;
9012 : *pnum_clobbers = 1;
9013 : return 876; /* *iorqi_1_zextsi */
9014 :
9015 : case 1:
9016 : if (
9017 : #line 14529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9018 : (TARGET_APX_NDD && TARGET_APX_NF
9019 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9020 : return 883; /* *iorhi_1_zextsi_nf */
9021 : if (pnum_clobbers == NULL
9022 : || !
9023 : #line 14529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9024 : (TARGET_APX_NDD && true
9025 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9026 : return -1;
9027 : *pnum_clobbers = 1;
9028 : return 884; /* *iorhi_1_zextsi */
9029 :
9030 : case 2:
9031 : if (
9032 : #line 14510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9033 : (TARGET_APX_NDD && TARGET_APX_NF
9034 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9035 : return 879; /* *iorqi_1_zextdi_nf */
9036 : if (pnum_clobbers == NULL
9037 : || !
9038 : #line 14510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9039 : (TARGET_APX_NDD && true
9040 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9041 : return -1;
9042 : *pnum_clobbers = 1;
9043 : return 880; /* *iorqi_1_zextdi */
9044 :
9045 : case 3:
9046 : if (
9047 : #line 14529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9048 : (TARGET_APX_NDD && TARGET_APX_NF
9049 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9050 : return 887; /* *iorhi_1_zextdi_nf */
9051 : if (pnum_clobbers == NULL
9052 : || !
9053 : #line 14529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9054 : (TARGET_APX_NDD && true
9055 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9056 : return -1;
9057 : *pnum_clobbers = 1;
9058 : return 888; /* *iorhi_1_zextdi */
9059 :
9060 : case 4:
9061 : if (!
9062 : #line 14550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9063 : (TARGET_64BIT
9064 : && ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)))
9065 : return -1;
9066 : *pnum_clobbers = 1;
9067 : return 891; /* *iorsi_1_zext */
9068 :
9069 : default:
9070 : return -1;
9071 : }
9072 :
9073 : case XOR:
9074 : return recog_78 (x1, insn, pnum_clobbers);
9075 :
9076 : case NEG:
9077 : x5 = XEXP (x4, 0);
9078 : operands[1] = x5;
9079 : switch (pattern284 (x3, pnum_clobbers))
9080 : {
9081 : case 0:
9082 : if (
9083 : #line 15224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9084 : (TARGET_APX_NDD && TARGET_APX_NF))
9085 : return 996; /* *negqi_1_zextsi_nf */
9086 : if (pnum_clobbers == NULL
9087 : || !
9088 : #line 15224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9089 : (TARGET_APX_NDD && true))
9090 : return -1;
9091 : *pnum_clobbers = 1;
9092 : return 997; /* *negqi_1_zextsi */
9093 :
9094 : case 1:
9095 : if (
9096 : #line 15238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9097 : (TARGET_APX_NDD && TARGET_APX_NF))
9098 : return 1000; /* *neghi_1_zextsi_nf */
9099 : if (pnum_clobbers == NULL
9100 : || !
9101 : #line 15238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9102 : (TARGET_APX_NDD && true))
9103 : return -1;
9104 : *pnum_clobbers = 1;
9105 : return 1001; /* *neghi_1_zextsi */
9106 :
9107 : case 2:
9108 : if (
9109 : #line 15224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9110 : (TARGET_APX_NDD && TARGET_APX_NF))
9111 : return 998; /* *negqi_1_zextdi_nf */
9112 : if (pnum_clobbers == NULL
9113 : || !
9114 : #line 15224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9115 : (TARGET_APX_NDD && true))
9116 : return -1;
9117 : *pnum_clobbers = 1;
9118 : return 999; /* *negqi_1_zextdi */
9119 :
9120 : case 3:
9121 : if (
9122 : #line 15238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9123 : (TARGET_APX_NDD && TARGET_APX_NF))
9124 : return 1002; /* *neghi_1_zextdi_nf */
9125 : if (pnum_clobbers == NULL
9126 : || !
9127 : #line 15238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9128 : (TARGET_APX_NDD && true))
9129 : return -1;
9130 : *pnum_clobbers = 1;
9131 : return 1003; /* *neghi_1_zextdi */
9132 :
9133 : case 4:
9134 : if (!
9135 : #line 15253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9136 : (TARGET_64BIT
9137 : && ix86_unary_operator_ok (NEG, SImode, operands, TARGET_APX_NDD)))
9138 : return -1;
9139 : *pnum_clobbers = 1;
9140 : return 1004; /* *negsi_1_zext */
9141 :
9142 : default:
9143 : return -1;
9144 : }
9145 :
9146 : case NOT:
9147 : x5 = XEXP (x4, 0);
9148 : operands[1] = x5;
9149 : switch (GET_MODE (operands[0]))
9150 : {
9151 : case E_SImode:
9152 : switch (pattern283 (x3))
9153 : {
9154 : case 0:
9155 : if (!
9156 : #line 15917 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9157 : (TARGET_APX_NDD))
9158 : return -1;
9159 : return 1068; /* *one_cmplqi2_1_zextsi */
9160 :
9161 : case 1:
9162 : if (!
9163 : #line 15930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9164 : (TARGET_APX_NDD))
9165 : return -1;
9166 : return 1070; /* *one_cmplhi2_1_zextsi */
9167 :
9168 : default:
9169 : return -1;
9170 : }
9171 :
9172 : case E_DImode:
9173 : if (!register_operand (operands[0], E_DImode)
9174 : || GET_MODE (x3) != E_DImode)
9175 : return -1;
9176 : switch (GET_MODE (x4))
9177 : {
9178 : case E_QImode:
9179 : if (!nonimmediate_operand (operands[1], E_QImode)
9180 : || !
9181 : #line 15917 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9182 : (TARGET_APX_NDD))
9183 : return -1;
9184 : return 1069; /* *one_cmplqi2_1_zextdi */
9185 :
9186 : case E_HImode:
9187 : if (!nonimmediate_operand (operands[1], E_HImode)
9188 : || !
9189 : #line 15930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9190 : (TARGET_APX_NDD))
9191 : return -1;
9192 : return 1071; /* *one_cmplhi2_1_zextdi */
9193 :
9194 : case E_SImode:
9195 : if (!nonimmediate_operand (operands[1], E_SImode)
9196 : || !
9197 : #line 15943 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9198 : (TARGET_64BIT
9199 : && ix86_unary_operator_ok (NOT, SImode, operands, TARGET_APX_NDD)))
9200 : return -1;
9201 : return 1072; /* *one_cmplsi2_1_zext */
9202 :
9203 : default:
9204 : return -1;
9205 : }
9206 :
9207 : default:
9208 : return -1;
9209 : }
9210 :
9211 : case ASHIFT:
9212 : switch (pattern116 (x3))
9213 : {
9214 : case 0:
9215 : if (register_operand (operands[2], E_SImode)
9216 : &&
9217 : #line 16947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9218 : (TARGET_64BIT && TARGET_BMI2))
9219 : return 1124; /* *bmi2_ashlsi3_1_zext */
9220 : if (pnum_clobbers == NULL
9221 : || !nonmemory_operand (operands[2], E_QImode)
9222 : || !
9223 : #line 16988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9224 : (TARGET_64BIT
9225 : && ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)))
9226 : return -1;
9227 : *pnum_clobbers = 1;
9228 : return 1135; /* *ashlsi3_1_zext */
9229 :
9230 : case 1:
9231 : if (
9232 : #line 16957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9233 : (TARGET_APX_NDD && TARGET_APX_NF))
9234 : return 1129; /* *ashlqi3_1_zextdi_nf */
9235 : if (pnum_clobbers == NULL
9236 : || !
9237 : #line 16957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9238 : (TARGET_APX_NDD && true))
9239 : return -1;
9240 : *pnum_clobbers = 1;
9241 : return 1130; /* *ashlqi3_1_zextdi */
9242 :
9243 : case 2:
9244 : if (
9245 : #line 16972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9246 : (TARGET_APX_NDD && TARGET_APX_NF))
9247 : return 1133; /* *ashlhi3_1_zextdi_nf */
9248 : if (pnum_clobbers == NULL
9249 : || !
9250 : #line 16972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9251 : (TARGET_APX_NDD && true))
9252 : return -1;
9253 : *pnum_clobbers = 1;
9254 : return 1134; /* *ashlhi3_1_zextdi */
9255 :
9256 : case 3:
9257 : if (
9258 : #line 16957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9259 : (TARGET_APX_NDD && TARGET_APX_NF))
9260 : return 1127; /* *ashlqi3_1_zextsi_nf */
9261 : if (pnum_clobbers == NULL
9262 : || !
9263 : #line 16957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9264 : (TARGET_APX_NDD && true))
9265 : return -1;
9266 : *pnum_clobbers = 1;
9267 : return 1128; /* *ashlqi3_1_zextsi */
9268 :
9269 : case 4:
9270 : if (
9271 : #line 16972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9272 : (TARGET_APX_NDD && TARGET_APX_NF))
9273 : return 1131; /* *ashlhi3_1_zextsi_nf */
9274 : if (pnum_clobbers == NULL
9275 : || !
9276 : #line 16972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9277 : (TARGET_APX_NDD && true))
9278 : return -1;
9279 : *pnum_clobbers = 1;
9280 : return 1132; /* *ashlhi3_1_zextsi */
9281 :
9282 : default:
9283 : return -1;
9284 : }
9285 :
9286 : case ASHIFTRT:
9287 : if (GET_MODE (x4) == E_SImode
9288 : && register_operand (operands[0], E_DImode))
9289 : {
9290 : res = recog_72 (x1, insn, pnum_clobbers);
9291 : if (res >= 0)
9292 : return res;
9293 : }
9294 : x5 = XEXP (x4, 0);
9295 : operands[1] = x5;
9296 : switch (pattern285 (x3, pnum_clobbers))
9297 : {
9298 : case 0:
9299 : if (
9300 : #line 18391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9301 : (TARGET_APX_NDD && TARGET_APX_NF))
9302 : return 1224; /* *ashrqi3_1_zextsi_nf */
9303 : if (pnum_clobbers == NULL
9304 : || !
9305 : #line 18391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9306 : (TARGET_APX_NDD && true))
9307 : return -1;
9308 : *pnum_clobbers = 1;
9309 : return 1225; /* *ashrqi3_1_zextsi */
9310 :
9311 : case 1:
9312 : if (
9313 : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9314 : (TARGET_APX_NDD && TARGET_APX_NF))
9315 : return 1232; /* *ashrhi3_1_zextsi_nf */
9316 : if (pnum_clobbers == NULL
9317 : || !
9318 : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9319 : (TARGET_APX_NDD && true))
9320 : return -1;
9321 : *pnum_clobbers = 1;
9322 : return 1233; /* *ashrhi3_1_zextsi */
9323 :
9324 : case 2:
9325 : if (
9326 : #line 18391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9327 : (TARGET_APX_NDD && TARGET_APX_NF))
9328 : return 1228; /* *ashrqi3_1_zextdi_nf */
9329 : if (pnum_clobbers == NULL
9330 : || !
9331 : #line 18391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9332 : (TARGET_APX_NDD && true))
9333 : return -1;
9334 : *pnum_clobbers = 1;
9335 : return 1229; /* *ashrqi3_1_zextdi */
9336 :
9337 : case 3:
9338 : if (
9339 : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9340 : (TARGET_APX_NDD && TARGET_APX_NF))
9341 : return 1236; /* *ashrhi3_1_zextdi_nf */
9342 : if (pnum_clobbers == NULL
9343 : || !
9344 : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9345 : (TARGET_APX_NDD && true))
9346 : return -1;
9347 : *pnum_clobbers = 1;
9348 : return 1237; /* *ashrhi3_1_zextdi */
9349 :
9350 : case 4:
9351 : if (!
9352 : #line 18422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9353 : (TARGET_64BIT
9354 : && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
9355 : return -1;
9356 : *pnum_clobbers = 1;
9357 : return 1239; /* *ashrsi3_1_zext */
9358 :
9359 : default:
9360 : return -1;
9361 : }
9362 :
9363 : case LSHIFTRT:
9364 : switch (pattern116 (x3))
9365 : {
9366 : case 0:
9367 : if (register_operand (operands[2], E_SImode)
9368 : &&
9369 : #line 18381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9370 : (TARGET_64BIT && TARGET_BMI2))
9371 : return 1216; /* *bmi2_lshrsi3_1_zext */
9372 : if (pnum_clobbers == NULL
9373 : || !nonmemory_operand (operands[2], E_QImode)
9374 : || !
9375 : #line 18422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9376 : (TARGET_64BIT
9377 : && ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)))
9378 : return -1;
9379 : *pnum_clobbers = 1;
9380 : return 1238; /* *lshrsi3_1_zext */
9381 :
9382 : case 1:
9383 : if (
9384 : #line 18391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9385 : (TARGET_APX_NDD && TARGET_APX_NF))
9386 : return 1226; /* *lshrqi3_1_zextdi_nf */
9387 : if (pnum_clobbers == NULL
9388 : || !
9389 : #line 18391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9390 : (TARGET_APX_NDD && true))
9391 : return -1;
9392 : *pnum_clobbers = 1;
9393 : return 1227; /* *lshrqi3_1_zextdi */
9394 :
9395 : case 2:
9396 : if (
9397 : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9398 : (TARGET_APX_NDD && TARGET_APX_NF))
9399 : return 1234; /* *lshrhi3_1_zextdi_nf */
9400 : if (pnum_clobbers == NULL
9401 : || !
9402 : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9403 : (TARGET_APX_NDD && true))
9404 : return -1;
9405 : *pnum_clobbers = 1;
9406 : return 1235; /* *lshrhi3_1_zextdi */
9407 :
9408 : case 3:
9409 : if (
9410 : #line 18391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9411 : (TARGET_APX_NDD && TARGET_APX_NF))
9412 : return 1222; /* *lshrqi3_1_zextsi_nf */
9413 : if (pnum_clobbers == NULL
9414 : || !
9415 : #line 18391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9416 : (TARGET_APX_NDD && true))
9417 : return -1;
9418 : *pnum_clobbers = 1;
9419 : return 1223; /* *lshrqi3_1_zextsi */
9420 :
9421 : case 4:
9422 : if (
9423 : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9424 : (TARGET_APX_NDD && TARGET_APX_NF))
9425 : return 1230; /* *lshrhi3_1_zextsi_nf */
9426 : if (pnum_clobbers == NULL
9427 : || !
9428 : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9429 : (TARGET_APX_NDD && true))
9430 : return -1;
9431 : *pnum_clobbers = 1;
9432 : return 1231; /* *lshrhi3_1_zextsi */
9433 :
9434 : default:
9435 : return -1;
9436 : }
9437 :
9438 : case ROTATERT:
9439 : switch (pattern116 (x3))
9440 : {
9441 : case 0:
9442 : if (const_0_to_31_operand (operands[2], E_QImode)
9443 : &&
9444 : #line 19487 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9445 : (TARGET_64BIT && TARGET_BMI2 && !optimize_function_for_size_p (cfun)))
9446 : return 1382; /* *bmi2_rorxsi3_1_zext */
9447 : if (pnum_clobbers == NULL
9448 : || !nonmemory_operand (operands[2], E_QImode)
9449 : || !
9450 : #line 19528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9451 : (TARGET_64BIT && ix86_binary_operator_ok (ROTATERT, SImode, operands)))
9452 : return -1;
9453 : *pnum_clobbers = 1;
9454 : return 1404; /* *rotrsi3_1_zext */
9455 :
9456 : case 1:
9457 : if (
9458 : #line 19497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9459 : (TARGET_APX_NDD && TARGET_APX_NF))
9460 : return 1393; /* *rotrqi3_1_zextdi_nf */
9461 : if (pnum_clobbers == NULL
9462 : || !
9463 : #line 19497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9464 : (TARGET_APX_NDD && true))
9465 : return -1;
9466 : *pnum_clobbers = 1;
9467 : return 1394; /* *rotrqi3_1_zextdi */
9468 :
9469 : case 2:
9470 : if (
9471 : #line 19512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9472 : (TARGET_APX_NDD && TARGET_APX_NF))
9473 : return 1401; /* *rotrhi3_1_zextdi_nf */
9474 : if (pnum_clobbers == NULL
9475 : || !
9476 : #line 19512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9477 : (TARGET_APX_NDD && true))
9478 : return -1;
9479 : *pnum_clobbers = 1;
9480 : return 1402; /* *rotrhi3_1_zextdi */
9481 :
9482 : case 3:
9483 : if (
9484 : #line 19497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9485 : (TARGET_APX_NDD && TARGET_APX_NF))
9486 : return 1389; /* *rotrqi3_1_zextsi_nf */
9487 : if (pnum_clobbers == NULL
9488 : || !
9489 : #line 19497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9490 : (TARGET_APX_NDD && true))
9491 : return -1;
9492 : *pnum_clobbers = 1;
9493 : return 1390; /* *rotrqi3_1_zextsi */
9494 :
9495 : case 4:
9496 : if (
9497 : #line 19512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9498 : (TARGET_APX_NDD && TARGET_APX_NF))
9499 : return 1397; /* *rotrhi3_1_zextsi_nf */
9500 : if (pnum_clobbers == NULL
9501 : || !
9502 : #line 19512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9503 : (TARGET_APX_NDD && true))
9504 : return -1;
9505 : *pnum_clobbers = 1;
9506 : return 1398; /* *rotrhi3_1_zextsi */
9507 :
9508 : default:
9509 : return -1;
9510 : }
9511 :
9512 : case ROTATE:
9513 : x5 = XEXP (x4, 0);
9514 : operands[1] = x5;
9515 : switch (pattern285 (x3, pnum_clobbers))
9516 : {
9517 : case 0:
9518 : if (
9519 : #line 19497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9520 : (TARGET_APX_NDD && TARGET_APX_NF))
9521 : return 1387; /* *rotlqi3_1_zextsi_nf */
9522 : if (pnum_clobbers == NULL
9523 : || !
9524 : #line 19497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9525 : (TARGET_APX_NDD && true))
9526 : return -1;
9527 : *pnum_clobbers = 1;
9528 : return 1388; /* *rotlqi3_1_zextsi */
9529 :
9530 : case 1:
9531 : if (
9532 : #line 19512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9533 : (TARGET_APX_NDD && TARGET_APX_NF))
9534 : return 1395; /* *rotlhi3_1_zextsi_nf */
9535 : if (pnum_clobbers == NULL
9536 : || !
9537 : #line 19512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9538 : (TARGET_APX_NDD && true))
9539 : return -1;
9540 : *pnum_clobbers = 1;
9541 : return 1396; /* *rotlhi3_1_zextsi */
9542 :
9543 : case 2:
9544 : if (
9545 : #line 19497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9546 : (TARGET_APX_NDD && TARGET_APX_NF))
9547 : return 1391; /* *rotlqi3_1_zextdi_nf */
9548 : if (pnum_clobbers == NULL
9549 : || !
9550 : #line 19497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9551 : (TARGET_APX_NDD && true))
9552 : return -1;
9553 : *pnum_clobbers = 1;
9554 : return 1392; /* *rotlqi3_1_zextdi */
9555 :
9556 : case 3:
9557 : if (
9558 : #line 19512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9559 : (TARGET_APX_NDD && TARGET_APX_NF))
9560 : return 1399; /* *rotlhi3_1_zextdi_nf */
9561 : if (pnum_clobbers == NULL
9562 : || !
9563 : #line 19512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9564 : (TARGET_APX_NDD && true))
9565 : return -1;
9566 : *pnum_clobbers = 1;
9567 : return 1400; /* *rotlhi3_1_zextdi */
9568 :
9569 : case 4:
9570 : if (!
9571 : #line 19528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9572 : (TARGET_64BIT && ix86_binary_operator_ok (ROTATE, SImode, operands)))
9573 : return -1;
9574 : *pnum_clobbers = 1;
9575 : return 1403; /* *rotlsi3_1_zext */
9576 :
9577 : default:
9578 : return -1;
9579 : }
9580 :
9581 : case CTZ:
9582 : if (pattern117 (x3, pnum_clobbers,
9583 : E_SImode,
9584 : E_DImode) != 0
9585 : || !
9586 : #line 22114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9587 : (TARGET_64BIT))
9588 : return -1;
9589 : *pnum_clobbers = 1;
9590 : return 1545; /* *ctzsidi2_uext */
9591 :
9592 : case CLZ:
9593 : if (pattern117 (x3, pnum_clobbers,
9594 : E_SImode,
9595 : E_DImode) != 0
9596 : || !
9597 : #line 22557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9598 : (TARGET_LZCNT && TARGET_64BIT))
9599 : return -1;
9600 : *pnum_clobbers = 1;
9601 : return 1569; /* *clzsi2_lzcnt_zext_2 */
9602 :
9603 : case POPCOUNT:
9604 : if (pnum_clobbers == NULL)
9605 : return -1;
9606 : x5 = XEXP (x4, 0);
9607 : operands[1] = x5;
9608 : switch (GET_MODE (operands[0]))
9609 : {
9610 : case E_DImode:
9611 : if (pattern630 (x3,
9612 : E_DImode,
9613 : E_SImode) != 0
9614 : || !
9615 : #line 23396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9616 : (TARGET_POPCNT && TARGET_64BIT))
9617 : return -1;
9618 : *pnum_clobbers = 1;
9619 : return 1660; /* *popcountsi2_zext_2 */
9620 :
9621 : case E_SImode:
9622 : if (pattern630 (x3,
9623 : E_SImode,
9624 : E_HImode) != 0
9625 : || !
9626 : #line 23462 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9627 : (TARGET_POPCNT
9628 : && ix86_pre_reload_split ()))
9629 : return -1;
9630 : *pnum_clobbers = 1;
9631 : return 1663; /* *popcounthi2_2 */
9632 :
9633 : default:
9634 : return -1;
9635 : }
9636 :
9637 : case UNSPEC:
9638 : return recog_73 (x1, insn, pnum_clobbers);
9639 :
9640 : case IF_THEN_ELSE:
9641 : if (GET_MODE (x4) != E_SImode)
9642 : return -1;
9643 : x5 = XEXP (x4, 0);
9644 : if (!ix86_comparison_operator (x5, E_VOIDmode))
9645 : return -1;
9646 : operands[1] = x5;
9647 : x7 = XEXP (x5, 0);
9648 : if (GET_CODE (x7) != REG
9649 : || REGNO (x7) != 17)
9650 : return -1;
9651 : x8 = XEXP (x5, 1);
9652 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
9653 : || !nonimmediate_operand (operands[0], E_DImode)
9654 : || GET_MODE (x3) != E_DImode)
9655 : return -1;
9656 : x6 = XEXP (x4, 1);
9657 : operands[2] = x6;
9658 : if (!nonimmediate_operand (operands[2], E_SImode))
9659 : return -1;
9660 : x13 = XEXP (x4, 2);
9661 : operands[3] = x13;
9662 : if (!nonimmediate_operand (operands[3], E_SImode)
9663 : || !
9664 : #line 27440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9665 : (TARGET_64BIT
9666 : && TARGET_CMOVE && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
9667 : return -1;
9668 : return 1833; /* *movsicc_noc_zext_1 */
9669 :
9670 : case VEC_SELECT:
9671 : return recog_77 (x1, insn, pnum_clobbers);
9672 :
9673 : case SUBREG:
9674 : if (pattern118 (x3) != 0
9675 : || !
9676 : #line 22644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9677 : (TARGET_SSE2 && ix86_pre_reload_split ()))
9678 : return -1;
9679 : return 8626; /* *sse2_pmovskb_zexthisi */
9680 :
9681 : default:
9682 : return -1;
9683 : }
9684 : }
9685 :
9686 : int
9687 : recog_107 (rtx x1 ATTRIBUTE_UNUSED,
9688 : rtx_insn *insn ATTRIBUTE_UNUSED,
9689 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9690 : {
9691 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9692 : rtx x2, x3, x4, x5, x6, x7, x8;
9693 : int res ATTRIBUTE_UNUSED;
9694 : x2 = XEXP (x1, 0);
9695 : if (GET_CODE (x2) == SUBREG
9696 : && known_eq (SUBREG_BYTE (x2), 0))
9697 : {
9698 : x3 = XEXP (x2, 0);
9699 : operands[0] = x3;
9700 : if (register_operand (operands[0], E_QImode))
9701 : {
9702 : x4 = XEXP (x1, 1);
9703 : x5 = XEXP (x4, 2);
9704 : operands[2] = x5;
9705 : if (register_operand (operands[2], E_QImode))
9706 : {
9707 : switch (GET_MODE (x2))
9708 : {
9709 : case E_SImode:
9710 : if (GET_MODE (x4) == E_SImode
9711 : && nonimmediate_operand (operands[1], E_SImode)
9712 : &&
9713 : #line 20258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9714 : (TARGET_USE_BT && ix86_pre_reload_split ()))
9715 : {
9716 : *pnum_clobbers = 1;
9717 : return 1458; /* *btsi_setcqi */
9718 : }
9719 : break;
9720 :
9721 : case E_DImode:
9722 : if (GET_MODE (x4) == E_DImode
9723 : && nonimmediate_operand (operands[1], E_DImode)
9724 : && (
9725 : #line 20258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9726 : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
9727 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9728 : (TARGET_64BIT)))
9729 : {
9730 : *pnum_clobbers = 1;
9731 : return 1459; /* *btdi_setcqi */
9732 : }
9733 : break;
9734 :
9735 : default:
9736 : break;
9737 : }
9738 : }
9739 : }
9740 : }
9741 : x4 = XEXP (x1, 1);
9742 : x5 = XEXP (x4, 2);
9743 : if (GET_CODE (x5) != SUBREG
9744 : || maybe_ne (SUBREG_BYTE (x5), 0)
9745 : || GET_MODE (x5) != E_QImode)
9746 : return -1;
9747 : x6 = XEXP (x5, 0);
9748 : if (GET_CODE (x6) != AND)
9749 : return -1;
9750 : operands[0] = x2;
9751 : x7 = XEXP (x6, 0);
9752 : operands[2] = x7;
9753 : if (!int248_register_operand (operands[2], E_VOIDmode))
9754 : return -1;
9755 : x8 = XEXP (x6, 1);
9756 : operands[3] = x8;
9757 : if (!const_int_operand (operands[3], E_VOIDmode))
9758 : return -1;
9759 : switch (pattern132 (x4))
9760 : {
9761 : case 0:
9762 : if (!
9763 : #line 20339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9764 : (TARGET_USE_BT
9765 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
9766 : == GET_MODE_BITSIZE (SImode)-1
9767 : && ix86_pre_reload_split ()))
9768 : return -1;
9769 : *pnum_clobbers = 1;
9770 : return 1466; /* *btsi_setcsi_mask */
9771 :
9772 : case 1:
9773 : if (!(
9774 : #line 20339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9775 : (TARGET_USE_BT
9776 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
9777 : == GET_MODE_BITSIZE (DImode)-1
9778 : && ix86_pre_reload_split ()) &&
9779 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9780 : (TARGET_64BIT)))
9781 : return -1;
9782 : *pnum_clobbers = 1;
9783 : return 1467; /* *btdi_setcdi_mask */
9784 :
9785 : default:
9786 : return -1;
9787 : }
9788 : }
9789 :
9790 : int
9791 : recog_109 (rtx x1 ATTRIBUTE_UNUSED,
9792 : rtx_insn *insn ATTRIBUTE_UNUSED,
9793 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9794 : {
9795 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9796 : rtx x2, x3, x4, x5;
9797 : int res ATTRIBUTE_UNUSED;
9798 : x2 = XEXP (x1, 1);
9799 : operands[1] = x2;
9800 : x3 = XEXP (x2, 0);
9801 : if (GET_CODE (x3) != REG
9802 : || REGNO (x3) != 17)
9803 : return -1;
9804 : x4 = XEXP (x2, 1);
9805 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
9806 : return -1;
9807 : x5 = XEXP (x1, 0);
9808 : operands[0] = x5;
9809 : switch (GET_MODE (operands[0]))
9810 : {
9811 : case E_SImode:
9812 : if (!register_operand (operands[0], E_SImode)
9813 : || !ix86_comparison_operator (operands[1], E_SImode))
9814 : return -1;
9815 : if (
9816 : #line 20407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9817 : (TARGET_APX_ZU && !TARGET_DISABLE_SETZUCC))
9818 : return 1469; /* *setcc_si_zu */
9819 : if (pnum_clobbers != NULL
9820 : &&
9821 : #line 20432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9822 : (!TARGET_PARTIAL_REG_STALL
9823 : && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
9824 : {
9825 : *pnum_clobbers = 1;
9826 : return 1473; /* *setcc_si_1_and */
9827 : }
9828 : if (!
9829 : #line 20449 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9830 : ((!TARGET_APX_ZU || TARGET_DISABLE_SETZUCC) && !TARGET_PARTIAL_REG_STALL
9831 : && (!TARGET_ZERO_EXTEND_WITH_AND || optimize_function_for_size_p (cfun))))
9832 : return -1;
9833 : return 1475; /* *setcc_si_1_movzbl */
9834 :
9835 : case E_DImode:
9836 : if (!register_operand (operands[0], E_DImode)
9837 : || !ix86_comparison_operator (operands[1], E_DImode))
9838 : return -1;
9839 : if ((
9840 : #line 20407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9841 : (TARGET_APX_ZU && !TARGET_DISABLE_SETZUCC) &&
9842 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9843 : (TARGET_64BIT)))
9844 : return 1470; /* *setcc_di_zu */
9845 : if (!
9846 : #line 20415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9847 : ((!TARGET_APX_ZU || TARGET_DISABLE_SETZUCC)
9848 : && TARGET_64BIT && !TARGET_PARTIAL_REG_STALL))
9849 : return -1;
9850 : return 1471; /* *setcc_di_1 */
9851 :
9852 : default:
9853 : return -1;
9854 : }
9855 : }
9856 :
9857 : int
9858 : recog_112 (rtx x1 ATTRIBUTE_UNUSED,
9859 : rtx_insn *insn ATTRIBUTE_UNUSED,
9860 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9861 : {
9862 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9863 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
9864 : rtx x10, x11, x12, x13;
9865 : int res ATTRIBUTE_UNUSED;
9866 : x2 = XEXP (x1, 0);
9867 : operands[0] = x2;
9868 : x3 = XEXP (x1, 1);
9869 : switch (XINT (x3, 1))
9870 : {
9871 : case 46:
9872 : if (pattern301 (x3) != 0
9873 : || !register_operand (operands[0], E_SImode))
9874 : return -1;
9875 : x4 = XVECEXP (x3, 0, 1);
9876 : operands[2] = x4;
9877 : if (!register_operand (operands[2], E_SImode)
9878 : || !
9879 : #line 20503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9880 : (ix86_pre_reload_split ()))
9881 : return -1;
9882 : return 1478; /* *setcc_si_slp */
9883 :
9884 : case 99:
9885 : if (pnum_clobbers == NULL)
9886 : return -1;
9887 : x5 = XVECEXP (x3, 0, 0);
9888 : operands[1] = x5;
9889 : x4 = XVECEXP (x3, 0, 1);
9890 : operands[2] = x4;
9891 : switch (GET_MODE (operands[0]))
9892 : {
9893 : case E_SImode:
9894 : if (pattern789 (x3,
9895 : E_SImode) != 0
9896 : || !
9897 : #line 22696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9898 : (TARGET_BMI))
9899 : return -1;
9900 : *pnum_clobbers = 1;
9901 : return 1592; /* bmi_bextr_si */
9902 :
9903 : case E_DImode:
9904 : if (pattern789 (x3,
9905 : E_DImode) != 0
9906 : || !(
9907 : #line 22696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9908 : (TARGET_BMI) &&
9909 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9910 : (TARGET_64BIT)))
9911 : return -1;
9912 : *pnum_clobbers = 1;
9913 : return 1593; /* bmi_bextr_di */
9914 :
9915 : default:
9916 : return -1;
9917 : }
9918 :
9919 : case 100:
9920 : switch (pattern302 (x3))
9921 : {
9922 : case 0:
9923 : if (!
9924 : #line 23089 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9925 : (TARGET_BMI2))
9926 : return -1;
9927 : return 1626; /* bmi2_pdep_si3 */
9928 :
9929 : case 1:
9930 : if (!(
9931 : #line 23089 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9932 : (TARGET_BMI2) &&
9933 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9934 : (TARGET_64BIT)))
9935 : return -1;
9936 : return 1627; /* bmi2_pdep_di3 */
9937 :
9938 : default:
9939 : return -1;
9940 : }
9941 :
9942 : case 101:
9943 : switch (pattern302 (x3))
9944 : {
9945 : case 0:
9946 : if (!
9947 : #line 23100 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9948 : (TARGET_BMI2))
9949 : return -1;
9950 : return 1628; /* bmi2_pext_si3 */
9951 :
9952 : case 1:
9953 : if (!(
9954 : #line 23100 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9955 : (TARGET_BMI2) &&
9956 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9957 : (TARGET_64BIT)))
9958 : return -1;
9959 : return 1629; /* bmi2_pext_di3 */
9960 :
9961 : default:
9962 : return -1;
9963 : }
9964 :
9965 : case 94:
9966 : if (pnum_clobbers == NULL
9967 : || GET_MODE (x3) != E_CCZmode
9968 : || !flags_reg_operand (operands[0], E_CCZmode))
9969 : return -1;
9970 : x5 = XVECEXP (x3, 0, 0);
9971 : operands[1] = x5;
9972 : x4 = XVECEXP (x3, 0, 1);
9973 : operands[2] = x4;
9974 : switch (GET_MODE (operands[1]))
9975 : {
9976 : case E_SImode:
9977 : if (!memory_operand (operands[1], E_SImode)
9978 : || !memory_operand (operands[2], E_SImode)
9979 : || !
9980 : #line 1412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9981 : (ptr_mode == SImode))
9982 : return -1;
9983 : *pnum_clobbers = 1;
9984 : return 1928; /* stack_protect_test_1_si */
9985 :
9986 : case E_DImode:
9987 : if (!memory_operand (operands[1], E_DImode)
9988 : || !memory_operand (operands[2], E_DImode)
9989 : || !
9990 : #line 1412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9991 : (ptr_mode == DImode))
9992 : return -1;
9993 : *pnum_clobbers = 1;
9994 : return 1929; /* stack_protect_test_1_di */
9995 :
9996 : default:
9997 : return -1;
9998 : }
9999 :
10000 : case 96:
10001 : if (GET_MODE (x3) != E_SImode
10002 : || !register_operand (operands[0], E_SImode))
10003 : return -1;
10004 : x5 = XVECEXP (x3, 0, 0);
10005 : operands[1] = x5;
10006 : if (!register_operand (operands[1], E_SImode))
10007 : return -1;
10008 : x4 = XVECEXP (x3, 0, 1);
10009 : operands[2] = x4;
10010 : switch (GET_MODE (operands[2]))
10011 : {
10012 : case E_QImode:
10013 : if (!nonimmediate_operand (operands[2], E_QImode)
10014 : || !
10015 : #line 30367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10016 : (TARGET_CRC32))
10017 : return -1;
10018 : return 1936; /* sse4_2_crc32qi */
10019 :
10020 : case E_HImode:
10021 : if (!nonimmediate_operand (operands[2], E_HImode)
10022 : || !
10023 : #line 30367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10024 : (TARGET_CRC32))
10025 : return -1;
10026 : return 1937; /* sse4_2_crc32hi */
10027 :
10028 : case E_SImode:
10029 : if (!nonimmediate_operand (operands[2], E_SImode)
10030 : || !
10031 : #line 30367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10032 : (TARGET_CRC32))
10033 : return -1;
10034 : return 1938; /* sse4_2_crc32si */
10035 :
10036 : default:
10037 : return -1;
10038 : }
10039 :
10040 : case 179:
10041 : x5 = XVECEXP (x3, 0, 0);
10042 : switch (GET_CODE (x5))
10043 : {
10044 : case UNSPEC:
10045 : switch (XVECLEN (x5, 0))
10046 : {
10047 : case 3:
10048 : if (XINT (x5, 1) != 60
10049 : || GET_MODE (x5) != E_SImode
10050 : || !register_operand (operands[0], E_SImode)
10051 : || GET_MODE (x3) != E_SImode)
10052 : return -1;
10053 : x6 = XVECEXP (x5, 0, 0);
10054 : operands[1] = x6;
10055 : if (!register_operand (operands[1], E_V32HFmode))
10056 : return -1;
10057 : x7 = XVECEXP (x5, 0, 1);
10058 : operands[2] = x7;
10059 : if (!nonimmediate_operand (operands[2], E_V32HFmode))
10060 : return -1;
10061 : x8 = XVECEXP (x5, 0, 2);
10062 : operands[3] = x8;
10063 : if (!const_0_to_31_operand (operands[3], E_SImode))
10064 : return -1;
10065 : x4 = XVECEXP (x3, 0, 1);
10066 : operands[4] = x4;
10067 : if (!const48_operand (operands[4], E_SImode)
10068 : || !(
10069 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10070 : (TARGET_AVX512F) && (
10071 : #line 4668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10072 : (TARGET_AVX512F && (V32HFmode == V16SFmode
10073 : || V32HFmode == V8DFmode
10074 : || V32HFmode == V8DImode
10075 : || V32HFmode == V16SImode
10076 : || V32HFmode == V32HFmode)) &&
10077 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10078 : (TARGET_AVX512FP16))))
10079 : return -1;
10080 : return 3323; /* avx512bw_cmpv32hf3_round */
10081 :
10082 : case 1:
10083 : x4 = XVECEXP (x3, 0, 1);
10084 : operands[2] = x4;
10085 : switch (XINT (x5, 1))
10086 : {
10087 : case 157:
10088 : switch (pattern887 (x3))
10089 : {
10090 : case 0:
10091 : if (!(
10092 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10093 : (TARGET_AVX512F) &&
10094 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10095 : (TARGET_AVX512FP16)))
10096 : return -1;
10097 : return 4581; /* avx512fp16_vcvtsh2usi_round */
10098 :
10099 : case 1:
10100 : if (!
10101 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10102 : (TARGET_AVX512F))
10103 : return -1;
10104 : return 4941; /* avx512f_vcvtss2usi_round */
10105 :
10106 : case 2:
10107 : if (!
10108 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10109 : (TARGET_AVX512F))
10110 : return -1;
10111 : return 4953; /* avx512f_vcvtsd2usi_round */
10112 :
10113 : case 3:
10114 : if (!(
10115 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10116 : (TARGET_AVX512F) && (
10117 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10118 : (TARGET_AVX512FP16) &&
10119 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10120 : (TARGET_64BIT))))
10121 : return -1;
10122 : return 4585; /* avx512fp16_vcvtsh2usiq_round */
10123 :
10124 : case 4:
10125 : if (!(
10126 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10127 : (TARGET_AVX512F) && (
10128 : #line 9402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10129 : (TARGET_AVX512F) &&
10130 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10131 : (TARGET_64BIT))))
10132 : return -1;
10133 : return 4943; /* avx512f_vcvtss2usiq_round */
10134 :
10135 : case 5:
10136 : if (!(
10137 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10138 : (TARGET_AVX512F) && (
10139 : #line 9438 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10140 : (TARGET_AVX512F) &&
10141 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10142 : (TARGET_64BIT))))
10143 : return -1;
10144 : return 4955; /* avx512f_vcvtsd2usiq_round */
10145 :
10146 : default:
10147 : return -1;
10148 : }
10149 :
10150 : case 47:
10151 : switch (pattern887 (x3))
10152 : {
10153 : case 0:
10154 : if (!(
10155 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10156 : (TARGET_AVX512F) &&
10157 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10158 : (TARGET_AVX512FP16)))
10159 : return -1;
10160 : return 4583; /* avx512fp16_vcvtsh2si_round */
10161 :
10162 : case 1:
10163 : if (!(
10164 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10165 : (TARGET_AVX512F) &&
10166 : #line 8930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10167 : (TARGET_SSE)))
10168 : return -1;
10169 : return 4830; /* sse_cvtss2si_round */
10170 :
10171 : case 2:
10172 : if (!(
10173 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10174 : (TARGET_AVX512F) &&
10175 : #line 9474 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10176 : (TARGET_SSE2)))
10177 : return -1;
10178 : return 4965; /* sse2_cvtsd2si_round */
10179 :
10180 : case 3:
10181 : if (!(
10182 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10183 : (TARGET_AVX512F) && (
10184 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10185 : (TARGET_AVX512FP16) &&
10186 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10187 : (TARGET_64BIT))))
10188 : return -1;
10189 : return 4587; /* avx512fp16_vcvtsh2siq_round */
10190 :
10191 : case 4:
10192 : if (!(
10193 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10194 : (TARGET_AVX512F) && (
10195 : #line 8930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10196 : (TARGET_SSE) &&
10197 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10198 : (TARGET_64BIT))))
10199 : return -1;
10200 : return 4832; /* sse_cvtss2siq_round */
10201 :
10202 : case 5:
10203 : if (!(
10204 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10205 : (TARGET_AVX512F) && (
10206 : #line 9474 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10207 : (TARGET_SSE2) &&
10208 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10209 : (TARGET_64BIT))))
10210 : return -1;
10211 : return 4967; /* sse2_cvtsd2siq_round */
10212 :
10213 : default:
10214 : return -1;
10215 : }
10216 :
10217 : case 173:
10218 : switch (pattern889 (x3))
10219 : {
10220 : case 0:
10221 : if (!(
10222 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10223 : (TARGET_AVX512F) &&
10224 : #line 8367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10225 : (TARGET_AVX512FP16)))
10226 : return -1;
10227 : return 4733; /* unspec_avx512fp16_fix_truncsi2_round */
10228 :
10229 : case 1:
10230 : if (!(
10231 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10232 : (TARGET_AVX512F) &&
10233 : #line 8958 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10234 : (TARGET_SSE)))
10235 : return -1;
10236 : return 4836; /* unspec_sse_cvttss2si_round */
10237 :
10238 : case 2:
10239 : if (!(
10240 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10241 : (TARGET_AVX512F) &&
10242 : #line 9503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10243 : (TARGET_SSE2)))
10244 : return -1;
10245 : return 4971; /* unspec_sse2_cvttsd2si_round */
10246 :
10247 : case 3:
10248 : if (!(
10249 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10250 : (TARGET_AVX512F) && (
10251 : #line 8367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10252 : (TARGET_AVX512FP16) &&
10253 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10254 : (TARGET_64BIT))))
10255 : return -1;
10256 : return 4737; /* unspec_avx512fp16_fix_truncdi2_round */
10257 :
10258 : case 4:
10259 : if (!(
10260 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10261 : (TARGET_AVX512F) && (
10262 : #line 8958 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10263 : (TARGET_SSE) &&
10264 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10265 : (TARGET_64BIT))))
10266 : return -1;
10267 : return 4838; /* unspec_sse_cvttss2siq_round */
10268 :
10269 : case 5:
10270 : if (!(
10271 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10272 : (TARGET_AVX512F) && (
10273 : #line 9503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10274 : (TARGET_SSE2) &&
10275 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10276 : (TARGET_64BIT))))
10277 : return -1;
10278 : return 4973; /* unspec_sse2_cvttsd2siq_round */
10279 :
10280 : default:
10281 : return -1;
10282 : }
10283 :
10284 : case 174:
10285 : switch (pattern889 (x3))
10286 : {
10287 : case 0:
10288 : if (!(
10289 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10290 : (TARGET_AVX512F) &&
10291 : #line 8367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10292 : (TARGET_AVX512FP16)))
10293 : return -1;
10294 : return 4735; /* unspec_avx512fp16_fixuns_truncsi2_round */
10295 :
10296 : case 1:
10297 : if (!
10298 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10299 : (TARGET_AVX512F))
10300 : return -1;
10301 : return 4945; /* unspec_avx512f_vcvttss2usi_round */
10302 :
10303 : case 2:
10304 : if (!
10305 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10306 : (TARGET_AVX512F))
10307 : return -1;
10308 : return 4957; /* unspec_avx512f_vcvttsd2usi_round */
10309 :
10310 : case 3:
10311 : if (!(
10312 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10313 : (TARGET_AVX512F) && (
10314 : #line 8367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10315 : (TARGET_AVX512FP16) &&
10316 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10317 : (TARGET_64BIT))))
10318 : return -1;
10319 : return 4739; /* unspec_avx512fp16_fixuns_truncdi2_round */
10320 :
10321 : case 4:
10322 : if (!(
10323 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10324 : (TARGET_AVX512F) && (
10325 : #line 9413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10326 : (TARGET_AVX512F) &&
10327 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10328 : (TARGET_64BIT))))
10329 : return -1;
10330 : return 4947; /* unspec_avx512f_vcvttss2usiq_round */
10331 :
10332 : case 5:
10333 : if (!(
10334 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10335 : (TARGET_AVX512F) && (
10336 : #line 9449 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10337 : (TARGET_AVX512F) &&
10338 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10339 : (TARGET_64BIT))))
10340 : return -1;
10341 : return 4959; /* unspec_avx512f_vcvttsd2usiq_round */
10342 :
10343 : default:
10344 : return -1;
10345 : }
10346 :
10347 : case 276:
10348 : switch (pattern891 (x3))
10349 : {
10350 : case 0:
10351 : if (!(
10352 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10353 : (TARGET_AVX512F) &&
10354 : #line 33601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10355 : (TARGET_AVX10_2)))
10356 : return -1;
10357 : return 10977; /* avx10_2_vcvttsd2sissi_round */
10358 :
10359 : case 1:
10360 : if (!(
10361 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10362 : (TARGET_AVX512F) &&
10363 : #line 33614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10364 : (TARGET_AVX10_2)))
10365 : return -1;
10366 : return 10985; /* avx10_2_vcvttss2sissi_round */
10367 :
10368 : case 2:
10369 : if (!(
10370 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10371 : (TARGET_AVX512F) && (
10372 : #line 33601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10373 : (TARGET_AVX10_2) &&
10374 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10375 : (TARGET_64BIT))))
10376 : return -1;
10377 : return 10981; /* avx10_2_vcvttsd2sisdi_round */
10378 :
10379 : case 3:
10380 : if (!(
10381 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10382 : (TARGET_AVX512F) && (
10383 : #line 33614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10384 : (TARGET_AVX10_2) &&
10385 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10386 : (TARGET_64BIT))))
10387 : return -1;
10388 : return 10989; /* avx10_2_vcvttss2sisdi_round */
10389 :
10390 : default:
10391 : return -1;
10392 : }
10393 :
10394 : case 277:
10395 : switch (pattern891 (x3))
10396 : {
10397 : case 0:
10398 : if (!(
10399 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10400 : (TARGET_AVX512F) &&
10401 : #line 33601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10402 : (TARGET_AVX10_2)))
10403 : return -1;
10404 : return 10979; /* avx10_2_vcvttsd2usissi_round */
10405 :
10406 : case 1:
10407 : if (!(
10408 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10409 : (TARGET_AVX512F) &&
10410 : #line 33614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10411 : (TARGET_AVX10_2)))
10412 : return -1;
10413 : return 10987; /* avx10_2_vcvttss2usissi_round */
10414 :
10415 : case 2:
10416 : if (!(
10417 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10418 : (TARGET_AVX512F) && (
10419 : #line 33601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10420 : (TARGET_AVX10_2) &&
10421 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10422 : (TARGET_64BIT))))
10423 : return -1;
10424 : return 10983; /* avx10_2_vcvttsd2usisdi_round */
10425 :
10426 : case 3:
10427 : if (!(
10428 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10429 : (TARGET_AVX512F) && (
10430 : #line 33614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10431 : (TARGET_AVX10_2) &&
10432 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10433 : (TARGET_64BIT))))
10434 : return -1;
10435 : return 10991; /* avx10_2_vcvttss2usisdi_round */
10436 :
10437 : default:
10438 : return -1;
10439 : }
10440 :
10441 : default:
10442 : return -1;
10443 : }
10444 :
10445 : default:
10446 : return -1;
10447 : }
10448 :
10449 : case AND:
10450 : if (GET_MODE (x5) != E_SImode)
10451 : return -1;
10452 : x9 = XEXP (x5, 0);
10453 : if (GET_CODE (x9) != UNSPEC
10454 : || XVECLEN (x9, 0) != 3
10455 : || XINT (x9, 1) != 60
10456 : || GET_MODE (x9) != E_SImode
10457 : || !register_operand (operands[0], E_SImode)
10458 : || GET_MODE (x3) != E_SImode)
10459 : return -1;
10460 : x10 = XVECEXP (x9, 0, 0);
10461 : operands[1] = x10;
10462 : if (!register_operand (operands[1], E_V32HFmode))
10463 : return -1;
10464 : x11 = XVECEXP (x9, 0, 1);
10465 : operands[2] = x11;
10466 : if (!nonimmediate_operand (operands[2], E_V32HFmode))
10467 : return -1;
10468 : x12 = XVECEXP (x9, 0, 2);
10469 : operands[3] = x12;
10470 : if (!const_0_to_31_operand (operands[3], E_SImode))
10471 : return -1;
10472 : x13 = XEXP (x5, 1);
10473 : operands[4] = x13;
10474 : if (!register_operand (operands[4], E_SImode))
10475 : return -1;
10476 : x4 = XVECEXP (x3, 0, 1);
10477 : operands[5] = x4;
10478 : if (!const48_operand (operands[5], E_SImode)
10479 : || !(
10480 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10481 : (TARGET_AVX512F) && (
10482 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10483 : (TARGET_AVX512F) && (
10484 : #line 4668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10485 : (TARGET_AVX512F && (V32HFmode == V16SFmode
10486 : || V32HFmode == V8DFmode
10487 : || V32HFmode == V8DImode
10488 : || V32HFmode == V16SImode
10489 : || V32HFmode == V32HFmode)) &&
10490 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10491 : (TARGET_AVX512FP16)))))
10492 : return -1;
10493 : return 3325; /* avx512bw_cmpv32hf3_mask_round */
10494 :
10495 : case FIX:
10496 : switch (pattern458 (x3))
10497 : {
10498 : case 0:
10499 : if (!(
10500 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10501 : (TARGET_AVX512F) &&
10502 : #line 8379 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10503 : (TARGET_AVX512FP16)))
10504 : return -1;
10505 : return 4741; /* avx512fp16_fix_truncsi2_round */
10506 :
10507 : case 1:
10508 : if (!(
10509 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10510 : (TARGET_AVX512F) &&
10511 : #line 8974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10512 : (TARGET_SSE)))
10513 : return -1;
10514 : return 4840; /* sse_cvttss2si_round */
10515 :
10516 : case 2:
10517 : if (!(
10518 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10519 : (TARGET_AVX512F) &&
10520 : #line 9520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10521 : (TARGET_SSE2)))
10522 : return -1;
10523 : return 4975; /* sse2_cvttsd2si_round */
10524 :
10525 : case 3:
10526 : if (!(
10527 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10528 : (TARGET_AVX512F) && (
10529 : #line 8379 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10530 : (TARGET_AVX512FP16) &&
10531 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10532 : (TARGET_64BIT))))
10533 : return -1;
10534 : return 4745; /* avx512fp16_fix_truncdi2_round */
10535 :
10536 : case 4:
10537 : if (!(
10538 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10539 : (TARGET_AVX512F) && (
10540 : #line 8974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10541 : (TARGET_SSE) &&
10542 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10543 : (TARGET_64BIT))))
10544 : return -1;
10545 : return 4842; /* sse_cvttss2siq_round */
10546 :
10547 : case 5:
10548 : if (!(
10549 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10550 : (TARGET_AVX512F) && (
10551 : #line 9520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10552 : (TARGET_SSE2) &&
10553 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10554 : (TARGET_64BIT))))
10555 : return -1;
10556 : return 4977; /* sse2_cvttsd2siq_round */
10557 :
10558 : default:
10559 : return -1;
10560 : }
10561 :
10562 : case UNSIGNED_FIX:
10563 : switch (pattern458 (x3))
10564 : {
10565 : case 0:
10566 : if (!(
10567 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10568 : (TARGET_AVX512F) &&
10569 : #line 8379 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10570 : (TARGET_AVX512FP16)))
10571 : return -1;
10572 : return 4743; /* avx512fp16_fixuns_truncsi2_round */
10573 :
10574 : case 1:
10575 : if (!
10576 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10577 : (TARGET_AVX512F))
10578 : return -1;
10579 : return 4949; /* avx512f_vcvttss2usi_round */
10580 :
10581 : case 2:
10582 : if (!
10583 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10584 : (TARGET_AVX512F))
10585 : return -1;
10586 : return 4961; /* avx512f_vcvttsd2usi_round */
10587 :
10588 : case 3:
10589 : if (!(
10590 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10591 : (TARGET_AVX512F) && (
10592 : #line 8379 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10593 : (TARGET_AVX512FP16) &&
10594 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10595 : (TARGET_64BIT))))
10596 : return -1;
10597 : return 4747; /* avx512fp16_fixuns_truncdi2_round */
10598 :
10599 : case 4:
10600 : if (!(
10601 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10602 : (TARGET_AVX512F) && (
10603 : #line 9425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10604 : (TARGET_AVX512F) &&
10605 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10606 : (TARGET_64BIT))))
10607 : return -1;
10608 : return 4951; /* avx512f_vcvttss2usiq_round */
10609 :
10610 : case 5:
10611 : if (!(
10612 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10613 : (TARGET_AVX512F) && (
10614 : #line 9461 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10615 : (TARGET_AVX512F) &&
10616 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10617 : (TARGET_64BIT))))
10618 : return -1;
10619 : return 4963; /* avx512f_vcvttsd2usiq_round */
10620 :
10621 : default:
10622 : return -1;
10623 : }
10624 :
10625 : default:
10626 : return -1;
10627 : }
10628 :
10629 : case 159:
10630 : switch (pattern304 (x3))
10631 : {
10632 : case 0:
10633 : if (!(
10634 : #line 19506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10635 : (TARGET_AVX512F) &&
10636 : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10637 : (TARGET_AVX512BW)))
10638 : return -1;
10639 : return 8174; /* avx512bw_testmv64qi3 */
10640 :
10641 : case 1:
10642 : if (!(
10643 : #line 19506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10644 : (TARGET_AVX512F) &&
10645 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10646 : (TARGET_AVX512VL && TARGET_AVX512BW)))
10647 : return -1;
10648 : return 8176; /* avx512vl_testmv32qi3 */
10649 :
10650 : case 2:
10651 : if (!(
10652 : #line 19506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10653 : (TARGET_AVX512F) &&
10654 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10655 : (TARGET_AVX512BW)))
10656 : return -1;
10657 : return 8180; /* avx512bw_testmv32hi3 */
10658 :
10659 : default:
10660 : return -1;
10661 : }
10662 :
10663 : case 160:
10664 : switch (pattern304 (x3))
10665 : {
10666 : case 0:
10667 : if (!(
10668 : #line 19517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10669 : (TARGET_AVX512F) &&
10670 : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10671 : (TARGET_AVX512BW)))
10672 : return -1;
10673 : return 8198; /* avx512bw_testnmv64qi3 */
10674 :
10675 : case 1:
10676 : if (!(
10677 : #line 19517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10678 : (TARGET_AVX512F) &&
10679 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10680 : (TARGET_AVX512VL && TARGET_AVX512BW)))
10681 : return -1;
10682 : return 8200; /* avx512vl_testnmv32qi3 */
10683 :
10684 : case 2:
10685 : if (!(
10686 : #line 19517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10687 : (TARGET_AVX512F) &&
10688 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10689 : (TARGET_AVX512BW)))
10690 : return -1;
10691 : return 8204; /* avx512bw_testnmv32hi3 */
10692 :
10693 : default:
10694 : return -1;
10695 : }
10696 :
10697 : case 194:
10698 : if (GET_MODE (x3) != E_SImode
10699 : || !register_operand (operands[0], E_SImode))
10700 : return -1;
10701 : x5 = XVECEXP (x3, 0, 0);
10702 : operands[1] = x5;
10703 : if (!vector_operand (operands[1], E_V32HFmode))
10704 : return -1;
10705 : x4 = XVECEXP (x3, 0, 1);
10706 : operands[2] = x4;
10707 : if (!const_0_to_255_operand (operands[2], E_VOIDmode)
10708 : || !(
10709 : #line 30822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10710 : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V32HFmode)) &&
10711 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10712 : (TARGET_AVX512FP16)))
10713 : return -1;
10714 : return 10076; /* avx512dq_fpclassv32hf */
10715 :
10716 : case 215:
10717 : x5 = XVECEXP (x3, 0, 0);
10718 : operands[1] = x5;
10719 : x4 = XVECEXP (x3, 0, 1);
10720 : operands[2] = x4;
10721 : switch (GET_MODE (operands[0]))
10722 : {
10723 : case E_DImode:
10724 : if (pattern169 (x3,
10725 : E_DImode,
10726 : E_V64QImode) != 0
10727 : || !
10728 : #line 31916 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10729 : (TARGET_AVX512BITALG))
10730 : return -1;
10731 : return 10418; /* avx512vl_vpshufbitqmbv64qi */
10732 :
10733 : case E_SImode:
10734 : if (pattern169 (x3,
10735 : E_SImode,
10736 : E_V32QImode) != 0
10737 : || !(
10738 : #line 31916 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10739 : (TARGET_AVX512BITALG) &&
10740 : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10741 : (TARGET_AVX512VL)))
10742 : return -1;
10743 : return 10422; /* avx512vl_vpshufbitqmbv32qi */
10744 :
10745 : default:
10746 : return -1;
10747 : }
10748 :
10749 : case 263:
10750 : if (GET_MODE (x3) != E_SImode
10751 : || !register_operand (operands[0], E_SImode))
10752 : return -1;
10753 : x5 = XVECEXP (x3, 0, 0);
10754 : operands[1] = x5;
10755 : if (!nonimmediate_operand (operands[1], E_V32BFmode))
10756 : return -1;
10757 : x4 = XVECEXP (x3, 0, 1);
10758 : operands[2] = x4;
10759 : if (!const_0_to_255_operand (operands[2], E_VOIDmode)
10760 : || !
10761 : #line 33434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10762 : (TARGET_AVX10_2))
10763 : return -1;
10764 : return 10812; /* avx10_2_fpclassbf16_v32bf */
10765 :
10766 : case 292:
10767 : x5 = XVECEXP (x3, 0, 0);
10768 : operands[1] = x5;
10769 : x4 = XVECEXP (x3, 0, 1);
10770 : operands[2] = x4;
10771 : if (!const_int_operand (operands[2], E_SImode))
10772 : return -1;
10773 : switch (GET_MODE (operands[0]))
10774 : {
10775 : case E_SImode:
10776 : if (!memory_operand (operands[0], E_SImode)
10777 : || GET_MODE (x3) != E_SImode
10778 : || !x86_64_nonmemory_operand (operands[1], E_SImode))
10779 : return -1;
10780 : return 11087; /* atomic_storesi_1 */
10781 :
10782 : case E_DImode:
10783 : if (!memory_operand (operands[0], E_DImode)
10784 : || GET_MODE (x3) != E_DImode
10785 : || !x86_64_nonmemory_operand (operands[1], E_DImode)
10786 : || !
10787 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10788 : (TARGET_64BIT))
10789 : return -1;
10790 : return 11088; /* atomic_storedi_1 */
10791 :
10792 : default:
10793 : return -1;
10794 : }
10795 :
10796 : default:
10797 : return -1;
10798 : }
10799 : }
10800 :
10801 : int
10802 : recog_152 (rtx x1 ATTRIBUTE_UNUSED,
10803 : rtx_insn *insn ATTRIBUTE_UNUSED,
10804 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10805 : {
10806 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10807 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
10808 : rtx x10;
10809 : int res ATTRIBUTE_UNUSED;
10810 : x2 = XEXP (x1, 1);
10811 : x3 = XEXP (x2, 0);
10812 : x4 = XEXP (x3, 0);
10813 : x5 = XEXP (x4, 1);
10814 : if (GET_CODE (x5) != PARALLEL)
10815 : return -1;
10816 : switch (XVECLEN (x5, 0))
10817 : {
10818 : case 1:
10819 : x6 = XVECEXP (x5, 0, 0);
10820 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
10821 : return -1;
10822 : x7 = XEXP (x2, 2);
10823 : switch (GET_CODE (x7))
10824 : {
10825 : case CONST_INT:
10826 : if (XWINT (x7, 0) != 1L)
10827 : return -1;
10828 : switch (pattern1016 (x2))
10829 : {
10830 : case 0:
10831 : if (!
10832 : #line 12423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10833 : (TARGET_SSE2 && ix86_pre_reload_split ()))
10834 : return -1;
10835 : return 5312; /* *vec_setv8hi_0_1 */
10836 :
10837 : case 1:
10838 : if (!
10839 : #line 12423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10840 : (TARGET_SSE2 && ix86_pre_reload_split ()))
10841 : return -1;
10842 : return 5313; /* *vec_setv8hf_0_1 */
10843 :
10844 : case 2:
10845 : if (!
10846 : #line 12423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10847 : (TARGET_SSE2 && ix86_pre_reload_split ()))
10848 : return -1;
10849 : return 5314; /* *vec_setv8bf_0_1 */
10850 :
10851 : default:
10852 : return -1;
10853 : }
10854 :
10855 : case REG:
10856 : case SUBREG:
10857 : operands[3] = x7;
10858 : x8 = XEXP (x4, 0);
10859 : operands[1] = x8;
10860 : x9 = XEXP (x2, 1);
10861 : operands[2] = x9;
10862 : switch (GET_MODE (operands[0]))
10863 : {
10864 : case E_V16SImode:
10865 : if (pattern1292 (x2,
10866 : E_V16SImode,
10867 : E_HImode,
10868 : E_V4SImode,
10869 : E_SImode) != 0
10870 : || !
10871 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10872 : (TARGET_AVX512F))
10873 : return -1;
10874 : return 9273; /* avx512f_vec_dupv16si_mask */
10875 :
10876 : case E_V8SImode:
10877 : if (pattern1292 (x2,
10878 : E_V8SImode,
10879 : E_QImode,
10880 : E_V4SImode,
10881 : E_SImode) != 0
10882 : || !(
10883 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10884 : (TARGET_AVX512F) && (
10885 : #line 28642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10886 : (TARGET_AVX512F) &&
10887 : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10888 : (TARGET_AVX512VL))))
10889 : return -1;
10890 : return 9275; /* avx512vl_vec_dupv8si_mask */
10891 :
10892 : case E_V4SImode:
10893 : if (pattern1293 (x2,
10894 : E_V4SImode,
10895 : E_SImode,
10896 : E_QImode) != 0
10897 : || !(
10898 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10899 : (TARGET_AVX512F) && (
10900 : #line 28642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10901 : (TARGET_AVX512F) &&
10902 : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10903 : (TARGET_AVX512VL))))
10904 : return -1;
10905 : return 9277; /* avx512vl_vec_dupv4si_mask */
10906 :
10907 : case E_V8DImode:
10908 : if (pattern1292 (x2,
10909 : E_V8DImode,
10910 : E_QImode,
10911 : E_V2DImode,
10912 : E_DImode) != 0
10913 : || !
10914 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10915 : (TARGET_AVX512F))
10916 : return -1;
10917 : return 9279; /* avx512f_vec_dupv8di_mask */
10918 :
10919 : case E_V4DImode:
10920 : if (pattern1292 (x2,
10921 : E_V4DImode,
10922 : E_QImode,
10923 : E_V2DImode,
10924 : E_DImode) != 0
10925 : || !(
10926 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10927 : (TARGET_AVX512F) && (
10928 : #line 28642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10929 : (TARGET_AVX512F) &&
10930 : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10931 : (TARGET_AVX512VL))))
10932 : return -1;
10933 : return 9281; /* avx512vl_vec_dupv4di_mask */
10934 :
10935 : case E_V2DImode:
10936 : if (pattern1293 (x2,
10937 : E_V2DImode,
10938 : E_DImode,
10939 : E_QImode) != 0
10940 : || !(
10941 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10942 : (TARGET_AVX512F) && (
10943 : #line 28642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10944 : (TARGET_AVX512F) &&
10945 : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10946 : (TARGET_AVX512VL))))
10947 : return -1;
10948 : return 9283; /* avx512vl_vec_dupv2di_mask */
10949 :
10950 : case E_V16SFmode:
10951 : if (pattern1292 (x2,
10952 : E_V16SFmode,
10953 : E_HImode,
10954 : E_V4SFmode,
10955 : E_SFmode) != 0
10956 : || !
10957 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10958 : (TARGET_AVX512F))
10959 : return -1;
10960 : return 9285; /* avx512f_vec_dupv16sf_mask */
10961 :
10962 : case E_V8SFmode:
10963 : if (pattern1292 (x2,
10964 : E_V8SFmode,
10965 : E_QImode,
10966 : E_V4SFmode,
10967 : E_SFmode) != 0
10968 : || !(
10969 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10970 : (TARGET_AVX512F) && (
10971 : #line 28642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10972 : (TARGET_AVX512F) &&
10973 : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10974 : (TARGET_AVX512VL))))
10975 : return -1;
10976 : return 9287; /* avx512vl_vec_dupv8sf_mask */
10977 :
10978 : case E_V4SFmode:
10979 : if (pattern1293 (x2,
10980 : E_V4SFmode,
10981 : E_SFmode,
10982 : E_QImode) != 0
10983 : || !(
10984 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10985 : (TARGET_AVX512F) && (
10986 : #line 28642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10987 : (TARGET_AVX512F) &&
10988 : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10989 : (TARGET_AVX512VL))))
10990 : return -1;
10991 : return 9289; /* avx512vl_vec_dupv4sf_mask */
10992 :
10993 : case E_V8DFmode:
10994 : if (pattern1292 (x2,
10995 : E_V8DFmode,
10996 : E_QImode,
10997 : E_V2DFmode,
10998 : E_DFmode) != 0
10999 : || !
11000 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11001 : (TARGET_AVX512F))
11002 : return -1;
11003 : return 9291; /* avx512f_vec_dupv8df_mask */
11004 :
11005 : case E_V4DFmode:
11006 : if (pattern1292 (x2,
11007 : E_V4DFmode,
11008 : E_QImode,
11009 : E_V2DFmode,
11010 : E_DFmode) != 0
11011 : || !(
11012 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11013 : (TARGET_AVX512F) && (
11014 : #line 28642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11015 : (TARGET_AVX512F) &&
11016 : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11017 : (TARGET_AVX512VL))))
11018 : return -1;
11019 : return 9293; /* avx512vl_vec_dupv4df_mask */
11020 :
11021 : case E_V2DFmode:
11022 : if (pattern1293 (x2,
11023 : E_V2DFmode,
11024 : E_DFmode,
11025 : E_QImode) != 0
11026 : || !(
11027 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11028 : (TARGET_AVX512F) && (
11029 : #line 28642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11030 : (TARGET_AVX512F) &&
11031 : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11032 : (TARGET_AVX512VL))))
11033 : return -1;
11034 : return 9295; /* avx512vl_vec_dupv2df_mask */
11035 :
11036 : case E_V64QImode:
11037 : if (pattern1292 (x2,
11038 : E_V64QImode,
11039 : E_DImode,
11040 : E_V16QImode,
11041 : E_QImode) != 0
11042 : || !(
11043 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11044 : (TARGET_AVX512F) &&
11045 : #line 28661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11046 : (TARGET_AVX512BW)))
11047 : return -1;
11048 : return 9297; /* avx512bw_vec_dupv64qi_mask */
11049 :
11050 : case E_V16QImode:
11051 : if (pattern1293 (x2,
11052 : E_V16QImode,
11053 : E_QImode,
11054 : E_HImode) != 0
11055 : || !(
11056 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11057 : (TARGET_AVX512F) && (
11058 : #line 28661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11059 : (TARGET_AVX512BW) &&
11060 : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11061 : (TARGET_AVX512VL))))
11062 : return -1;
11063 : return 9299; /* avx512vl_vec_dupv16qi_mask */
11064 :
11065 : case E_V32QImode:
11066 : if (pattern1292 (x2,
11067 : E_V32QImode,
11068 : E_SImode,
11069 : E_V16QImode,
11070 : E_QImode) != 0
11071 : || !(
11072 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11073 : (TARGET_AVX512F) && (
11074 : #line 28661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11075 : (TARGET_AVX512BW) &&
11076 : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11077 : (TARGET_AVX512VL))))
11078 : return -1;
11079 : return 9301; /* avx512vl_vec_dupv32qi_mask */
11080 :
11081 : case E_V32HImode:
11082 : if (pattern1292 (x2,
11083 : E_V32HImode,
11084 : E_SImode,
11085 : E_V8HImode,
11086 : E_HImode) != 0
11087 : || !(
11088 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11089 : (TARGET_AVX512F) &&
11090 : #line 28661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11091 : (TARGET_AVX512BW)))
11092 : return -1;
11093 : return 9303; /* avx512bw_vec_dupv32hi_mask */
11094 :
11095 : case E_V16HImode:
11096 : if (pattern780 (x2,
11097 : E_HImode,
11098 : E_V16HImode) != 0
11099 : || !nonimmediate_operand (operands[1], E_V8HImode)
11100 : || !nonimm_or_0_operand (operands[2], E_V16HImode)
11101 : || !register_operand (operands[3], E_HImode)
11102 : || !(
11103 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11104 : (TARGET_AVX512F) && (
11105 : #line 28661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11106 : (TARGET_AVX512BW) &&
11107 : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11108 : (TARGET_AVX512VL))))
11109 : return -1;
11110 : return 9305; /* avx512vl_vec_dupv16hi_mask */
11111 :
11112 : case E_V8HImode:
11113 : if (pattern1293 (x2,
11114 : E_V8HImode,
11115 : E_HImode,
11116 : E_QImode) != 0
11117 : || !(
11118 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11119 : (TARGET_AVX512F) && (
11120 : #line 28661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11121 : (TARGET_AVX512BW) &&
11122 : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11123 : (TARGET_AVX512VL))))
11124 : return -1;
11125 : return 9307; /* avx512vl_vec_dupv8hi_mask */
11126 :
11127 : case E_V32HFmode:
11128 : if (pattern1292 (x2,
11129 : E_V32HFmode,
11130 : E_SImode,
11131 : E_V8HFmode,
11132 : E_HFmode) != 0
11133 : || !(
11134 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11135 : (TARGET_AVX512F) &&
11136 : #line 28661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11137 : (TARGET_AVX512BW)))
11138 : return -1;
11139 : return 9309; /* avx512bw_vec_dupv32hf_mask */
11140 :
11141 : case E_V16HFmode:
11142 : if (pattern1292 (x2,
11143 : E_V16HFmode,
11144 : E_HImode,
11145 : E_V8HFmode,
11146 : E_HFmode) != 0
11147 : || !(
11148 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11149 : (TARGET_AVX512F) && (
11150 : #line 28661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11151 : (TARGET_AVX512BW) &&
11152 : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11153 : (TARGET_AVX512VL))))
11154 : return -1;
11155 : return 9311; /* avx512vl_vec_dupv16hf_mask */
11156 :
11157 : case E_V8HFmode:
11158 : if (pattern1293 (x2,
11159 : E_V8HFmode,
11160 : E_HFmode,
11161 : E_QImode) != 0
11162 : || !(
11163 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11164 : (TARGET_AVX512F) && (
11165 : #line 28661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11166 : (TARGET_AVX512BW) &&
11167 : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11168 : (TARGET_AVX512VL))))
11169 : return -1;
11170 : return 9313; /* avx512fp16_vec_dupv8hf_mask */
11171 :
11172 : case E_V32BFmode:
11173 : if (pattern1292 (x2,
11174 : E_V32BFmode,
11175 : E_SImode,
11176 : E_V8BFmode,
11177 : E_BFmode) != 0
11178 : || !(
11179 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11180 : (TARGET_AVX512F) &&
11181 : #line 28661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11182 : (TARGET_AVX512BW)))
11183 : return -1;
11184 : return 9315; /* avx512bw_vec_dupv32bf_mask */
11185 :
11186 : case E_V16BFmode:
11187 : if (pattern1292 (x2,
11188 : E_V16BFmode,
11189 : E_HImode,
11190 : E_V8BFmode,
11191 : E_BFmode) != 0
11192 : || !(
11193 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11194 : (TARGET_AVX512F) && (
11195 : #line 28661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11196 : (TARGET_AVX512BW) &&
11197 : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11198 : (TARGET_AVX512VL))))
11199 : return -1;
11200 : return 9317; /* avx512vl_vec_dupv16bf_mask */
11201 :
11202 : case E_V8BFmode:
11203 : if (pattern1293 (x2,
11204 : E_V8BFmode,
11205 : E_BFmode,
11206 : E_QImode) != 0
11207 : || !(
11208 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11209 : (TARGET_AVX512F) && (
11210 : #line 28661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11211 : (TARGET_AVX512BW) &&
11212 : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11213 : (TARGET_AVX512VL))))
11214 : return -1;
11215 : return 9319; /* avx512vl_vec_dupv8bf_mask */
11216 :
11217 : default:
11218 : return -1;
11219 : }
11220 :
11221 : default:
11222 : return -1;
11223 : }
11224 :
11225 : case 2:
11226 : x6 = XVECEXP (x5, 0, 0);
11227 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
11228 : return -1;
11229 : x10 = XVECEXP (x5, 0, 1);
11230 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
11231 : return -1;
11232 : x8 = XEXP (x4, 0);
11233 : operands[1] = x8;
11234 : x9 = XEXP (x2, 1);
11235 : operands[2] = x9;
11236 : x7 = XEXP (x2, 2);
11237 : operands[3] = x7;
11238 : switch (GET_MODE (operands[0]))
11239 : {
11240 : case E_V16SImode:
11241 : if (pattern1292 (x2,
11242 : E_V16SImode,
11243 : E_HImode,
11244 : E_V4SImode,
11245 : E_V2SImode) != 0
11246 : || !(
11247 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11248 : (TARGET_AVX512F) &&
11249 : #line 28985 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11250 : (TARGET_AVX512DQ)))
11251 : return -1;
11252 : return 9415; /* avx512dq_broadcastv16si_mask */
11253 :
11254 : case E_V8SImode:
11255 : if (pattern1292 (x2,
11256 : E_V8SImode,
11257 : E_QImode,
11258 : E_V4SImode,
11259 : E_V2SImode) != 0
11260 : || !(
11261 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11262 : (TARGET_AVX512F) && (
11263 : #line 28985 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11264 : (TARGET_AVX512DQ) &&
11265 : #line 28969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11266 : (TARGET_AVX512VL))))
11267 : return -1;
11268 : return 9417; /* avx512dq_broadcastv8si_mask */
11269 :
11270 : case E_V4SImode:
11271 : if (pattern1293 (x2,
11272 : E_V4SImode,
11273 : E_V2SImode,
11274 : E_QImode) != 0
11275 : || !(
11276 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11277 : (TARGET_AVX512F) && (
11278 : #line 28985 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11279 : (TARGET_AVX512DQ) &&
11280 : #line 28969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11281 : (TARGET_AVX512VL))))
11282 : return -1;
11283 : return 9419; /* avx512dq_broadcastv4si_mask */
11284 :
11285 : case E_V16SFmode:
11286 : if (pattern1292 (x2,
11287 : E_V16SFmode,
11288 : E_HImode,
11289 : E_V4SFmode,
11290 : E_V2SFmode) != 0
11291 : || !(
11292 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11293 : (TARGET_AVX512F) &&
11294 : #line 28985 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11295 : (TARGET_AVX512DQ)))
11296 : return -1;
11297 : return 9421; /* avx512dq_broadcastv16sf_mask */
11298 :
11299 : case E_V8SFmode:
11300 : if (pattern1292 (x2,
11301 : E_V8SFmode,
11302 : E_QImode,
11303 : E_V4SFmode,
11304 : E_V2SFmode) != 0
11305 : || !(
11306 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11307 : (TARGET_AVX512F) && (
11308 : #line 28985 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11309 : (TARGET_AVX512DQ) &&
11310 : #line 28970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11311 : (TARGET_AVX512VL))))
11312 : return -1;
11313 : return 9423; /* avx512dq_broadcastv8sf_mask */
11314 :
11315 : default:
11316 : return -1;
11317 : }
11318 :
11319 : default:
11320 : return -1;
11321 : }
11322 : }
11323 :
11324 : int
11325 : recog_159 (rtx x1 ATTRIBUTE_UNUSED,
11326 : rtx_insn *insn ATTRIBUTE_UNUSED,
11327 : int *pnum_clobbers ATTRIBUTE_UNUSED)
11328 : {
11329 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
11330 : rtx x2, x3, x4, x5, x6, x7;
11331 : int res ATTRIBUTE_UNUSED;
11332 : x2 = XEXP (x1, 1);
11333 : x3 = XEXP (x2, 1);
11334 : switch (GET_CODE (x3))
11335 : {
11336 : case CONST_INT:
11337 : case CONST_WIDE_INT:
11338 : case CONST_POLY_INT:
11339 : case CONST_FIXED:
11340 : case CONST_DOUBLE:
11341 : case CONST_VECTOR:
11342 : case CONST:
11343 : case REG:
11344 : case SUBREG:
11345 : case MEM:
11346 : case LABEL_REF:
11347 : case SYMBOL_REF:
11348 : case HIGH:
11349 : x4 = XEXP (x2, 2);
11350 : switch (GET_CODE (x4))
11351 : {
11352 : case REG:
11353 : case SUBREG:
11354 : return recog_158 (x1, insn, pnum_clobbers);
11355 :
11356 : case CONST_INT:
11357 : if (XWINT (x4, 0) == 1L)
11358 : {
11359 : switch (GET_MODE (operands[0]))
11360 : {
11361 : case E_V2DImode:
11362 : if (GET_MODE (x2) == E_V2DImode)
11363 : {
11364 : x5 = XEXP (x2, 0);
11365 : if (nonimmediate_operand (x5, E_V2DImode))
11366 : {
11367 : operands[1] = x5;
11368 : if (register_operand (operands[0], E_V2DImode))
11369 : {
11370 : operands[2] = x3;
11371 : if (const0_operand (operands[2], E_V2DImode)
11372 : &&
11373 : #line 1891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11374 : (TARGET_SSE2))
11375 : return 2610; /* *sse2_movq128_v2di_1 */
11376 : }
11377 : operands[2] = x5;
11378 : if (nonimmediate_operand (operands[0], E_V2DImode))
11379 : {
11380 : operands[1] = x3;
11381 : if (nonimmediate_operand (operands[1], E_V2DImode)
11382 : &&
11383 : #line 15231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11384 : (TARGET_SSE2))
11385 : return 7249; /* sse2_movsd_v2di */
11386 : }
11387 : }
11388 : }
11389 : break;
11390 :
11391 : case E_V2DFmode:
11392 : if (GET_MODE (x2) == E_V2DFmode)
11393 : {
11394 : x5 = XEXP (x2, 0);
11395 : if (nonimmediate_operand (x5, E_V2DFmode))
11396 : {
11397 : operands[1] = x5;
11398 : if (register_operand (operands[0], E_V2DFmode))
11399 : {
11400 : operands[2] = x3;
11401 : if (const0_operand (operands[2], E_V2DFmode)
11402 : &&
11403 : #line 1891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11404 : (TARGET_SSE2))
11405 : return 2611; /* *sse2_movq128_v2df_1 */
11406 : }
11407 : operands[2] = x5;
11408 : if (nonimmediate_operand (operands[0], E_V2DFmode))
11409 : {
11410 : operands[1] = x3;
11411 : if (nonimmediate_operand (operands[1], E_V2DFmode)
11412 : &&
11413 : #line 15231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11414 : (TARGET_SSE2))
11415 : return 7250; /* sse2_movsd_v2df */
11416 : }
11417 : }
11418 : }
11419 : break;
11420 :
11421 : case E_V4SImode:
11422 : if (pattern902 (x2,
11423 : E_V4SImode) == 0
11424 : &&
11425 : #line 12072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11426 : (TARGET_SSE))
11427 : return 5289; /* sse_movss_v4si */
11428 : break;
11429 :
11430 : case E_V4SFmode:
11431 : if (pattern902 (x2,
11432 : E_V4SFmode) == 0
11433 : &&
11434 : #line 12072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11435 : (TARGET_SSE))
11436 : return 5290; /* sse_movss_v4sf */
11437 : break;
11438 :
11439 : case E_V8HImode:
11440 : if (pattern902 (x2,
11441 : E_V8HImode) == 0
11442 : &&
11443 : #line 12501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11444 : (TARGET_AVX512FP16
11445 : || (TARGET_AVX10_2 && const0_operand (operands[1], V8HImode))))
11446 : return 5328; /* *avx512fp16_movv8hi */
11447 : break;
11448 :
11449 : case E_V8HFmode:
11450 : if (pattern902 (x2,
11451 : E_V8HFmode) == 0
11452 : &&
11453 : #line 12501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11454 : (TARGET_AVX512FP16
11455 : || (TARGET_AVX10_2 && const0_operand (operands[1], V8HFmode))))
11456 : return 5329; /* *avx512fp16_movv8hf */
11457 : break;
11458 :
11459 : case E_V8BFmode:
11460 : if (pattern902 (x2,
11461 : E_V8BFmode) == 0
11462 : &&
11463 : #line 12501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11464 : (TARGET_AVX512FP16
11465 : || (TARGET_AVX10_2 && const0_operand (operands[1], V8BFmode))))
11466 : return 5330; /* *avx512fp16_movv8bf */
11467 : break;
11468 :
11469 : default:
11470 : break;
11471 : }
11472 : }
11473 : operands[3] = x4;
11474 : x5 = XEXP (x2, 0);
11475 : operands[2] = x5;
11476 : operands[1] = x3;
11477 : switch (GET_MODE (operands[0]))
11478 : {
11479 : case E_V8SFmode:
11480 : if (pattern1129 (x2,
11481 : E_V8SFmode) != 0
11482 : || !(
11483 : #line 24023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11484 : (TARGET_SSE4_1) &&
11485 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11486 : (TARGET_AVX)))
11487 : return -1;
11488 : return 8744; /* avx_blendps256 */
11489 :
11490 : case E_V4SFmode:
11491 : if (pattern1130 (x2,
11492 : E_V4SFmode) != 0
11493 : || !
11494 : #line 24023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11495 : (TARGET_SSE4_1))
11496 : return -1;
11497 : return 8745; /* sse4_1_blendps */
11498 :
11499 : case E_V4DFmode:
11500 : if (pattern1130 (x2,
11501 : E_V4DFmode) != 0
11502 : || !(
11503 : #line 24023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11504 : (TARGET_SSE4_1) &&
11505 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11506 : (TARGET_AVX)))
11507 : return -1;
11508 : return 8746; /* avx_blendpd256 */
11509 :
11510 : case E_V2DFmode:
11511 : if (!register_operand (operands[0], E_V2DFmode)
11512 : || GET_MODE (x2) != E_V2DFmode
11513 : || !vector_operand (operands[2], E_V2DFmode)
11514 : || !register_operand (operands[1], E_V2DFmode)
11515 : || !const_0_to_3_operand (operands[3], E_SImode)
11516 : || !(
11517 : #line 24023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11518 : (TARGET_SSE4_1) &&
11519 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11520 : (TARGET_SSE2)))
11521 : return -1;
11522 : return 8747; /* sse4_1_blendpd */
11523 :
11524 : case E_V8HImode:
11525 : if (pattern1129 (x2,
11526 : E_V8HImode) != 0
11527 : || !
11528 : #line 24528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11529 : (TARGET_SSE4_1))
11530 : return -1;
11531 : return 8809; /* sse4_1_pblendw */
11532 :
11533 : case E_V8HFmode:
11534 : if (pattern1129 (x2,
11535 : E_V8HFmode) != 0
11536 : || !
11537 : #line 24528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11538 : (TARGET_SSE4_1))
11539 : return -1;
11540 : return 8810; /* sse4_1_pblendph */
11541 :
11542 : case E_V8BFmode:
11543 : if (pattern1129 (x2,
11544 : E_V8BFmode) != 0
11545 : || !
11546 : #line 24528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11547 : (TARGET_SSE4_1))
11548 : return -1;
11549 : return 8811; /* sse4_1_pblendbf */
11550 :
11551 : case E_V16HImode:
11552 : if (pattern1131 (x2,
11553 : E_V16HImode) != 0
11554 : || !
11555 : #line 24602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11556 : (TARGET_AVX2))
11557 : return -1;
11558 : return 8812; /* *avx2_pblendw */
11559 :
11560 : case E_V16HFmode:
11561 : if (pattern1131 (x2,
11562 : E_V16HFmode) != 0
11563 : || !
11564 : #line 24602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11565 : (TARGET_AVX2))
11566 : return -1;
11567 : return 8813; /* *avx2_pblendph */
11568 :
11569 : case E_V16BFmode:
11570 : if (pattern1131 (x2,
11571 : E_V16BFmode) != 0
11572 : || !
11573 : #line 24602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11574 : (TARGET_AVX2))
11575 : return -1;
11576 : return 8814; /* *avx2_pblendbf */
11577 :
11578 : case E_V8SImode:
11579 : if (pattern1132 (x2,
11580 : E_V8SImode) != 0
11581 : || !
11582 : #line 24621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11583 : (TARGET_AVX2))
11584 : return -1;
11585 : return 8815; /* avx2_pblenddv8si */
11586 :
11587 : case E_V4SImode:
11588 : if (pattern1132 (x2,
11589 : E_V4SImode) != 0
11590 : || !
11591 : #line 24621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11592 : (TARGET_AVX2))
11593 : return -1;
11594 : return 8816; /* avx2_pblenddv4si */
11595 :
11596 : default:
11597 : return -1;
11598 : }
11599 :
11600 : case UNSPEC:
11601 : if (XVECLEN (x4, 0) != 3
11602 : || XINT (x4, 1) != 60)
11603 : return -1;
11604 : x5 = XEXP (x2, 0);
11605 : operands[1] = x5;
11606 : switch (pattern1019 (x2))
11607 : {
11608 : case 0:
11609 : x6 = XVECEXP (x4, 0, 0);
11610 : operands[3] = x6;
11611 : switch (pattern1474 (x2))
11612 : {
11613 : case 0:
11614 : if ((
11615 : #line 3386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11616 : (TARGET_SSE && ix86_pre_reload_split ()
11617 : && ((rtx_equal_p (operands[1], operands[3])
11618 : && rtx_equal_p (operands[2], operands[4]))
11619 : || (rtx_equal_p (operands[1], operands[4])
11620 : && rtx_equal_p (operands[2], operands[3])))
11621 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) &&
11622 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11623 : (TARGET_AVX512FP16)))
11624 : return 3093; /* *minmaxv32hf3_1 */
11625 : break;
11626 :
11627 : case 1:
11628 : if ((
11629 : #line 3386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11630 : (TARGET_SSE && ix86_pre_reload_split ()
11631 : && ((rtx_equal_p (operands[1], operands[3])
11632 : && rtx_equal_p (operands[2], operands[4]))
11633 : || (rtx_equal_p (operands[1], operands[4])
11634 : && rtx_equal_p (operands[2], operands[3])))
11635 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) &&
11636 : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11637 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11638 : return 3094; /* *minmaxv16hf3_1 */
11639 : break;
11640 :
11641 : case 2:
11642 : if ((
11643 : #line 3386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11644 : (TARGET_SSE && ix86_pre_reload_split ()
11645 : && ((rtx_equal_p (operands[1], operands[3])
11646 : && rtx_equal_p (operands[2], operands[4]))
11647 : || (rtx_equal_p (operands[1], operands[4])
11648 : && rtx_equal_p (operands[2], operands[3])))
11649 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) &&
11650 : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11651 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11652 : return 3095; /* *minmaxv8hf3_1 */
11653 : break;
11654 :
11655 : case 3:
11656 : if ((
11657 : #line 3386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11658 : (TARGET_SSE && ix86_pre_reload_split ()
11659 : && ((rtx_equal_p (operands[1], operands[3])
11660 : && rtx_equal_p (operands[2], operands[4]))
11661 : || (rtx_equal_p (operands[1], operands[4])
11662 : && rtx_equal_p (operands[2], operands[3])))
11663 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) &&
11664 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11665 : (TARGET_AVX512F)))
11666 : return 3096; /* *minmaxv16sf3_1 */
11667 : break;
11668 :
11669 : case 4:
11670 : if (nonimmediate_operand (operands[1], E_V8SFmode)
11671 : && pattern1685 (
11672 : E_V8SFmode) == 0
11673 : && (
11674 : #line 3386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11675 : (TARGET_SSE && ix86_pre_reload_split ()
11676 : && ((rtx_equal_p (operands[1], operands[3])
11677 : && rtx_equal_p (operands[2], operands[4]))
11678 : || (rtx_equal_p (operands[1], operands[4])
11679 : && rtx_equal_p (operands[2], operands[3])))
11680 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) &&
11681 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11682 : (TARGET_AVX)))
11683 : return 3097; /* *minmaxv8sf3_1 */
11684 : if (vector_operand (operands[1], E_V8SFmode)
11685 : && pattern1686 (
11686 : E_V8SImode,
11687 : E_V8SFmode) == 0
11688 : && (
11689 : #line 4486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11690 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11691 : /* LT or GE 0 */
11692 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) &&
11693 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11694 : (TARGET_AVX)))
11695 : return 3298; /* *avx_cmpv8sf3_lt */
11696 : break;
11697 :
11698 : case 5:
11699 : if (nonimmediate_operand (operands[1], E_V4SFmode)
11700 : && pattern1685 (
11701 : E_V4SFmode) == 0
11702 : &&
11703 : #line 3386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11704 : (TARGET_SSE && ix86_pre_reload_split ()
11705 : && ((rtx_equal_p (operands[1], operands[3])
11706 : && rtx_equal_p (operands[2], operands[4]))
11707 : || (rtx_equal_p (operands[1], operands[4])
11708 : && rtx_equal_p (operands[2], operands[3])))
11709 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)))
11710 : return 3098; /* *minmaxv4sf3_1 */
11711 : if (vector_operand (operands[1], E_V4SFmode)
11712 : && pattern1686 (
11713 : E_V4SImode,
11714 : E_V4SFmode) == 0
11715 : &&
11716 : #line 4486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11717 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11718 : /* LT or GE 0 */
11719 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))))
11720 : return 3299; /* *avx_cmpv4sf3_lt */
11721 : break;
11722 :
11723 : case 6:
11724 : if ((
11725 : #line 3386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11726 : (TARGET_SSE && ix86_pre_reload_split ()
11727 : && ((rtx_equal_p (operands[1], operands[3])
11728 : && rtx_equal_p (operands[2], operands[4]))
11729 : || (rtx_equal_p (operands[1], operands[4])
11730 : && rtx_equal_p (operands[2], operands[3])))
11731 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) &&
11732 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11733 : (TARGET_AVX512F)))
11734 : return 3099; /* *minmaxv8df3_1 */
11735 : break;
11736 :
11737 : case 7:
11738 : if (nonimmediate_operand (operands[1], E_V4DFmode)
11739 : && pattern1685 (
11740 : E_V4DFmode) == 0
11741 : && (
11742 : #line 3386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11743 : (TARGET_SSE && ix86_pre_reload_split ()
11744 : && ((rtx_equal_p (operands[1], operands[3])
11745 : && rtx_equal_p (operands[2], operands[4]))
11746 : || (rtx_equal_p (operands[1], operands[4])
11747 : && rtx_equal_p (operands[2], operands[3])))
11748 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) &&
11749 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11750 : (TARGET_AVX)))
11751 : return 3100; /* *minmaxv4df3_1 */
11752 : if (vector_operand (operands[1], E_V4DFmode)
11753 : && pattern1686 (
11754 : E_V4DImode,
11755 : E_V4DFmode) == 0
11756 : && (
11757 : #line 4486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11758 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11759 : /* LT or GE 0 */
11760 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) &&
11761 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11762 : (TARGET_AVX)))
11763 : return 3300; /* *avx_cmpv4df3_lt */
11764 : break;
11765 :
11766 : case 8:
11767 : if (nonimmediate_operand (operands[1], E_V2DFmode)
11768 : && pattern1685 (
11769 : E_V2DFmode) == 0
11770 : && (
11771 : #line 3386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11772 : (TARGET_SSE && ix86_pre_reload_split ()
11773 : && ((rtx_equal_p (operands[1], operands[3])
11774 : && rtx_equal_p (operands[2], operands[4]))
11775 : || (rtx_equal_p (operands[1], operands[4])
11776 : && rtx_equal_p (operands[2], operands[3])))
11777 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) &&
11778 : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11779 : (TARGET_SSE2)))
11780 : return 3101; /* *minmaxv2df3_1 */
11781 : if (vector_operand (operands[1], E_V2DFmode)
11782 : && pattern1686 (
11783 : E_V2DImode,
11784 : E_V2DFmode) == 0
11785 : && (
11786 : #line 4486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11787 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11788 : /* LT or GE 0 */
11789 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) &&
11790 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11791 : (TARGET_SSE2)))
11792 : return 3301; /* *avx_cmpv2df3_lt */
11793 : break;
11794 :
11795 : case 9:
11796 : if (
11797 : #line 4515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11798 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11799 : /* LT or GE 0 */
11800 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))))
11801 : return 3302; /* *avx_cmpv4si3_ltint */
11802 : break;
11803 :
11804 : case 10:
11805 : if (
11806 : #line 4515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11807 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11808 : /* LT or GE 0 */
11809 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))))
11810 : return 3303; /* *avx_cmpv2di3_ltint */
11811 : break;
11812 :
11813 : case 11:
11814 : if ((
11815 : #line 4515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11816 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11817 : /* LT or GE 0 */
11818 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) &&
11819 : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11820 : (TARGET_AVX)))
11821 : return 3304; /* *avx_cmpv8si3_ltint */
11822 : break;
11823 :
11824 : case 12:
11825 : if ((
11826 : #line 4515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11827 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11828 : /* LT or GE 0 */
11829 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) &&
11830 : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11831 : (TARGET_AVX)))
11832 : return 3305; /* *avx_cmpv4di3_ltint */
11833 : break;
11834 :
11835 : case 13:
11836 : if ((
11837 : #line 18481 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11838 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11839 : /* LT or GE 0 */
11840 : && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[2]))
11841 : || (INTVAL (operands[5]) == 5 && !MEM_P (operands[1])))) &&
11842 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11843 : (TARGET_AVX2)))
11844 : return 7971; /* *avx2_pcmpv32qi3_3 */
11845 : break;
11846 :
11847 : case 14:
11848 : if (
11849 : #line 18481 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11850 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11851 : /* LT or GE 0 */
11852 : && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[2]))
11853 : || (INTVAL (operands[5]) == 5 && !MEM_P (operands[1])))))
11854 : return 7972; /* *avx2_pcmpv16qi3_3 */
11855 : break;
11856 :
11857 : default:
11858 : break;
11859 : }
11860 : if (GET_CODE (x6) != SUBREG)
11861 : return -1;
11862 : switch (pattern1477 (x2))
11863 : {
11864 : case 0:
11865 : if (!
11866 : #line 4550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11867 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11868 : /* not LT or GE 0 */
11869 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))))
11870 : return -1;
11871 : return 3306; /* *avx_cmpv4si3_ltint_not */
11872 :
11873 : case 1:
11874 : if (!
11875 : #line 4550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11876 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11877 : /* not LT or GE 0 */
11878 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))))
11879 : return -1;
11880 : return 3307; /* *avx_cmpv2di3_ltint_not */
11881 :
11882 : case 2:
11883 : if (!(
11884 : #line 4550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11885 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11886 : /* not LT or GE 0 */
11887 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) &&
11888 : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11889 : (TARGET_AVX)))
11890 : return -1;
11891 : return 3308; /* *avx_cmpv8si3_ltint_not */
11892 :
11893 : case 3:
11894 : if (!(
11895 : #line 4550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11896 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11897 : /* not LT or GE 0 */
11898 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) &&
11899 : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11900 : (TARGET_AVX)))
11901 : return -1;
11902 : return 3309; /* *avx_cmpv4di3_ltint_not */
11903 :
11904 : case 4:
11905 : if (!(
11906 : #line 18510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11907 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11908 : && GET_MODE_CLASS (GET_MODE (operands[3])) == MODE_VECTOR_INT
11909 : && GET_MODE_SIZE (GET_MODE (operands[3])) == 32
11910 : /* LT or GE 0 */
11911 : && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[1]))
11912 : || (INTVAL (operands[5]) == 5 && !MEM_P (operands[2])))) &&
11913 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11914 : (TARGET_AVX2)))
11915 : return -1;
11916 : return 7973; /* *avx2_pcmpv32qi3_4 */
11917 :
11918 : case 5:
11919 : if (!
11920 : #line 18510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11921 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11922 : && GET_MODE_CLASS (GET_MODE (operands[3])) == MODE_VECTOR_INT
11923 : && GET_MODE_SIZE (GET_MODE (operands[3])) == 16
11924 : /* LT or GE 0 */
11925 : && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[1]))
11926 : || (INTVAL (operands[5]) == 5 && !MEM_P (operands[2])))))
11927 : return -1;
11928 : return 7974; /* *avx2_pcmpv16qi3_4 */
11929 :
11930 : default:
11931 : return -1;
11932 : }
11933 :
11934 : case 1:
11935 : if (!(
11936 : #line 18542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11937 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11938 : /* LT or GE 0 */
11939 : && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[1]))
11940 : || (INTVAL (operands[5]) == 5 && !MEM_P (operands[2])))) &&
11941 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11942 : (TARGET_AVX2)))
11943 : return -1;
11944 : return 7975; /* *avx2_pcmpv32qi3_5 */
11945 :
11946 : case 2:
11947 : if (!
11948 : #line 18542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11949 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11950 : /* LT or GE 0 */
11951 : && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[1]))
11952 : || (INTVAL (operands[5]) == 5 && !MEM_P (operands[2])))))
11953 : return -1;
11954 : return 7976; /* *avx2_pcmpv16qi3_5 */
11955 :
11956 : default:
11957 : return -1;
11958 : }
11959 :
11960 : default:
11961 : return -1;
11962 : }
11963 :
11964 : case VEC_DUPLICATE:
11965 : x5 = XEXP (x2, 0);
11966 : operands[1] = x5;
11967 : x7 = XEXP (x3, 0);
11968 : operands[2] = x7;
11969 : x4 = XEXP (x2, 2);
11970 : operands[3] = x4;
11971 : if (!const_int_operand (operands[3], E_SImode))
11972 : return -1;
11973 : switch (GET_MODE (operands[0]))
11974 : {
11975 : case E_V8DFmode:
11976 : if (pattern1133 (x2,
11977 : E_V2DFmode,
11978 : E_V8DFmode) != 0
11979 : || !(
11980 : #line 20495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11981 : (TARGET_AVX512F) &&
11982 : #line 12780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11983 : (TARGET_AVX512DQ)))
11984 : return -1;
11985 : return 8454; /* *avx512dq_vinsertf64x2_1 */
11986 :
11987 : case E_V8DImode:
11988 : if (pattern1133 (x2,
11989 : E_V2DImode,
11990 : E_V8DImode) != 0
11991 : || !(
11992 : #line 20495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11993 : (TARGET_AVX512F) &&
11994 : #line 12780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11995 : (TARGET_AVX512DQ)))
11996 : return -1;
11997 : return 8456; /* *avx512dq_vinserti64x2_1 */
11998 :
11999 : case E_V16SFmode:
12000 : if (pattern1133 (x2,
12001 : E_V4SFmode,
12002 : E_V16SFmode) != 0
12003 : || !
12004 : #line 20495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12005 : (TARGET_AVX512F))
12006 : return -1;
12007 : return 8458; /* *avx512f_vinsertf32x4_1 */
12008 :
12009 : case E_V16SImode:
12010 : if (pattern1133 (x2,
12011 : E_V4SImode,
12012 : E_V16SImode) != 0
12013 : || !
12014 : #line 20495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12015 : (TARGET_AVX512F))
12016 : return -1;
12017 : return 8460; /* *avx512f_vinserti32x4_1 */
12018 :
12019 : default:
12020 : return -1;
12021 : }
12022 :
12023 : default:
12024 : return -1;
12025 : }
12026 : }
12027 :
12028 : int
12029 : recog_173 (rtx x1 ATTRIBUTE_UNUSED,
12030 : rtx_insn *insn ATTRIBUTE_UNUSED,
12031 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12032 : {
12033 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12034 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12035 : rtx x10, x11, x12, x13, x14;
12036 : int res ATTRIBUTE_UNUSED;
12037 : x2 = XEXP (x1, 1);
12038 : x3 = XEXP (x2, 0);
12039 : x4 = XEXP (x3, 1);
12040 : if (pattern931 (x4) != 0)
12041 : return -1;
12042 : x5 = XEXP (x2, 1);
12043 : operands[2] = x5;
12044 : x6 = XEXP (x2, 2);
12045 : operands[3] = x6;
12046 : if (!register_operand (operands[3], E_QImode))
12047 : return -1;
12048 : x7 = XVECEXP (x4, 0, 0);
12049 : switch (XWINT (x7, 0))
12050 : {
12051 : case 8L:
12052 : x8 = XVECEXP (x4, 0, 1);
12053 : if (XWINT (x8, 0) != 9L)
12054 : return -1;
12055 : x9 = XVECEXP (x4, 0, 2);
12056 : if (XWINT (x9, 0) != 10L)
12057 : return -1;
12058 : x10 = XVECEXP (x4, 0, 3);
12059 : if (XWINT (x10, 0) != 11L)
12060 : return -1;
12061 : x11 = XVECEXP (x4, 0, 4);
12062 : if (XWINT (x11, 0) != 12L)
12063 : return -1;
12064 : x12 = XVECEXP (x4, 0, 5);
12065 : if (XWINT (x12, 0) != 13L)
12066 : return -1;
12067 : x13 = XVECEXP (x4, 0, 6);
12068 : if (XWINT (x13, 0) != 14L)
12069 : return -1;
12070 : x14 = XVECEXP (x4, 0, 7);
12071 : if (XWINT (x14, 0) != 15L)
12072 : return -1;
12073 : switch (pattern1849 (x2))
12074 : {
12075 : case 0:
12076 : if (!
12077 : #line 13074 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12078 : (TARGET_AVX512DQ
12079 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12080 : return -1;
12081 : return 5362; /* vec_extract_hi_v16sf_mask */
12082 :
12083 : case 1:
12084 : if (!
12085 : #line 13074 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12086 : (TARGET_AVX512DQ
12087 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12088 : return -1;
12089 : return 5363; /* vec_extract_hi_v16si_mask */
12090 :
12091 : default:
12092 : return -1;
12093 : }
12094 :
12095 : case 0L:
12096 : x8 = XVECEXP (x4, 0, 1);
12097 : if (XWINT (x8, 0) != 1L
12098 : || pattern1565 (x4) != 0)
12099 : return -1;
12100 : switch (pattern1849 (x2))
12101 : {
12102 : case 0:
12103 : if (!
12104 : #line 13178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12105 : (TARGET_AVX512DQ
12106 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12107 : return -1;
12108 : return 5366; /* vec_extract_lo_v16sf_mask */
12109 :
12110 : case 1:
12111 : if (!
12112 : #line 13178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12113 : (TARGET_AVX512DQ
12114 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12115 : return -1;
12116 : return 5367; /* vec_extract_lo_v16si_mask */
12117 :
12118 : default:
12119 : return -1;
12120 : }
12121 :
12122 : default:
12123 : return -1;
12124 : }
12125 : }
12126 :
12127 : int
12128 : recog_177 (rtx x1 ATTRIBUTE_UNUSED,
12129 : rtx_insn *insn ATTRIBUTE_UNUSED,
12130 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12131 : {
12132 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12133 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12134 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
12135 : rtx x18, x19, x20;
12136 : int res ATTRIBUTE_UNUSED;
12137 : x2 = XEXP (x1, 1);
12138 : x3 = XEXP (x2, 0);
12139 : x4 = XEXP (x3, 1);
12140 : x5 = XVECEXP (x4, 0, 1);
12141 : operands[3] = x5;
12142 : x6 = XVECEXP (x4, 0, 2);
12143 : operands[4] = x6;
12144 : x7 = XVECEXP (x4, 0, 3);
12145 : operands[5] = x7;
12146 : x8 = XVECEXP (x4, 0, 5);
12147 : operands[7] = x8;
12148 : x9 = XVECEXP (x4, 0, 6);
12149 : operands[8] = x9;
12150 : x10 = XVECEXP (x4, 0, 7);
12151 : operands[9] = x10;
12152 : x11 = XVECEXP (x4, 0, 8);
12153 : operands[10] = x11;
12154 : x12 = XVECEXP (x4, 0, 9);
12155 : operands[11] = x12;
12156 : x13 = XVECEXP (x4, 0, 10);
12157 : operands[12] = x13;
12158 : x14 = XVECEXP (x4, 0, 11);
12159 : operands[13] = x14;
12160 : x15 = XVECEXP (x4, 0, 12);
12161 : operands[14] = x15;
12162 : x16 = XVECEXP (x4, 0, 13);
12163 : operands[15] = x16;
12164 : x17 = XVECEXP (x4, 0, 14);
12165 : operands[16] = x17;
12166 : x18 = XVECEXP (x4, 0, 15);
12167 : operands[17] = x18;
12168 : x19 = XEXP (x2, 1);
12169 : operands[18] = x19;
12170 : x20 = XEXP (x2, 2);
12171 : operands[19] = x20;
12172 : if (!register_operand (operands[19], E_HImode))
12173 : return -1;
12174 : switch (GET_MODE (operands[0]))
12175 : {
12176 : case E_V16SFmode:
12177 : if (!register_operand (operands[0], E_V16SFmode)
12178 : || GET_MODE (x2) != E_V16SFmode
12179 : || GET_MODE (x3) != E_V16SFmode
12180 : || !register_operand (operands[1], E_V16SFmode)
12181 : || pattern1880 () != 0
12182 : || !nonimm_or_0_operand (operands[18], E_V16SFmode)
12183 : || !(
12184 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12185 : (TARGET_AVX512F) &&
12186 : #line 20933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12187 : (TARGET_AVX512F
12188 : && (INTVAL (operands[2]) & 3) == 0
12189 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
12190 : && INTVAL (operands[2]) == INTVAL (operands[4]) - 2
12191 : && INTVAL (operands[2]) == INTVAL (operands[5]) - 3
12192 : && (INTVAL (operands[6]) & 3) == 0
12193 : && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
12194 : && INTVAL (operands[6]) == INTVAL (operands[8]) - 2
12195 : && INTVAL (operands[6]) == INTVAL (operands[9]) - 3
12196 : && (INTVAL (operands[10]) & 3) == 0
12197 : && INTVAL (operands[10]) == INTVAL (operands[11]) - 1
12198 : && INTVAL (operands[10]) == INTVAL (operands[12]) - 2
12199 : && INTVAL (operands[10]) == INTVAL (operands[13]) - 3
12200 : && (INTVAL (operands[14]) & 3) == 0
12201 : && INTVAL (operands[14]) == INTVAL (operands[15]) - 1
12202 : && INTVAL (operands[14]) == INTVAL (operands[16]) - 2
12203 : && INTVAL (operands[14]) == INTVAL (operands[17]) - 3)))
12204 : return -1;
12205 : return 8499; /* *avx512f_shuf_f32x4_1_mask_1 */
12206 :
12207 : case E_V16SImode:
12208 : if (!register_operand (operands[0], E_V16SImode)
12209 : || GET_MODE (x2) != E_V16SImode
12210 : || GET_MODE (x3) != E_V16SImode
12211 : || !nonimm_or_0_operand (operands[18], E_V16SImode))
12212 : return -1;
12213 : if (register_operand (operands[1], E_V16SImode)
12214 : && pattern1880 () == 0
12215 : && (
12216 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12217 : (TARGET_AVX512F) &&
12218 : #line 20933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12219 : (TARGET_AVX512F
12220 : && (INTVAL (operands[2]) & 3) == 0
12221 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
12222 : && INTVAL (operands[2]) == INTVAL (operands[4]) - 2
12223 : && INTVAL (operands[2]) == INTVAL (operands[5]) - 3
12224 : && (INTVAL (operands[6]) & 3) == 0
12225 : && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
12226 : && INTVAL (operands[6]) == INTVAL (operands[8]) - 2
12227 : && INTVAL (operands[6]) == INTVAL (operands[9]) - 3
12228 : && (INTVAL (operands[10]) & 3) == 0
12229 : && INTVAL (operands[10]) == INTVAL (operands[11]) - 1
12230 : && INTVAL (operands[10]) == INTVAL (operands[12]) - 2
12231 : && INTVAL (operands[10]) == INTVAL (operands[13]) - 3
12232 : && (INTVAL (operands[14]) & 3) == 0
12233 : && INTVAL (operands[14]) == INTVAL (operands[15]) - 1
12234 : && INTVAL (operands[14]) == INTVAL (operands[16]) - 2
12235 : && INTVAL (operands[14]) == INTVAL (operands[17]) - 3)))
12236 : return 8501; /* *avx512f_shuf_i32x4_1_mask_1 */
12237 : if (!nonimmediate_operand (operands[1], E_V16SImode)
12238 : || pattern1834 () != 0
12239 : || !const_8_to_11_operand (operands[10], E_VOIDmode)
12240 : || !const_8_to_11_operand (operands[11], E_VOIDmode)
12241 : || !const_8_to_11_operand (operands[12], E_VOIDmode)
12242 : || !const_8_to_11_operand (operands[13], E_VOIDmode)
12243 : || !const_12_to_15_operand (operands[14], E_VOIDmode)
12244 : || !const_12_to_15_operand (operands[15], E_VOIDmode)
12245 : || !const_12_to_15_operand (operands[16], E_VOIDmode)
12246 : || !const_12_to_15_operand (operands[17], E_VOIDmode)
12247 : || !(
12248 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12249 : (TARGET_AVX512F) &&
12250 : #line 21016 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12251 : (TARGET_AVX512F
12252 : && INTVAL (operands[2]) + 4 == INTVAL (operands[6])
12253 : && INTVAL (operands[3]) + 4 == INTVAL (operands[7])
12254 : && INTVAL (operands[4]) + 4 == INTVAL (operands[8])
12255 : && INTVAL (operands[5]) + 4 == INTVAL (operands[9])
12256 : && INTVAL (operands[2]) + 8 == INTVAL (operands[10])
12257 : && INTVAL (operands[3]) + 8 == INTVAL (operands[11])
12258 : && INTVAL (operands[4]) + 8 == INTVAL (operands[12])
12259 : && INTVAL (operands[5]) + 8 == INTVAL (operands[13])
12260 : && INTVAL (operands[2]) + 12 == INTVAL (operands[14])
12261 : && INTVAL (operands[3]) + 12 == INTVAL (operands[15])
12262 : && INTVAL (operands[4]) + 12 == INTVAL (operands[16])
12263 : && INTVAL (operands[5]) + 12 == INTVAL (operands[17]))))
12264 : return -1;
12265 : return 8503; /* avx512f_pshufd_1_mask */
12266 :
12267 : default:
12268 : return -1;
12269 : }
12270 : }
12271 :
12272 : int
12273 : recog_188 (rtx x1 ATTRIBUTE_UNUSED,
12274 : rtx_insn *insn ATTRIBUTE_UNUSED,
12275 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12276 : {
12277 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12278 : rtx x2, x3, x4, x5, x6, x7;
12279 : int res ATTRIBUTE_UNUSED;
12280 : x2 = XEXP (x1, 1);
12281 : x3 = XEXP (x2, 0);
12282 : x4 = XEXP (x3, 0);
12283 : operands[1] = x4;
12284 : x5 = XEXP (x3, 1);
12285 : operands[2] = x5;
12286 : x6 = XEXP (x2, 1);
12287 : operands[3] = x6;
12288 : x7 = XEXP (x2, 2);
12289 : operands[4] = x7;
12290 : switch (GET_MODE (operands[0]))
12291 : {
12292 : case E_V16HImode:
12293 : if (pattern135 (x2,
12294 : E_HImode,
12295 : E_V16HImode) != 0)
12296 : return -1;
12297 : if (nonimmediate_operand (operands[1], E_V16HImode)
12298 : && nonmemory_operand (operands[2], E_DImode)
12299 : && (
12300 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12301 : (TARGET_AVX512F) && (
12302 : #line 17523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12303 : (TARGET_AVX512VL) &&
12304 : #line 785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12305 : (TARGET_AVX512BW))))
12306 : return 7666; /* ashrv16hi3_mask */
12307 : if (!register_operand (operands[1], E_V16HImode)
12308 : || !nonimmediate_operand (operands[2], E_V16HImode)
12309 : || !(
12310 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12311 : (TARGET_AVX512F) && (
12312 : #line 29874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12313 : (TARGET_AVX512BW) &&
12314 : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12315 : (TARGET_AVX512VL))))
12316 : return -1;
12317 : return 9662; /* avx512vl_ashrvv16hi_mask */
12318 :
12319 : case E_V8HImode:
12320 : if (pattern135 (x2,
12321 : E_QImode,
12322 : E_V8HImode) != 0)
12323 : return -1;
12324 : if (nonimmediate_operand (operands[1], E_V8HImode)
12325 : && nonmemory_operand (operands[2], E_DImode)
12326 : && (
12327 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12328 : (TARGET_AVX512F) && (
12329 : #line 17523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12330 : (TARGET_AVX512VL) &&
12331 : #line 785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12332 : (TARGET_AVX512BW))))
12333 : return 7668; /* ashrv8hi3_mask */
12334 : if (!register_operand (operands[1], E_V8HImode)
12335 : || !nonimmediate_operand (operands[2], E_V8HImode)
12336 : || !(
12337 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12338 : (TARGET_AVX512F) && (
12339 : #line 29874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12340 : (TARGET_AVX512BW) &&
12341 : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12342 : (TARGET_AVX512VL))))
12343 : return -1;
12344 : return 9660; /* avx512vl_ashrvv8hi_mask */
12345 :
12346 : case E_V8SImode:
12347 : if (pattern135 (x2,
12348 : E_QImode,
12349 : E_V8SImode) != 0)
12350 : return -1;
12351 : if (nonimmediate_operand (operands[1], E_V8SImode)
12352 : && nonmemory_operand (operands[2], E_DImode)
12353 : && (
12354 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12355 : (TARGET_AVX512F) &&
12356 : #line 17523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12357 : (TARGET_AVX512VL)))
12358 : return 7670; /* ashrv8si3_mask */
12359 : if (!register_operand (operands[1], E_V8SImode)
12360 : || !nonimmediate_operand (operands[2], E_V8SImode)
12361 : || !(
12362 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12363 : (TARGET_AVX512F) &&
12364 : #line 29863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12365 : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
12366 : return -1;
12367 : return 9650; /* avx2_ashrvv8si_mask */
12368 :
12369 : case E_V4SImode:
12370 : if (pattern135 (x2,
12371 : E_QImode,
12372 : E_V4SImode) != 0)
12373 : return -1;
12374 : if (nonimmediate_operand (operands[1], E_V4SImode)
12375 : && nonmemory_operand (operands[2], E_DImode)
12376 : && (
12377 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12378 : (TARGET_AVX512F) &&
12379 : #line 17523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12380 : (TARGET_AVX512VL)))
12381 : return 7672; /* ashrv4si3_mask */
12382 : if (!register_operand (operands[1], E_V4SImode)
12383 : || !nonimmediate_operand (operands[2], E_V4SImode)
12384 : || !(
12385 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12386 : (TARGET_AVX512F) &&
12387 : #line 29863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12388 : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
12389 : return -1;
12390 : return 9648; /* avx2_ashrvv4si_mask */
12391 :
12392 : case E_V2DImode:
12393 : if (pattern135 (x2,
12394 : E_QImode,
12395 : E_V2DImode) != 0)
12396 : return -1;
12397 : if (nonimmediate_operand (operands[1], E_V2DImode)
12398 : && nonmemory_operand (operands[2], E_DImode)
12399 : && (
12400 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12401 : (TARGET_AVX512F) &&
12402 : #line 17523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12403 : (TARGET_AVX512VL)))
12404 : return 7674; /* ashrv2di3_mask */
12405 : if (!register_operand (operands[1], E_V2DImode)
12406 : || !nonimmediate_operand (operands[2], E_V2DImode)
12407 : || !(
12408 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12409 : (TARGET_AVX512F) && (
12410 : #line 29863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12411 : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL)) &&
12412 : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12413 : (TARGET_AVX512VL))))
12414 : return -1;
12415 : return 9654; /* avx2_ashrvv2di_mask */
12416 :
12417 : case E_V32HImode:
12418 : if (pattern135 (x2,
12419 : E_SImode,
12420 : E_V32HImode) != 0)
12421 : return -1;
12422 : if (nonimmediate_operand (operands[1], E_V32HImode)
12423 : && nonmemory_operand (operands[2], E_DImode)
12424 : && (
12425 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12426 : (TARGET_AVX512F) && (
12427 : #line 17567 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12428 : (TARGET_AVX512F) &&
12429 : #line 780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12430 : (TARGET_AVX512BW))))
12431 : return 7684; /* ashrv32hi3_mask */
12432 : if (!register_operand (operands[1], E_V32HImode)
12433 : || !nonimmediate_operand (operands[2], E_V32HImode)
12434 : || !(
12435 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12436 : (TARGET_AVX512F) &&
12437 : #line 29874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12438 : (TARGET_AVX512BW)))
12439 : return -1;
12440 : return 9664; /* avx512bw_ashrvv32hi_mask */
12441 :
12442 : case E_V4DImode:
12443 : if (pattern135 (x2,
12444 : E_QImode,
12445 : E_V4DImode) != 0)
12446 : return -1;
12447 : if (nonimmediate_operand (operands[1], E_V4DImode)
12448 : && nonmemory_operand (operands[2], E_DImode)
12449 : && (
12450 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12451 : (TARGET_AVX512F) && (
12452 : #line 17567 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12453 : (TARGET_AVX512F) &&
12454 : #line 781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12455 : (TARGET_AVX512VL))))
12456 : return 7686; /* ashrv4di3_mask */
12457 : if (!register_operand (operands[1], E_V4DImode)
12458 : || !nonimmediate_operand (operands[2], E_V4DImode)
12459 : || !(
12460 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12461 : (TARGET_AVX512F) && (
12462 : #line 29863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12463 : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL)) &&
12464 : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12465 : (TARGET_AVX512VL))))
12466 : return -1;
12467 : return 9656; /* avx2_ashrvv4di_mask */
12468 :
12469 : case E_V16SImode:
12470 : if (pattern135 (x2,
12471 : E_HImode,
12472 : E_V16SImode) != 0)
12473 : return -1;
12474 : if (nonimmediate_operand (operands[1], E_V16SImode)
12475 : && nonmemory_operand (operands[2], E_DImode)
12476 : &&
12477 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12478 : (TARGET_AVX512F))
12479 : return 7688; /* ashrv16si3_mask */
12480 : if (!register_operand (operands[1], E_V16SImode)
12481 : || !nonimmediate_operand (operands[2], E_V16SImode)
12482 : || !(
12483 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12484 : (TARGET_AVX512F) && (
12485 : #line 29863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12486 : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
12487 : #line 674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12488 : (TARGET_AVX512F))))
12489 : return -1;
12490 : return 9652; /* avx512f_ashrvv16si_mask */
12491 :
12492 : case E_V8DImode:
12493 : if (pattern135 (x2,
12494 : E_QImode,
12495 : E_V8DImode) != 0)
12496 : return -1;
12497 : if (nonimmediate_operand (operands[1], E_V8DImode)
12498 : && nonmemory_operand (operands[2], E_DImode)
12499 : &&
12500 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12501 : (TARGET_AVX512F))
12502 : return 7690; /* ashrv8di3_mask */
12503 : if (!register_operand (operands[1], E_V8DImode)
12504 : || !nonimmediate_operand (operands[2], E_V8DImode)
12505 : || !(
12506 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12507 : (TARGET_AVX512F) && (
12508 : #line 29863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12509 : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
12510 : #line 676 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12511 : (TARGET_AVX512F))))
12512 : return -1;
12513 : return 9658; /* avx512f_ashrvv8di_mask */
12514 :
12515 : default:
12516 : return -1;
12517 : }
12518 : }
12519 :
12520 : int
12521 : recog_190 (rtx x1 ATTRIBUTE_UNUSED,
12522 : rtx_insn *insn ATTRIBUTE_UNUSED,
12523 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12524 : {
12525 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12526 : rtx x2;
12527 : int res ATTRIBUTE_UNUSED;
12528 : x2 = XEXP (x1, 1);
12529 : switch (pattern148 (x2))
12530 : {
12531 : case 0:
12532 : if (nonimmediate_operand (operands[1], E_V16HImode)
12533 : && nonmemory_operand (operands[2], E_DImode)
12534 : && (
12535 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12536 : (TARGET_AVX512F) && (
12537 : #line 17719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12538 : (TARGET_AVX512VL) &&
12539 : #line 790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12540 : (TARGET_AVX512BW))))
12541 : return 7703; /* lshrv16hi3_mask */
12542 : if (!register_operand (operands[1], E_V16HImode)
12543 : || !nonimmediate_operand (operands[2], E_V16HImode)
12544 : || !(
12545 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12546 : (TARGET_AVX512F) && (
12547 : #line 29896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12548 : (TARGET_AVX512BW) &&
12549 : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12550 : (TARGET_AVX512VL))))
12551 : return -1;
12552 : return 9696; /* avx512vl_lshrvv16hi_mask */
12553 :
12554 : case 1:
12555 : if (nonimmediate_operand (operands[1], E_V8HImode)
12556 : && nonmemory_operand (operands[2], E_DImode)
12557 : && (
12558 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12559 : (TARGET_AVX512F) && (
12560 : #line 17719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12561 : (TARGET_AVX512VL) &&
12562 : #line 790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12563 : (TARGET_AVX512BW))))
12564 : return 7707; /* lshrv8hi3_mask */
12565 : if (!register_operand (operands[1], E_V8HImode)
12566 : || !nonimmediate_operand (operands[2], E_V8HImode)
12567 : || !(
12568 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12569 : (TARGET_AVX512F) && (
12570 : #line 29896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12571 : (TARGET_AVX512BW) &&
12572 : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12573 : (TARGET_AVX512VL))))
12574 : return -1;
12575 : return 9692; /* avx512vl_lshrvv8hi_mask */
12576 :
12577 : case 2:
12578 : if (nonimmediate_operand (operands[1], E_V8SImode)
12579 : && nonmemory_operand (operands[2], E_DImode)
12580 : && (
12581 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12582 : (TARGET_AVX512F) &&
12583 : #line 17719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12584 : (TARGET_AVX512VL)))
12585 : return 7711; /* lshrv8si3_mask */
12586 : if (!register_operand (operands[1], E_V8SImode)
12587 : || !nonimmediate_operand (operands[2], E_V8SImode)
12588 : || !(
12589 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12590 : (TARGET_AVX512F) &&
12591 : #line 29885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12592 : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
12593 : return -1;
12594 : return 9672; /* avx2_lshrvv8si_mask */
12595 :
12596 : case 3:
12597 : if (nonimmediate_operand (operands[1], E_V4SImode)
12598 : && nonmemory_operand (operands[2], E_DImode)
12599 : && (
12600 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12601 : (TARGET_AVX512F) &&
12602 : #line 17719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12603 : (TARGET_AVX512VL)))
12604 : return 7715; /* lshrv4si3_mask */
12605 : if (!register_operand (operands[1], E_V4SImode)
12606 : || !nonimmediate_operand (operands[2], E_V4SImode)
12607 : || !(
12608 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12609 : (TARGET_AVX512F) &&
12610 : #line 29885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12611 : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
12612 : return -1;
12613 : return 9676; /* avx2_lshrvv4si_mask */
12614 :
12615 : case 4:
12616 : if (nonimmediate_operand (operands[1], E_V4DImode)
12617 : && nonmemory_operand (operands[2], E_DImode)
12618 : && (
12619 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12620 : (TARGET_AVX512F) &&
12621 : #line 17719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12622 : (TARGET_AVX512VL)))
12623 : return 7719; /* lshrv4di3_mask */
12624 : if (!register_operand (operands[1], E_V4DImode)
12625 : || !nonimmediate_operand (operands[2], E_V4DImode)
12626 : || !(
12627 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12628 : (TARGET_AVX512F) &&
12629 : #line 29885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12630 : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
12631 : return -1;
12632 : return 9684; /* avx2_lshrvv4di_mask */
12633 :
12634 : case 5:
12635 : if (nonimmediate_operand (operands[1], E_V2DImode)
12636 : && nonmemory_operand (operands[2], E_DImode)
12637 : && (
12638 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12639 : (TARGET_AVX512F) &&
12640 : #line 17719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12641 : (TARGET_AVX512VL)))
12642 : return 7723; /* lshrv2di3_mask */
12643 : if (!register_operand (operands[1], E_V2DImode)
12644 : || !nonimmediate_operand (operands[2], E_V2DImode)
12645 : || !(
12646 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12647 : (TARGET_AVX512F) &&
12648 : #line 29885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12649 : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
12650 : return -1;
12651 : return 9688; /* avx2_lshrvv2di_mask */
12652 :
12653 : case 6:
12654 : if (nonimmediate_operand (operands[1], E_V32HImode)
12655 : && nonmemory_operand (operands[2], E_DImode)
12656 : && (
12657 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12658 : (TARGET_AVX512F) && (
12659 : #line 17807 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12660 : (TARGET_AVX512F) &&
12661 : #line 777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12662 : (TARGET_AVX512BW))))
12663 : return 7743; /* lshrv32hi3_mask */
12664 : if (!register_operand (operands[1], E_V32HImode)
12665 : || !nonimmediate_operand (operands[2], E_V32HImode)
12666 : || !(
12667 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12668 : (TARGET_AVX512F) &&
12669 : #line 29896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12670 : (TARGET_AVX512BW)))
12671 : return -1;
12672 : return 9700; /* avx512bw_lshrvv32hi_mask */
12673 :
12674 : case 7:
12675 : if (nonimmediate_operand (operands[1], E_V16SImode)
12676 : && nonmemory_operand (operands[2], E_DImode)
12677 : &&
12678 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12679 : (TARGET_AVX512F))
12680 : return 7747; /* lshrv16si3_mask */
12681 : if (!register_operand (operands[1], E_V16SImode)
12682 : || !nonimmediate_operand (operands[2], E_V16SImode)
12683 : || !(
12684 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12685 : (TARGET_AVX512F) && (
12686 : #line 29885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12687 : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
12688 : #line 795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12689 : (TARGET_AVX512F))))
12690 : return -1;
12691 : return 9668; /* avx512f_lshrvv16si_mask */
12692 :
12693 : case 8:
12694 : if (nonimmediate_operand (operands[1], E_V8DImode)
12695 : && nonmemory_operand (operands[2], E_DImode)
12696 : &&
12697 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12698 : (TARGET_AVX512F))
12699 : return 7751; /* lshrv8di3_mask */
12700 : if (!register_operand (operands[1], E_V8DImode)
12701 : || !nonimmediate_operand (operands[2], E_V8DImode)
12702 : || !(
12703 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12704 : (TARGET_AVX512F) && (
12705 : #line 29885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12706 : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
12707 : #line 796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12708 : (TARGET_AVX512F))))
12709 : return -1;
12710 : return 9680; /* avx512f_lshrvv8di_mask */
12711 :
12712 : default:
12713 : return -1;
12714 : }
12715 : }
12716 :
12717 : int
12718 : recog_196 (rtx x1 ATTRIBUTE_UNUSED,
12719 : rtx_insn *insn ATTRIBUTE_UNUSED,
12720 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12721 : {
12722 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12723 : rtx x2, x3, x4, x5;
12724 : int res ATTRIBUTE_UNUSED;
12725 : x2 = XEXP (x1, 1);
12726 : switch (pattern157 (x2))
12727 : {
12728 : case 0:
12729 : if (!(
12730 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12731 : (TARGET_AVX512F) &&
12732 : #line 24648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12733 : (TARGET_AVX2 && TARGET_AVX512BW && TARGET_AVX512VL)))
12734 : return -1;
12735 : return 8819; /* avx2_sign_extendv16qiv16hi2_mask */
12736 :
12737 : case 1:
12738 : if (!(
12739 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12740 : (TARGET_AVX512F) &&
12741 : #line 24703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12742 : (TARGET_AVX512BW)))
12743 : return -1;
12744 : return 8827; /* avx512bw_sign_extendv32qiv32hi2_mask */
12745 :
12746 : case 2:
12747 : if (!(
12748 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12749 : (TARGET_AVX512F) &&
12750 : #line 24775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12751 : (TARGET_SSE4_1 && TARGET_AVX512BW && TARGET_AVX512VL)))
12752 : return -1;
12753 : return 8839; /* *sse4_1_sign_extendv8qiv8hi2_mask_1 */
12754 :
12755 : case 3:
12756 : if (!
12757 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12758 : (TARGET_AVX512F))
12759 : return -1;
12760 : return 8851; /* avx512f_sign_extendv16qiv16si2_mask */
12761 :
12762 : case 4:
12763 : if (!
12764 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12765 : (TARGET_AVX512F))
12766 : return -1;
12767 : return 8881; /* avx512f_sign_extendv16hiv16si2_mask */
12768 :
12769 : case 5:
12770 : if (!(
12771 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12772 : (TARGET_AVX512F) &&
12773 : #line 24961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12774 : (TARGET_AVX2 && TARGET_AVX512VL)))
12775 : return -1;
12776 : return 8859; /* *avx2_sign_extendv8qiv8si2_mask_1 */
12777 :
12778 : case 6:
12779 : if (!(
12780 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12781 : (TARGET_AVX512F) &&
12782 : #line 25185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12783 : (TARGET_AVX2 && TARGET_AVX512VL)))
12784 : return -1;
12785 : return 8889; /* avx2_sign_extendv8hiv8si2_mask */
12786 :
12787 : case 7:
12788 : if (!(
12789 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12790 : (TARGET_AVX512F) &&
12791 : #line 25051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12792 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12793 : return -1;
12794 : return 8871; /* *sse4_1_sign_extendv4qiv4si2_mask_1 */
12795 :
12796 : case 8:
12797 : if (!(
12798 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12799 : (TARGET_AVX512F) &&
12800 : #line 25257 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12801 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12802 : return -1;
12803 : return 8901; /* *sse4_1_sign_extendv4hiv4si2_mask_1 */
12804 :
12805 : case 9:
12806 : if (!
12807 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12808 : (TARGET_AVX512F))
12809 : return -1;
12810 : return 8917; /* *avx512f_sign_extendv8qiv8di2_mask_1 */
12811 :
12812 : case 10:
12813 : if (!
12814 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12815 : (TARGET_AVX512F))
12816 : return -1;
12817 : return 8948; /* avx512f_sign_extendv8hiv8di2_mask */
12818 :
12819 : case 11:
12820 : if (!
12821 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12822 : (TARGET_AVX512F))
12823 : return -1;
12824 : return 8976; /* avx512f_sign_extendv8siv8di2_mask */
12825 :
12826 : case 12:
12827 : if (!(
12828 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12829 : (TARGET_AVX512F) &&
12830 : #line 25501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12831 : (TARGET_AVX2 && TARGET_AVX512VL)))
12832 : return -1;
12833 : return 8929; /* *avx2_sign_extendv4qiv4di2_mask_1 */
12834 :
12835 : case 13:
12836 : if (!(
12837 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12838 : (TARGET_AVX512F) &&
12839 : #line 25678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12840 : (TARGET_AVX2 && TARGET_AVX512VL)))
12841 : return -1;
12842 : return 8956; /* *avx2_sign_extendv4hiv4di2_mask_1 */
12843 :
12844 : case 14:
12845 : if (!(
12846 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12847 : (TARGET_AVX512F) &&
12848 : #line 25893 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12849 : (TARGET_AVX2 && TARGET_AVX512VL)))
12850 : return -1;
12851 : return 8982; /* avx2_sign_extendv4siv4di2_mask */
12852 :
12853 : case 15:
12854 : if (!(
12855 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12856 : (TARGET_AVX512F) &&
12857 : #line 25594 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12858 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12859 : return -1;
12860 : return 8941; /* *sse4_1_sign_extendv2qiv2di2_mask_1 */
12861 :
12862 : case 16:
12863 : if (!(
12864 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12865 : (TARGET_AVX512F) &&
12866 : #line 25763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12867 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12868 : return -1;
12869 : return 8968; /* *sse4_1_sign_extendv2hiv2di2_mask_1 */
12870 :
12871 : case 17:
12872 : if (!(
12873 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12874 : (TARGET_AVX512F) &&
12875 : #line 25961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12876 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12877 : return -1;
12878 : return 8992; /* *sse4_1_sign_extendv2siv2di2_mask_1 */
12879 :
12880 : case 18:
12881 : x3 = XEXP (x2, 0);
12882 : x4 = XEXP (x3, 0);
12883 : x5 = XEXP (x4, 0);
12884 : operands[1] = x5;
12885 : switch (pattern909 (x2))
12886 : {
12887 : case 0:
12888 : if ((
12889 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12890 : (TARGET_AVX512F) &&
12891 : #line 24762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12892 : (TARGET_SSE4_1 && TARGET_AVX512BW && TARGET_AVX512VL)))
12893 : return 8835; /* sse4_1_sign_extendv8qiv8hi2_mask */
12894 : break;
12895 :
12896 : case 1:
12897 : if ((
12898 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12899 : (TARGET_AVX512F) &&
12900 : #line 24949 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12901 : (TARGET_AVX2 && TARGET_AVX512VL)))
12902 : return 8855; /* avx2_sign_extendv8qiv8si2_mask */
12903 : break;
12904 :
12905 : case 2:
12906 : if (
12907 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12908 : (TARGET_AVX512F))
12909 : return 8913; /* avx512f_sign_extendv8qiv8di2_mask */
12910 : break;
12911 :
12912 : case 3:
12913 : if ((
12914 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12915 : (TARGET_AVX512F) &&
12916 : #line 25038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12917 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12918 : return 8867; /* sse4_1_sign_extendv4qiv4si2_mask */
12919 : break;
12920 :
12921 : case 4:
12922 : if ((
12923 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12924 : (TARGET_AVX512F) &&
12925 : #line 25244 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12926 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12927 : return 8897; /* sse4_1_sign_extendv4hiv4si2_mask */
12928 : break;
12929 :
12930 : case 5:
12931 : if ((
12932 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12933 : (TARGET_AVX512F) &&
12934 : #line 25489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12935 : (TARGET_AVX2 && TARGET_AVX512VL)))
12936 : return 8925; /* avx2_sign_extendv4qiv4di2_mask */
12937 : break;
12938 :
12939 : case 6:
12940 : if ((
12941 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12942 : (TARGET_AVX512F) &&
12943 : #line 25666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12944 : (TARGET_AVX2 && TARGET_AVX512VL)))
12945 : return 8952; /* avx2_sign_extendv4hiv4di2_mask */
12946 : break;
12947 :
12948 : case 7:
12949 : if ((
12950 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12951 : (TARGET_AVX512F) &&
12952 : #line 25581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12953 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12954 : return 8937; /* sse4_1_sign_extendv2qiv2di2_mask */
12955 : break;
12956 :
12957 : case 8:
12958 : if ((
12959 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12960 : (TARGET_AVX512F) &&
12961 : #line 25750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12962 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12963 : return 8964; /* sse4_1_sign_extendv2hiv2di2_mask */
12964 : break;
12965 :
12966 : case 9:
12967 : if ((
12968 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12969 : (TARGET_AVX512F) &&
12970 : #line 25948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12971 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12972 : return 8988; /* sse4_1_sign_extendv2siv2di2_mask */
12973 : break;
12974 :
12975 : default:
12976 : break;
12977 : }
12978 : if (GET_CODE (x5) != SUBREG
12979 : || maybe_ne (SUBREG_BYTE (x5), 0))
12980 : return -1;
12981 : switch (pattern416 (x2))
12982 : {
12983 : case 0:
12984 : if (!
12985 : #line 24823 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12986 : (TARGET_AVX512VL && TARGET_AVX512BW
12987 : && ix86_pre_reload_split ()))
12988 : return -1;
12989 : return 8844; /* *avx512vl_sign_extendv8qiv8hi2_mask_2 */
12990 :
12991 : case 1:
12992 : if (!
12993 : #line 25004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12994 : (TARGET_AVX512VL
12995 : && ix86_pre_reload_split ()))
12996 : return -1;
12997 : return 8864; /* *avx512vl_sign_extendv8qiv8si2_mask_2 */
12998 :
12999 : case 2:
13000 : if (!
13001 : #line 25456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13002 : (TARGET_AVX512F && ix86_pre_reload_split ()))
13003 : return -1;
13004 : return 8922; /* *avx512f_sign_extendv8qiv8di2_mask_2 */
13005 :
13006 : case 3:
13007 : if (!
13008 : #line 25298 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13009 : (TARGET_AVX512VL
13010 : && ix86_pre_reload_split ()))
13011 : return -1;
13012 : return 8906; /* *avx512vl_sign_extendv4hiv4si2_mask_2 */
13013 :
13014 : case 4:
13015 : if (!
13016 : #line 25717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13017 : (TARGET_AVX512VL
13018 : && ix86_pre_reload_split ()))
13019 : return -1;
13020 : return 8961; /* *avx512vl_sign_extendv4hiv4di2_mask_2 */
13021 :
13022 : case 5:
13023 : if (!
13024 : #line 26000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13025 : (TARGET_AVX512VL
13026 : && ix86_pre_reload_split ()))
13027 : return -1;
13028 : return 8997; /* *avx512vl_sign_extendv2siv2di2_mask_2 */
13029 :
13030 : case 6:
13031 : if ((
13032 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13033 : (TARGET_AVX512F) &&
13034 : #line 25075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13035 : (TARGET_SSE4_1 && TARGET_AVX512VL
13036 : && ix86_pre_reload_split ())))
13037 : return 8875; /* *sse4_1_sign_extendv4qiv4si2_2 */
13038 : if (!
13039 : #line 25100 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13040 : (TARGET_AVX512VL
13041 : && ix86_pre_reload_split ()))
13042 : return -1;
13043 : return 8878; /* *avx512vl_sign_extendv4qiv4si2_mask_2 */
13044 :
13045 : case 7:
13046 : if (!
13047 : #line 25548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13048 : (TARGET_AVX512VL
13049 : && ix86_pre_reload_split ()))
13050 : return -1;
13051 : return 8934; /* *avx512vl_sign_extendv4qiv4di2_mask_2 */
13052 :
13053 : case 8:
13054 : if (!
13055 : #line 25810 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13056 : (TARGET_AVX512VL
13057 : && ix86_pre_reload_split ()))
13058 : return -1;
13059 : return 8973; /* *avx512vl_sign_extendv2hiv2di2_mask_2 */
13060 :
13061 : default:
13062 : return -1;
13063 : }
13064 :
13065 : default:
13066 : return -1;
13067 : }
13068 : }
13069 :
13070 : int
13071 : recog_205 (rtx x1 ATTRIBUTE_UNUSED,
13072 : rtx_insn *insn ATTRIBUTE_UNUSED,
13073 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13074 : {
13075 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13076 : rtx x2;
13077 : int res ATTRIBUTE_UNUSED;
13078 : x2 = XEXP (x1, 1);
13079 : switch (pattern144 (x2))
13080 : {
13081 : case 0:
13082 : if (!(
13083 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13084 : (TARGET_AVX512F) && (
13085 : #line 8256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13086 : (TARGET_AVX512FP16) &&
13087 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13088 : (TARGET_AVX512VL))))
13089 : return -1;
13090 : return 4650; /* avx512fp16_fix_truncv8hi2_mask */
13091 :
13092 : case 1:
13093 : if (!(
13094 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13095 : (TARGET_AVX512F) && (
13096 : #line 8256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13097 : (TARGET_AVX512FP16) &&
13098 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13099 : (TARGET_AVX512VL))))
13100 : return -1;
13101 : return 4658; /* avx512fp16_fix_truncv16hi2_mask */
13102 :
13103 : case 2:
13104 : if (!(
13105 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13106 : (TARGET_AVX512F) &&
13107 : #line 8256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13108 : (TARGET_AVX512FP16)))
13109 : return -1;
13110 : return 4666; /* avx512fp16_fix_truncv32hi2_mask */
13111 :
13112 : case 3:
13113 : switch (GET_MODE (operands[1]))
13114 : {
13115 : case E_V8HFmode:
13116 : if (!vector_operand (operands[1], E_V8HFmode)
13117 : || !(
13118 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13119 : (TARGET_AVX512F) && (
13120 : #line 8256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13121 : (TARGET_AVX512FP16) &&
13122 : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13123 : (TARGET_AVX512VL))))
13124 : return -1;
13125 : return 4674; /* avx512fp16_fix_truncv8si2_mask */
13126 :
13127 : case E_V8SFmode:
13128 : if (!nonimmediate_operand (operands[1], E_V8SFmode)
13129 : || !(
13130 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13131 : (TARGET_AVX512F) &&
13132 : #line 9171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13133 : (TARGET_AVX && TARGET_AVX512VL)))
13134 : return -1;
13135 : return 4925; /* fix_truncv8sfv8si2_mask */
13136 :
13137 : case E_V8DFmode:
13138 : if (!vector_operand (operands[1], E_V8DFmode)
13139 : || !
13140 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13141 : (TARGET_AVX512F))
13142 : return -1;
13143 : return 5065; /* fix_truncv8dfv8si2_mask */
13144 :
13145 : default:
13146 : return -1;
13147 : }
13148 :
13149 : case 4:
13150 : if (!(
13151 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13152 : (TARGET_AVX512F) &&
13153 : #line 8256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13154 : (TARGET_AVX512FP16)))
13155 : return -1;
13156 : return 4682; /* avx512fp16_fix_truncv16si2_mask */
13157 :
13158 : case 5:
13159 : if (!
13160 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13161 : (TARGET_AVX512F))
13162 : return -1;
13163 : return 4916; /* fix_truncv16sfv16si2_mask */
13164 :
13165 : case 6:
13166 : if (!(
13167 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13168 : (TARGET_AVX512F) &&
13169 : #line 8256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13170 : (TARGET_AVX512FP16)))
13171 : return -1;
13172 : return 4690; /* avx512fp16_fix_truncv8di2_mask */
13173 :
13174 : case 7:
13175 : if (!(
13176 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13177 : (TARGET_AVX512F) &&
13178 : #line 10075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13179 : (TARGET_AVX512DQ && 1)))
13180 : return -1;
13181 : return 5102; /* fix_truncv8dfv8di2_mask */
13182 :
13183 : case 8:
13184 : if (!(
13185 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13186 : (TARGET_AVX512F) &&
13187 : #line 10118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13188 : (TARGET_AVX512DQ && 1)))
13189 : return -1;
13190 : return 5146; /* fix_truncv8sfv8di2_mask */
13191 :
13192 : case 9:
13193 : switch (GET_MODE (operands[1]))
13194 : {
13195 : case E_V4HFmode:
13196 : if (!memory_operand (operands[1], E_V4HFmode)
13197 : || !(
13198 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13199 : (TARGET_AVX512F) &&
13200 : #line 8306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13201 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13202 : return -1;
13203 : return 4713; /* *avx512fp16_fix_truncv4si2_load_mask */
13204 :
13205 : case E_V4SFmode:
13206 : if (!vector_operand (operands[1], E_V4SFmode)
13207 : || !(
13208 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13209 : (TARGET_AVX512F) &&
13210 : #line 9201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13211 : (TARGET_SSE2 && TARGET_AVX512VL)))
13212 : return -1;
13213 : return 4929; /* fix_truncv4sfv4si2_mask */
13214 :
13215 : case E_V4DFmode:
13216 : if (!nonimmediate_operand (operands[1], E_V4DFmode)
13217 : || !(
13218 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13219 : (TARGET_AVX512F) &&
13220 : #line 10035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13221 : (TARGET_AVX || (TARGET_AVX512VL && TARGET_AVX512F))))
13222 : return -1;
13223 : return 5079; /* fix_truncv4dfv4si2_mask */
13224 :
13225 : default:
13226 : return -1;
13227 : }
13228 :
13229 : case 10:
13230 : if (!(
13231 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13232 : (TARGET_AVX512F) &&
13233 : #line 8306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13234 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13235 : return -1;
13236 : return 4717; /* *avx512fp16_fix_truncv4di2_load_mask */
13237 :
13238 : case 11:
13239 : if (!(
13240 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13241 : (TARGET_AVX512F) && (
13242 : #line 10075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13243 : (TARGET_AVX512DQ && 1) &&
13244 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13245 : (TARGET_AVX512VL))))
13246 : return -1;
13247 : return 5109; /* fix_truncv4dfv4di2_mask */
13248 :
13249 : case 12:
13250 : if (!(
13251 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13252 : (TARGET_AVX512F) && (
13253 : #line 10118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13254 : (TARGET_AVX512DQ && 1) &&
13255 : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13256 : (TARGET_AVX512VL))))
13257 : return -1;
13258 : return 5153; /* fix_truncv4sfv4di2_mask */
13259 :
13260 : case 13:
13261 : if (!(
13262 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13263 : (TARGET_AVX512F) &&
13264 : #line 8356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13265 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13266 : return -1;
13267 : return 4729; /* *avx512fp16_fix_truncv2di2_load_mask */
13268 :
13269 : case 14:
13270 : if (!(
13271 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13272 : (TARGET_AVX512F) && (
13273 : #line 10075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13274 : (TARGET_AVX512DQ && 1) &&
13275 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13276 : (TARGET_AVX512VL))))
13277 : return -1;
13278 : return 5113; /* fix_truncv2dfv2di2_mask */
13279 :
13280 : case 15:
13281 : if (!(
13282 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13283 : (TARGET_AVX512F) &&
13284 : #line 8296 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13285 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13286 : return -1;
13287 : return 4705; /* avx512fp16_fix_truncv4si2_mask */
13288 :
13289 : case 16:
13290 : if (!(
13291 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13292 : (TARGET_AVX512F) &&
13293 : #line 8296 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13294 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13295 : return -1;
13296 : return 4709; /* avx512fp16_fix_truncv4di2_mask */
13297 :
13298 : case 17:
13299 : if (!(
13300 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13301 : (TARGET_AVX512F) &&
13302 : #line 8346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13303 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13304 : return -1;
13305 : return 4725; /* avx512fp16_fix_truncv2di2_mask */
13306 :
13307 : case 18:
13308 : if (!(
13309 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13310 : (TARGET_AVX512F) &&
13311 : #line 10141 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13312 : (TARGET_AVX512DQ && TARGET_AVX512VL)))
13313 : return -1;
13314 : return 5161; /* avx512dq_fix_truncv2sfv2di2_mask */
13315 :
13316 : default:
13317 : return -1;
13318 : }
13319 : }
13320 :
13321 : int
13322 : recog_216 (rtx x1 ATTRIBUTE_UNUSED,
13323 : rtx_insn *insn ATTRIBUTE_UNUSED,
13324 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13325 : {
13326 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13327 : rtx x2, x3;
13328 : int res ATTRIBUTE_UNUSED;
13329 : x2 = XEXP (x1, 1);
13330 : x3 = XVECEXP (x2, 0, 0);
13331 : operands[1] = x3;
13332 : switch (GET_MODE (operands[0]))
13333 : {
13334 : case E_V8SFmode:
13335 : if (!register_operand (operands[0], E_V8SFmode)
13336 : || GET_MODE (x2) != E_V8SFmode
13337 : || !vector_operand (operands[1], E_V8SFmode)
13338 : || !(
13339 : #line 3188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13340 : (TARGET_SSE) &&
13341 : #line 444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13342 : (TARGET_AVX)))
13343 : return -1;
13344 : return 3015; /* avx_rsqrtv8sf2 */
13345 :
13346 : case E_V4SFmode:
13347 : if (!register_operand (operands[0], E_V4SFmode)
13348 : || GET_MODE (x2) != E_V4SFmode
13349 : || !vector_operand (operands[1], E_V4SFmode)
13350 : || !
13351 : #line 3188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13352 : (TARGET_SSE))
13353 : return -1;
13354 : return 3016; /* sse_rsqrtv4sf2 */
13355 :
13356 : case E_V32HFmode:
13357 : if (!register_operand (operands[0], E_V32HFmode)
13358 : || GET_MODE (x2) != E_V32HFmode
13359 : || !vector_operand (operands[1], E_V32HFmode)
13360 : || !
13361 : #line 3200 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13362 : (TARGET_AVX512FP16))
13363 : return -1;
13364 : return 3017; /* avx512fp16_rsqrtv32hf2 */
13365 :
13366 : case E_V16HFmode:
13367 : if (!register_operand (operands[0], E_V16HFmode)
13368 : || GET_MODE (x2) != E_V16HFmode
13369 : || !vector_operand (operands[1], E_V16HFmode)
13370 : || !(
13371 : #line 3200 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13372 : (TARGET_AVX512FP16) &&
13373 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13374 : (TARGET_AVX512VL)))
13375 : return -1;
13376 : return 3019; /* avx512fp16_rsqrtv16hf2 */
13377 :
13378 : case E_V8HFmode:
13379 : if (!register_operand (operands[0], E_V8HFmode)
13380 : || GET_MODE (x2) != E_V8HFmode
13381 : || !vector_operand (operands[1], E_V8HFmode)
13382 : || !(
13383 : #line 3200 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13384 : (TARGET_AVX512FP16) &&
13385 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13386 : (TARGET_AVX512VL)))
13387 : return -1;
13388 : return 3021; /* avx512fp16_rsqrtv8hf2 */
13389 :
13390 : case E_V32BFmode:
13391 : if (!register_operand (operands[0], E_V32BFmode)
13392 : || GET_MODE (x2) != E_V32BFmode
13393 : || !nonimmediate_operand (operands[1], E_V32BFmode)
13394 : || !
13395 : #line 33378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13396 : (TARGET_AVX10_2))
13397 : return -1;
13398 : return 10770; /* avx10_2_rsqrtbf16_v32bf */
13399 :
13400 : case E_V16BFmode:
13401 : if (!register_operand (operands[0], E_V16BFmode)
13402 : || GET_MODE (x2) != E_V16BFmode
13403 : || !nonimmediate_operand (operands[1], E_V16BFmode)
13404 : || !
13405 : #line 33378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13406 : (TARGET_AVX10_2))
13407 : return -1;
13408 : return 10772; /* avx10_2_rsqrtbf16_v16bf */
13409 :
13410 : case E_V8BFmode:
13411 : if (!register_operand (operands[0], E_V8BFmode)
13412 : || GET_MODE (x2) != E_V8BFmode
13413 : || !nonimmediate_operand (operands[1], E_V8BFmode)
13414 : || !
13415 : #line 33378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13416 : (TARGET_AVX10_2))
13417 : return -1;
13418 : return 10774; /* avx10_2_rsqrtbf16_v8bf */
13419 :
13420 : default:
13421 : return -1;
13422 : }
13423 : }
13424 :
13425 : int
13426 : recog_222 (rtx x1 ATTRIBUTE_UNUSED,
13427 : rtx_insn *insn ATTRIBUTE_UNUSED,
13428 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13429 : {
13430 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13431 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
13432 : int res ATTRIBUTE_UNUSED;
13433 : x2 = XEXP (x1, 1);
13434 : x3 = XVECEXP (x2, 0, 1);
13435 : if (!const_4_or_8_to_11_operand (x3, E_SImode))
13436 : return -1;
13437 : x4 = XVECEXP (x2, 0, 0);
13438 : x5 = XEXP (x4, 0);
13439 : x6 = XVECEXP (x5, 0, 2);
13440 : switch (GET_CODE (x6))
13441 : {
13442 : case REG:
13443 : case SUBREG:
13444 : case MEM:
13445 : operands[3] = x6;
13446 : x7 = XEXP (x4, 1);
13447 : switch (GET_CODE (x7))
13448 : {
13449 : case CONST_INT:
13450 : case CONST_DOUBLE:
13451 : case CONST_VECTOR:
13452 : operands[4] = x7;
13453 : x8 = XEXP (x4, 2);
13454 : operands[5] = x8;
13455 : operands[6] = x3;
13456 : switch (GET_MODE (operands[0]))
13457 : {
13458 : case E_V32HFmode:
13459 : if (pattern1662 (x2,
13460 : E_SImode,
13461 : E_V32HFmode) != 0
13462 : || !(
13463 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13464 : (TARGET_AVX512F) && (
13465 : #line 6812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13466 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
13467 : || V32HFmode == V8DFmode
13468 : || V32HFmode == V8DImode
13469 : || V32HFmode == V16SImode
13470 : || V32HFmode == V32HFmode)) &&
13471 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13472 : (TARGET_AVX512FP16))))
13473 : return -1;
13474 : return 4133; /* fma_fmaddsub_v32hf_maskz_1_round */
13475 :
13476 : case E_V16SFmode:
13477 : if (pattern1662 (x2,
13478 : E_HImode,
13479 : E_V16SFmode) != 0
13480 : || !(
13481 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13482 : (TARGET_AVX512F) &&
13483 : #line 6812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13484 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
13485 : || V16SFmode == V8DFmode
13486 : || V16SFmode == V8DImode
13487 : || V16SFmode == V16SImode
13488 : || V16SFmode == V32HFmode))))
13489 : return -1;
13490 : return 4141; /* fma_fmaddsub_v16sf_maskz_1_round */
13491 :
13492 : case E_V8DFmode:
13493 : if (pattern1662 (x2,
13494 : E_QImode,
13495 : E_V8DFmode) != 0
13496 : || !(
13497 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13498 : (TARGET_AVX512F) &&
13499 : #line 6812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13500 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
13501 : || V8DFmode == V8DFmode
13502 : || V8DFmode == V8DImode
13503 : || V8DFmode == V16SImode
13504 : || V8DFmode == V32HFmode))))
13505 : return -1;
13506 : return 4149; /* fma_fmaddsub_v8df_maskz_1_round */
13507 :
13508 : default:
13509 : return -1;
13510 : }
13511 :
13512 : case REG:
13513 : case SUBREG:
13514 : case MEM:
13515 : x8 = XEXP (x4, 2);
13516 : operands[4] = x8;
13517 : operands[5] = x3;
13518 : switch (GET_MODE (operands[0]))
13519 : {
13520 : case E_V32HFmode:
13521 : if (pattern1597 (x2,
13522 : E_V32HFmode,
13523 : E_SImode) != 0)
13524 : return -1;
13525 : if (register_operand (operands[1], E_V32HFmode)
13526 : && register_operand (operands[3], E_V32HFmode)
13527 : && rtx_equal_p (x7, operands[1])
13528 : && (
13529 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13530 : (TARGET_AVX512F) && (
13531 : #line 6831 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13532 : (TARGET_AVX512F) &&
13533 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13534 : (TARGET_AVX512FP16))))
13535 : return 4155; /* avx512bw_fmaddsub_v32hf_mask_round */
13536 : if (!nonimmediate_operand (operands[1], E_V32HFmode)
13537 : || !nonimmediate_operand (operands[3], E_V32HFmode)
13538 : || !rtx_equal_p (x7, operands[3])
13539 : || !(
13540 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13541 : (TARGET_AVX512F) && (
13542 : #line 6849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13543 : (TARGET_AVX512F) &&
13544 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13545 : (TARGET_AVX512FP16))))
13546 : return -1;
13547 : return 4173; /* avx512bw_fmaddsub_v32hf_mask3_round */
13548 :
13549 : case E_V16HFmode:
13550 : if (pattern1597 (x2,
13551 : E_V16HFmode,
13552 : E_HImode) != 0)
13553 : return -1;
13554 : if (register_operand (operands[1], E_V16HFmode)
13555 : && register_operand (operands[3], E_V16HFmode)
13556 : && rtx_equal_p (x7, operands[1])
13557 : && (
13558 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13559 : (TARGET_AVX512F) && (
13560 : #line 6831 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13561 : (TARGET_AVX512F) &&
13562 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13563 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13564 : return 4157; /* avx512vl_fmaddsub_v16hf_mask_round */
13565 : if (!nonimmediate_operand (operands[1], E_V16HFmode)
13566 : || !nonimmediate_operand (operands[3], E_V16HFmode)
13567 : || !rtx_equal_p (x7, operands[3])
13568 : || !(
13569 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13570 : (TARGET_AVX512F) && (
13571 : #line 6849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13572 : (TARGET_AVX512F) &&
13573 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13574 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13575 : return -1;
13576 : return 4175; /* avx512vl_fmaddsub_v16hf_mask3_round */
13577 :
13578 : case E_V8HFmode:
13579 : if (pattern1597 (x2,
13580 : E_V8HFmode,
13581 : E_QImode) != 0)
13582 : return -1;
13583 : if (register_operand (operands[1], E_V8HFmode)
13584 : && register_operand (operands[3], E_V8HFmode)
13585 : && rtx_equal_p (x7, operands[1])
13586 : && (
13587 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13588 : (TARGET_AVX512F) && (
13589 : #line 6831 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13590 : (TARGET_AVX512F) &&
13591 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13592 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13593 : return 4159; /* avx512fp16_fmaddsub_v8hf_mask_round */
13594 : if (!nonimmediate_operand (operands[1], E_V8HFmode)
13595 : || !nonimmediate_operand (operands[3], E_V8HFmode)
13596 : || !rtx_equal_p (x7, operands[3])
13597 : || !(
13598 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13599 : (TARGET_AVX512F) && (
13600 : #line 6849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13601 : (TARGET_AVX512F) &&
13602 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13603 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13604 : return -1;
13605 : return 4177; /* avx512fp16_fmaddsub_v8hf_mask3_round */
13606 :
13607 : case E_V16SFmode:
13608 : if (pattern1597 (x2,
13609 : E_V16SFmode,
13610 : E_HImode) != 0)
13611 : return -1;
13612 : if (register_operand (operands[1], E_V16SFmode)
13613 : && register_operand (operands[3], E_V16SFmode)
13614 : && rtx_equal_p (x7, operands[1])
13615 : &&
13616 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13617 : (TARGET_AVX512F))
13618 : return 4161; /* avx512f_fmaddsub_v16sf_mask_round */
13619 : if (!nonimmediate_operand (operands[1], E_V16SFmode)
13620 : || !nonimmediate_operand (operands[3], E_V16SFmode)
13621 : || !rtx_equal_p (x7, operands[3])
13622 : || !
13623 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13624 : (TARGET_AVX512F))
13625 : return -1;
13626 : return 4179; /* avx512f_fmaddsub_v16sf_mask3_round */
13627 :
13628 : case E_V8SFmode:
13629 : if (pattern1597 (x2,
13630 : E_V8SFmode,
13631 : E_QImode) != 0)
13632 : return -1;
13633 : if (register_operand (operands[1], E_V8SFmode)
13634 : && register_operand (operands[3], E_V8SFmode)
13635 : && rtx_equal_p (x7, operands[1])
13636 : && (
13637 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13638 : (TARGET_AVX512F) && (
13639 : #line 6831 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13640 : (TARGET_AVX512F) &&
13641 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13642 : (TARGET_AVX512VL))))
13643 : return 4163; /* avx512vl_fmaddsub_v8sf_mask_round */
13644 : if (!nonimmediate_operand (operands[1], E_V8SFmode)
13645 : || !nonimmediate_operand (operands[3], E_V8SFmode)
13646 : || !rtx_equal_p (x7, operands[3])
13647 : || !(
13648 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13649 : (TARGET_AVX512F) && (
13650 : #line 6849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13651 : (TARGET_AVX512F) &&
13652 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13653 : (TARGET_AVX512VL))))
13654 : return -1;
13655 : return 4181; /* avx512vl_fmaddsub_v8sf_mask3_round */
13656 :
13657 : case E_V4SFmode:
13658 : if (pattern1597 (x2,
13659 : E_V4SFmode,
13660 : E_QImode) != 0)
13661 : return -1;
13662 : if (register_operand (operands[1], E_V4SFmode)
13663 : && register_operand (operands[3], E_V4SFmode)
13664 : && rtx_equal_p (x7, operands[1])
13665 : && (
13666 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13667 : (TARGET_AVX512F) && (
13668 : #line 6831 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13669 : (TARGET_AVX512F) &&
13670 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13671 : (TARGET_AVX512VL))))
13672 : return 4165; /* avx512vl_fmaddsub_v4sf_mask_round */
13673 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
13674 : || !nonimmediate_operand (operands[3], E_V4SFmode)
13675 : || !rtx_equal_p (x7, operands[3])
13676 : || !(
13677 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13678 : (TARGET_AVX512F) && (
13679 : #line 6849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13680 : (TARGET_AVX512F) &&
13681 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13682 : (TARGET_AVX512VL))))
13683 : return -1;
13684 : return 4183; /* avx512vl_fmaddsub_v4sf_mask3_round */
13685 :
13686 : case E_V8DFmode:
13687 : if (pattern1597 (x2,
13688 : E_V8DFmode,
13689 : E_QImode) != 0)
13690 : return -1;
13691 : if (register_operand (operands[1], E_V8DFmode)
13692 : && register_operand (operands[3], E_V8DFmode)
13693 : && rtx_equal_p (x7, operands[1])
13694 : &&
13695 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13696 : (TARGET_AVX512F))
13697 : return 4167; /* avx512f_fmaddsub_v8df_mask_round */
13698 : if (!nonimmediate_operand (operands[1], E_V8DFmode)
13699 : || !nonimmediate_operand (operands[3], E_V8DFmode)
13700 : || !rtx_equal_p (x7, operands[3])
13701 : || !
13702 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13703 : (TARGET_AVX512F))
13704 : return -1;
13705 : return 4185; /* avx512f_fmaddsub_v8df_mask3_round */
13706 :
13707 : case E_V4DFmode:
13708 : if (pattern1597 (x2,
13709 : E_V4DFmode,
13710 : E_QImode) != 0)
13711 : return -1;
13712 : if (register_operand (operands[1], E_V4DFmode)
13713 : && register_operand (operands[3], E_V4DFmode)
13714 : && rtx_equal_p (x7, operands[1])
13715 : && (
13716 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13717 : (TARGET_AVX512F) && (
13718 : #line 6831 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13719 : (TARGET_AVX512F) &&
13720 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13721 : (TARGET_AVX512VL))))
13722 : return 4169; /* avx512vl_fmaddsub_v4df_mask_round */
13723 : if (!nonimmediate_operand (operands[1], E_V4DFmode)
13724 : || !nonimmediate_operand (operands[3], E_V4DFmode)
13725 : || !rtx_equal_p (x7, operands[3])
13726 : || !(
13727 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13728 : (TARGET_AVX512F) && (
13729 : #line 6849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13730 : (TARGET_AVX512F) &&
13731 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13732 : (TARGET_AVX512VL))))
13733 : return -1;
13734 : return 4187; /* avx512vl_fmaddsub_v4df_mask3_round */
13735 :
13736 : case E_V2DFmode:
13737 : if (pattern1597 (x2,
13738 : E_V2DFmode,
13739 : E_QImode) != 0)
13740 : return -1;
13741 : if (register_operand (operands[1], E_V2DFmode)
13742 : && register_operand (operands[3], E_V2DFmode)
13743 : && rtx_equal_p (x7, operands[1])
13744 : && (
13745 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13746 : (TARGET_AVX512F) && (
13747 : #line 6831 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13748 : (TARGET_AVX512F) &&
13749 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13750 : (TARGET_AVX512VL))))
13751 : return 4171; /* avx512vl_fmaddsub_v2df_mask_round */
13752 : if (!nonimmediate_operand (operands[1], E_V2DFmode)
13753 : || !nonimmediate_operand (operands[3], E_V2DFmode)
13754 : || !rtx_equal_p (x7, operands[3])
13755 : || !(
13756 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13757 : (TARGET_AVX512F) && (
13758 : #line 6849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13759 : (TARGET_AVX512F) &&
13760 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13761 : (TARGET_AVX512VL))))
13762 : return -1;
13763 : return 4189; /* avx512vl_fmaddsub_v2df_mask3_round */
13764 :
13765 : default:
13766 : return -1;
13767 : }
13768 :
13769 : default:
13770 : return -1;
13771 : }
13772 :
13773 : case NEG:
13774 : x9 = XEXP (x6, 0);
13775 : operands[3] = x9;
13776 : x7 = XEXP (x4, 1);
13777 : switch (GET_CODE (x7))
13778 : {
13779 : case CONST_INT:
13780 : case CONST_DOUBLE:
13781 : case CONST_VECTOR:
13782 : operands[4] = x7;
13783 : x8 = XEXP (x4, 2);
13784 : operands[5] = x8;
13785 : operands[6] = x3;
13786 : switch (GET_MODE (operands[0]))
13787 : {
13788 : case E_V32HFmode:
13789 : if (pattern1663 (x2,
13790 : E_SImode,
13791 : E_V32HFmode) != 0
13792 : || !(
13793 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13794 : (TARGET_AVX512F) && (
13795 : #line 6882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13796 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
13797 : || V32HFmode == V8DFmode
13798 : || V32HFmode == V8DImode
13799 : || V32HFmode == V16SImode
13800 : || V32HFmode == V32HFmode)) &&
13801 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13802 : (TARGET_AVX512FP16))))
13803 : return -1;
13804 : return 4197; /* fma_fmsubadd_v32hf_maskz_1_round */
13805 :
13806 : case E_V16SFmode:
13807 : if (pattern1663 (x2,
13808 : E_HImode,
13809 : E_V16SFmode) != 0
13810 : || !(
13811 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13812 : (TARGET_AVX512F) &&
13813 : #line 6882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13814 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
13815 : || V16SFmode == V8DFmode
13816 : || V16SFmode == V8DImode
13817 : || V16SFmode == V16SImode
13818 : || V16SFmode == V32HFmode))))
13819 : return -1;
13820 : return 4205; /* fma_fmsubadd_v16sf_maskz_1_round */
13821 :
13822 : case E_V8DFmode:
13823 : if (pattern1663 (x2,
13824 : E_QImode,
13825 : E_V8DFmode) != 0
13826 : || !(
13827 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13828 : (TARGET_AVX512F) &&
13829 : #line 6882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13830 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
13831 : || V8DFmode == V8DFmode
13832 : || V8DFmode == V8DImode
13833 : || V8DFmode == V16SImode
13834 : || V8DFmode == V32HFmode))))
13835 : return -1;
13836 : return 4213; /* fma_fmsubadd_v8df_maskz_1_round */
13837 :
13838 : default:
13839 : return -1;
13840 : }
13841 :
13842 : case REG:
13843 : case SUBREG:
13844 : case MEM:
13845 : x8 = XEXP (x4, 2);
13846 : operands[4] = x8;
13847 : operands[5] = x3;
13848 : switch (GET_MODE (operands[0]))
13849 : {
13850 : case E_V32HFmode:
13851 : if (pattern1598 (x2,
13852 : E_V32HFmode,
13853 : E_SImode) != 0)
13854 : return -1;
13855 : if (register_operand (operands[3], E_V32HFmode)
13856 : && rtx_equal_p (x7, operands[1])
13857 : && (
13858 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13859 : (TARGET_AVX512F) && (
13860 : #line 6902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13861 : (TARGET_AVX512F) &&
13862 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13863 : (TARGET_AVX512FP16))))
13864 : return 4219; /* avx512bw_fmsubadd_v32hf_mask_round */
13865 : if (!nonimmediate_operand (operands[3], E_V32HFmode)
13866 : || !rtx_equal_p (x7, operands[3])
13867 : || !(
13868 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13869 : (TARGET_AVX512F) && (
13870 : #line 6921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13871 : (TARGET_AVX512F) &&
13872 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13873 : (TARGET_AVX512FP16))))
13874 : return -1;
13875 : return 4237; /* avx512bw_fmsubadd_v32hf_mask3_round */
13876 :
13877 : case E_V16HFmode:
13878 : if (pattern1598 (x2,
13879 : E_V16HFmode,
13880 : E_HImode) != 0)
13881 : return -1;
13882 : if (register_operand (operands[3], E_V16HFmode)
13883 : && rtx_equal_p (x7, operands[1])
13884 : && (
13885 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13886 : (TARGET_AVX512F) && (
13887 : #line 6902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13888 : (TARGET_AVX512F) &&
13889 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13890 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13891 : return 4221; /* avx512vl_fmsubadd_v16hf_mask_round */
13892 : if (!nonimmediate_operand (operands[3], E_V16HFmode)
13893 : || !rtx_equal_p (x7, operands[3])
13894 : || !(
13895 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13896 : (TARGET_AVX512F) && (
13897 : #line 6921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13898 : (TARGET_AVX512F) &&
13899 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13900 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13901 : return -1;
13902 : return 4239; /* avx512vl_fmsubadd_v16hf_mask3_round */
13903 :
13904 : case E_V8HFmode:
13905 : if (pattern1598 (x2,
13906 : E_V8HFmode,
13907 : E_QImode) != 0)
13908 : return -1;
13909 : if (register_operand (operands[3], E_V8HFmode)
13910 : && rtx_equal_p (x7, operands[1])
13911 : && (
13912 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13913 : (TARGET_AVX512F) && (
13914 : #line 6902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13915 : (TARGET_AVX512F) &&
13916 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13917 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13918 : return 4223; /* avx512fp16_fmsubadd_v8hf_mask_round */
13919 : if (!nonimmediate_operand (operands[3], E_V8HFmode)
13920 : || !rtx_equal_p (x7, operands[3])
13921 : || !(
13922 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13923 : (TARGET_AVX512F) && (
13924 : #line 6921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13925 : (TARGET_AVX512F) &&
13926 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13927 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13928 : return -1;
13929 : return 4241; /* avx512fp16_fmsubadd_v8hf_mask3_round */
13930 :
13931 : case E_V16SFmode:
13932 : if (pattern1598 (x2,
13933 : E_V16SFmode,
13934 : E_HImode) != 0)
13935 : return -1;
13936 : if (register_operand (operands[3], E_V16SFmode)
13937 : && rtx_equal_p (x7, operands[1])
13938 : &&
13939 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13940 : (TARGET_AVX512F))
13941 : return 4225; /* avx512f_fmsubadd_v16sf_mask_round */
13942 : if (!nonimmediate_operand (operands[3], E_V16SFmode)
13943 : || !rtx_equal_p (x7, operands[3])
13944 : || !
13945 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13946 : (TARGET_AVX512F))
13947 : return -1;
13948 : return 4243; /* avx512f_fmsubadd_v16sf_mask3_round */
13949 :
13950 : case E_V8SFmode:
13951 : if (pattern1598 (x2,
13952 : E_V8SFmode,
13953 : E_QImode) != 0)
13954 : return -1;
13955 : if (register_operand (operands[3], E_V8SFmode)
13956 : && rtx_equal_p (x7, operands[1])
13957 : && (
13958 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13959 : (TARGET_AVX512F) && (
13960 : #line 6902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13961 : (TARGET_AVX512F) &&
13962 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13963 : (TARGET_AVX512VL))))
13964 : return 4227; /* avx512vl_fmsubadd_v8sf_mask_round */
13965 : if (!nonimmediate_operand (operands[3], E_V8SFmode)
13966 : || !rtx_equal_p (x7, operands[3])
13967 : || !(
13968 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13969 : (TARGET_AVX512F) && (
13970 : #line 6921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13971 : (TARGET_AVX512F) &&
13972 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13973 : (TARGET_AVX512VL))))
13974 : return -1;
13975 : return 4245; /* avx512vl_fmsubadd_v8sf_mask3_round */
13976 :
13977 : case E_V4SFmode:
13978 : if (pattern1598 (x2,
13979 : E_V4SFmode,
13980 : E_QImode) != 0)
13981 : return -1;
13982 : if (register_operand (operands[3], E_V4SFmode)
13983 : && rtx_equal_p (x7, operands[1])
13984 : && (
13985 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13986 : (TARGET_AVX512F) && (
13987 : #line 6902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13988 : (TARGET_AVX512F) &&
13989 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13990 : (TARGET_AVX512VL))))
13991 : return 4229; /* avx512vl_fmsubadd_v4sf_mask_round */
13992 : if (!nonimmediate_operand (operands[3], E_V4SFmode)
13993 : || !rtx_equal_p (x7, operands[3])
13994 : || !(
13995 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13996 : (TARGET_AVX512F) && (
13997 : #line 6921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13998 : (TARGET_AVX512F) &&
13999 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14000 : (TARGET_AVX512VL))))
14001 : return -1;
14002 : return 4247; /* avx512vl_fmsubadd_v4sf_mask3_round */
14003 :
14004 : case E_V8DFmode:
14005 : if (pattern1598 (x2,
14006 : E_V8DFmode,
14007 : E_QImode) != 0)
14008 : return -1;
14009 : if (register_operand (operands[3], E_V8DFmode)
14010 : && rtx_equal_p (x7, operands[1])
14011 : &&
14012 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14013 : (TARGET_AVX512F))
14014 : return 4231; /* avx512f_fmsubadd_v8df_mask_round */
14015 : if (!nonimmediate_operand (operands[3], E_V8DFmode)
14016 : || !rtx_equal_p (x7, operands[3])
14017 : || !
14018 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14019 : (TARGET_AVX512F))
14020 : return -1;
14021 : return 4249; /* avx512f_fmsubadd_v8df_mask3_round */
14022 :
14023 : case E_V4DFmode:
14024 : if (pattern1598 (x2,
14025 : E_V4DFmode,
14026 : E_QImode) != 0)
14027 : return -1;
14028 : if (register_operand (operands[3], E_V4DFmode)
14029 : && rtx_equal_p (x7, operands[1])
14030 : && (
14031 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14032 : (TARGET_AVX512F) && (
14033 : #line 6902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14034 : (TARGET_AVX512F) &&
14035 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14036 : (TARGET_AVX512VL))))
14037 : return 4233; /* avx512vl_fmsubadd_v4df_mask_round */
14038 : if (!nonimmediate_operand (operands[3], E_V4DFmode)
14039 : || !rtx_equal_p (x7, operands[3])
14040 : || !(
14041 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14042 : (TARGET_AVX512F) && (
14043 : #line 6921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14044 : (TARGET_AVX512F) &&
14045 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14046 : (TARGET_AVX512VL))))
14047 : return -1;
14048 : return 4251; /* avx512vl_fmsubadd_v4df_mask3_round */
14049 :
14050 : case E_V2DFmode:
14051 : if (pattern1598 (x2,
14052 : E_V2DFmode,
14053 : E_QImode) != 0)
14054 : return -1;
14055 : if (register_operand (operands[3], E_V2DFmode)
14056 : && rtx_equal_p (x7, operands[1])
14057 : && (
14058 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14059 : (TARGET_AVX512F) && (
14060 : #line 6902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14061 : (TARGET_AVX512F) &&
14062 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14063 : (TARGET_AVX512VL))))
14064 : return 4235; /* avx512vl_fmsubadd_v2df_mask_round */
14065 : if (!nonimmediate_operand (operands[3], E_V2DFmode)
14066 : || !rtx_equal_p (x7, operands[3])
14067 : || !(
14068 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14069 : (TARGET_AVX512F) && (
14070 : #line 6921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14071 : (TARGET_AVX512F) &&
14072 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14073 : (TARGET_AVX512VL))))
14074 : return -1;
14075 : return 4253; /* avx512vl_fmsubadd_v2df_mask3_round */
14076 :
14077 : default:
14078 : return -1;
14079 : }
14080 :
14081 : default:
14082 : return -1;
14083 : }
14084 :
14085 : default:
14086 : return -1;
14087 : }
14088 : }
14089 :
14090 : int
14091 : recog_235 (rtx x1 ATTRIBUTE_UNUSED,
14092 : rtx_insn *insn ATTRIBUTE_UNUSED,
14093 : int *pnum_clobbers ATTRIBUTE_UNUSED)
14094 : {
14095 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14096 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
14097 : rtx x10;
14098 : int res ATTRIBUTE_UNUSED;
14099 : if (pnum_clobbers == NULL)
14100 : return -1;
14101 : x2 = XEXP (x1, 0);
14102 : if (GET_CODE (x2) != MEM)
14103 : return -1;
14104 : operands[5] = x2;
14105 : x3 = XEXP (x2, 0);
14106 : if (GET_CODE (x3) != UNSPEC
14107 : || XVECLEN (x3, 0) != 4
14108 : || XINT (x3, 1) != 155)
14109 : return -1;
14110 : x4 = XVECEXP (x3, 0, 0);
14111 : operands[0] = x4;
14112 : x5 = XVECEXP (x3, 0, 1);
14113 : operands[2] = x5;
14114 : x6 = XVECEXP (x3, 0, 2);
14115 : operands[4] = x6;
14116 : if (!const1248_operand (operands[4], E_SImode))
14117 : return -1;
14118 : x7 = XVECEXP (x3, 0, 3);
14119 : operands[6] = x7;
14120 : x8 = XEXP (x1, 1);
14121 : x9 = XVECEXP (x8, 0, 1);
14122 : operands[3] = x9;
14123 : x10 = XVECEXP (x8, 0, 0);
14124 : if (!rtx_equal_p (x10, operands[6]))
14125 : return -1;
14126 : switch (GET_MODE (operands[5]))
14127 : {
14128 : case E_V16SImode:
14129 : if (!vsib_mem_operator (operands[5], E_V16SImode)
14130 : || GET_MODE (x8) != E_V16SImode)
14131 : return -1;
14132 : switch (GET_MODE (x3))
14133 : {
14134 : case E_SImode:
14135 : switch (pattern1718 (
14136 : E_SImode))
14137 : {
14138 : case 0:
14139 : if (!(
14140 : #line 30561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14141 : (TARGET_AVX512F) &&
14142 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14143 : (Pmode == SImode)))
14144 : return -1;
14145 : *pnum_clobbers = 1;
14146 : return 9932; /* *avx512f_scattersiv16si */
14147 :
14148 : case 1:
14149 : if (!(
14150 : #line 30601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14151 : (TARGET_AVX512F) &&
14152 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14153 : (Pmode == SImode)))
14154 : return -1;
14155 : *pnum_clobbers = 1;
14156 : return 9956; /* *avx512f_scatterdiv16si */
14157 :
14158 : default:
14159 : return -1;
14160 : }
14161 :
14162 : case E_DImode:
14163 : switch (pattern1718 (
14164 : E_DImode))
14165 : {
14166 : case 0:
14167 : if (!(
14168 : #line 30561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14169 : (TARGET_AVX512F) &&
14170 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14171 : (Pmode == DImode)))
14172 : return -1;
14173 : *pnum_clobbers = 1;
14174 : return 9944; /* *avx512f_scattersiv16si */
14175 :
14176 : case 1:
14177 : if (!(
14178 : #line 30601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14179 : (TARGET_AVX512F) &&
14180 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14181 : (Pmode == DImode)))
14182 : return -1;
14183 : *pnum_clobbers = 1;
14184 : return 9968; /* *avx512f_scatterdiv16si */
14185 :
14186 : default:
14187 : return -1;
14188 : }
14189 :
14190 : default:
14191 : return -1;
14192 : }
14193 :
14194 : case E_V16SFmode:
14195 : if (!vsib_mem_operator (operands[5], E_V16SFmode)
14196 : || GET_MODE (x8) != E_V16SFmode)
14197 : return -1;
14198 : switch (GET_MODE (x3))
14199 : {
14200 : case E_SImode:
14201 : switch (pattern1719 (
14202 : E_SImode))
14203 : {
14204 : case 0:
14205 : if (!(
14206 : #line 30561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14207 : (TARGET_AVX512F) &&
14208 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14209 : (Pmode == SImode)))
14210 : return -1;
14211 : *pnum_clobbers = 1;
14212 : return 9933; /* *avx512f_scattersiv16sf */
14213 :
14214 : case 1:
14215 : if (!(
14216 : #line 30601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14217 : (TARGET_AVX512F) &&
14218 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14219 : (Pmode == SImode)))
14220 : return -1;
14221 : *pnum_clobbers = 1;
14222 : return 9957; /* *avx512f_scatterdiv16sf */
14223 :
14224 : default:
14225 : return -1;
14226 : }
14227 :
14228 : case E_DImode:
14229 : switch (pattern1719 (
14230 : E_DImode))
14231 : {
14232 : case 0:
14233 : if (!(
14234 : #line 30561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14235 : (TARGET_AVX512F) &&
14236 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14237 : (Pmode == DImode)))
14238 : return -1;
14239 : *pnum_clobbers = 1;
14240 : return 9945; /* *avx512f_scattersiv16sf */
14241 :
14242 : case 1:
14243 : if (!(
14244 : #line 30601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14245 : (TARGET_AVX512F) &&
14246 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14247 : (Pmode == DImode)))
14248 : return -1;
14249 : *pnum_clobbers = 1;
14250 : return 9969; /* *avx512f_scatterdiv16sf */
14251 :
14252 : default:
14253 : return -1;
14254 : }
14255 :
14256 : default:
14257 : return -1;
14258 : }
14259 :
14260 : case E_V8DImode:
14261 : switch (pattern1614 (x1,
14262 : E_V8DImode))
14263 : {
14264 : case 0:
14265 : if (!(
14266 : #line 30561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14267 : (TARGET_AVX512F) &&
14268 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14269 : (Pmode == SImode)))
14270 : return -1;
14271 : *pnum_clobbers = 1;
14272 : return 9934; /* *avx512f_scattersiv8di */
14273 :
14274 : case 1:
14275 : if (!(
14276 : #line 30601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14277 : (TARGET_AVX512F) &&
14278 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14279 : (Pmode == SImode)))
14280 : return -1;
14281 : *pnum_clobbers = 1;
14282 : return 9958; /* *avx512f_scatterdiv8di */
14283 :
14284 : case 2:
14285 : if (!(
14286 : #line 30561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14287 : (TARGET_AVX512F) &&
14288 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14289 : (Pmode == DImode)))
14290 : return -1;
14291 : *pnum_clobbers = 1;
14292 : return 9946; /* *avx512f_scattersiv8di */
14293 :
14294 : case 3:
14295 : if (!(
14296 : #line 30601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14297 : (TARGET_AVX512F) &&
14298 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14299 : (Pmode == DImode)))
14300 : return -1;
14301 : *pnum_clobbers = 1;
14302 : return 9970; /* *avx512f_scatterdiv8di */
14303 :
14304 : default:
14305 : return -1;
14306 : }
14307 :
14308 : case E_V8DFmode:
14309 : switch (pattern1614 (x1,
14310 : E_V8DFmode))
14311 : {
14312 : case 0:
14313 : if (!(
14314 : #line 30561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14315 : (TARGET_AVX512F) &&
14316 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14317 : (Pmode == SImode)))
14318 : return -1;
14319 : *pnum_clobbers = 1;
14320 : return 9935; /* *avx512f_scattersiv8df */
14321 :
14322 : case 1:
14323 : if (!(
14324 : #line 30601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14325 : (TARGET_AVX512F) &&
14326 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14327 : (Pmode == SImode)))
14328 : return -1;
14329 : *pnum_clobbers = 1;
14330 : return 9959; /* *avx512f_scatterdiv8df */
14331 :
14332 : case 2:
14333 : if (!(
14334 : #line 30561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14335 : (TARGET_AVX512F) &&
14336 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14337 : (Pmode == DImode)))
14338 : return -1;
14339 : *pnum_clobbers = 1;
14340 : return 9947; /* *avx512f_scattersiv8df */
14341 :
14342 : case 3:
14343 : if (!(
14344 : #line 30601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14345 : (TARGET_AVX512F) &&
14346 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14347 : (Pmode == DImode)))
14348 : return -1;
14349 : *pnum_clobbers = 1;
14350 : return 9971; /* *avx512f_scatterdiv8df */
14351 :
14352 : default:
14353 : return -1;
14354 : }
14355 :
14356 : case E_V8SImode:
14357 : switch (pattern1615 (x1,
14358 : E_V8SImode))
14359 : {
14360 : case 0:
14361 : switch (pattern1757 (
14362 : E_SImode))
14363 : {
14364 : case 0:
14365 : if (!(
14366 : #line 30561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14367 : (TARGET_AVX512F) && ((((
14368 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14369 : (TARGET_AVX512VL) &&
14370 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14371 : (Pmode == SImode)) &&
14372 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14373 : (Pmode == SImode)) &&
14374 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14375 : (TARGET_AVX512VL)) &&
14376 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14377 : (TARGET_AVX512VL))))
14378 : return -1;
14379 : *pnum_clobbers = 1;
14380 : return 9936; /* *avx512f_scattersiv8si */
14381 :
14382 : case 1:
14383 : if (!(
14384 : #line 30601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14385 : (TARGET_AVX512F) && (((
14386 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14387 : (TARGET_AVX512VL) &&
14388 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14389 : (Pmode == SImode)) &&
14390 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14391 : (Pmode == SImode)) &&
14392 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14393 : (TARGET_AVX512VL))))
14394 : return -1;
14395 : *pnum_clobbers = 1;
14396 : return 9960; /* *avx512f_scatterdiv8si */
14397 :
14398 : default:
14399 : return -1;
14400 : }
14401 :
14402 : case 1:
14403 : switch (pattern1757 (
14404 : E_DImode))
14405 : {
14406 : case 0:
14407 : if (!(
14408 : #line 30561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14409 : (TARGET_AVX512F) && ((((
14410 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14411 : (TARGET_AVX512VL) &&
14412 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14413 : (Pmode == DImode)) &&
14414 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14415 : (Pmode == DImode)) &&
14416 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14417 : (TARGET_AVX512VL)) &&
14418 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14419 : (TARGET_AVX512VL))))
14420 : return -1;
14421 : *pnum_clobbers = 1;
14422 : return 9948; /* *avx512f_scattersiv8si */
14423 :
14424 : case 1:
14425 : if (!(
14426 : #line 30601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14427 : (TARGET_AVX512F) && (((
14428 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14429 : (TARGET_AVX512VL) &&
14430 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14431 : (Pmode == DImode)) &&
14432 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14433 : (Pmode == DImode)) &&
14434 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14435 : (TARGET_AVX512VL))))
14436 : return -1;
14437 : *pnum_clobbers = 1;
14438 : return 9972; /* *avx512f_scatterdiv8si */
14439 :
14440 : default:
14441 : return -1;
14442 : }
14443 :
14444 : default:
14445 : return -1;
14446 : }
14447 :
14448 : case E_V8SFmode:
14449 : switch (pattern1615 (x1,
14450 : E_V8SFmode))
14451 : {
14452 : case 0:
14453 : switch (pattern1758 (
14454 : E_SImode))
14455 : {
14456 : case 0:
14457 : if (!(
14458 : #line 30561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14459 : (TARGET_AVX512F) && ((((
14460 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14461 : (TARGET_AVX512VL) &&
14462 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14463 : (Pmode == SImode)) &&
14464 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14465 : (Pmode == SImode)) &&
14466 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14467 : (TARGET_AVX512VL)) &&
14468 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14469 : (TARGET_AVX512VL))))
14470 : return -1;
14471 : *pnum_clobbers = 1;
14472 : return 9937; /* *avx512f_scattersiv8sf */
14473 :
14474 : case 1:
14475 : if (!(
14476 : #line 30601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14477 : (TARGET_AVX512F) && (((
14478 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14479 : (TARGET_AVX512VL) &&
14480 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14481 : (Pmode == SImode)) &&
14482 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14483 : (Pmode == SImode)) &&
14484 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14485 : (TARGET_AVX512VL))))
14486 : return -1;
14487 : *pnum_clobbers = 1;
14488 : return 9961; /* *avx512f_scatterdiv8sf */
14489 :
14490 : default:
14491 : return -1;
14492 : }
14493 :
14494 : case 1:
14495 : switch (pattern1758 (
14496 : E_DImode))
14497 : {
14498 : case 0:
14499 : if (!(
14500 : #line 30561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14501 : (TARGET_AVX512F) && ((((
14502 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14503 : (TARGET_AVX512VL) &&
14504 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14505 : (Pmode == DImode)) &&
14506 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14507 : (Pmode == DImode)) &&
14508 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14509 : (TARGET_AVX512VL)) &&
14510 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14511 : (TARGET_AVX512VL))))
14512 : return -1;
14513 : *pnum_clobbers = 1;
14514 : return 9949; /* *avx512f_scattersiv8sf */
14515 :
14516 : case 1:
14517 : if (!(
14518 : #line 30601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14519 : (TARGET_AVX512F) && (((
14520 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14521 : (TARGET_AVX512VL) &&
14522 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14523 : (Pmode == DImode)) &&
14524 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14525 : (Pmode == DImode)) &&
14526 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14527 : (TARGET_AVX512VL))))
14528 : return -1;
14529 : *pnum_clobbers = 1;
14530 : return 9973; /* *avx512f_scatterdiv8sf */
14531 :
14532 : default:
14533 : return -1;
14534 : }
14535 :
14536 : default:
14537 : return -1;
14538 : }
14539 :
14540 : case E_V4DImode:
14541 : switch (pattern1617 (x1,
14542 : E_V4DImode))
14543 : {
14544 : case 0:
14545 : if (!(
14546 : #line 30561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14547 : (TARGET_AVX512F) && ((((
14548 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14549 : (TARGET_AVX512VL) &&
14550 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14551 : (Pmode == SImode)) &&
14552 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14553 : (Pmode == SImode)) &&
14554 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14555 : (TARGET_AVX512VL)) &&
14556 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14557 : (TARGET_AVX512VL))))
14558 : return -1;
14559 : *pnum_clobbers = 1;
14560 : return 9938; /* *avx512f_scattersiv4di */
14561 :
14562 : case 1:
14563 : if (!(
14564 : #line 30601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14565 : (TARGET_AVX512F) && (((
14566 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14567 : (TARGET_AVX512VL) &&
14568 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14569 : (Pmode == SImode)) &&
14570 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14571 : (Pmode == SImode)) &&
14572 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14573 : (TARGET_AVX512VL))))
14574 : return -1;
14575 : *pnum_clobbers = 1;
14576 : return 9962; /* *avx512f_scatterdiv4di */
14577 :
14578 : case 2:
14579 : if (!(
14580 : #line 30561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14581 : (TARGET_AVX512F) && ((((
14582 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14583 : (TARGET_AVX512VL) &&
14584 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14585 : (Pmode == DImode)) &&
14586 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14587 : (Pmode == DImode)) &&
14588 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14589 : (TARGET_AVX512VL)) &&
14590 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14591 : (TARGET_AVX512VL))))
14592 : return -1;
14593 : *pnum_clobbers = 1;
14594 : return 9950; /* *avx512f_scattersiv4di */
14595 :
14596 : case 3:
14597 : if (!(
14598 : #line 30601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14599 : (TARGET_AVX512F) && (((
14600 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14601 : (TARGET_AVX512VL) &&
14602 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14603 : (Pmode == DImode)) &&
14604 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14605 : (Pmode == DImode)) &&
14606 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14607 : (TARGET_AVX512VL))))
14608 : return -1;
14609 : *pnum_clobbers = 1;
14610 : return 9974; /* *avx512f_scatterdiv4di */
14611 :
14612 : default:
14613 : return -1;
14614 : }
14615 :
14616 : case E_V4DFmode:
14617 : switch (pattern1617 (x1,
14618 : E_V4DFmode))
14619 : {
14620 : case 0:
14621 : if (!(
14622 : #line 30561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14623 : (TARGET_AVX512F) && ((((
14624 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14625 : (TARGET_AVX512VL) &&
14626 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14627 : (Pmode == SImode)) &&
14628 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14629 : (Pmode == SImode)) &&
14630 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14631 : (TARGET_AVX512VL)) &&
14632 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14633 : (TARGET_AVX512VL))))
14634 : return -1;
14635 : *pnum_clobbers = 1;
14636 : return 9939; /* *avx512f_scattersiv4df */
14637 :
14638 : case 1:
14639 : if (!(
14640 : #line 30601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14641 : (TARGET_AVX512F) && (((
14642 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14643 : (TARGET_AVX512VL) &&
14644 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14645 : (Pmode == SImode)) &&
14646 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14647 : (Pmode == SImode)) &&
14648 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14649 : (TARGET_AVX512VL))))
14650 : return -1;
14651 : *pnum_clobbers = 1;
14652 : return 9963; /* *avx512f_scatterdiv4df */
14653 :
14654 : case 2:
14655 : if (!(
14656 : #line 30561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14657 : (TARGET_AVX512F) && ((((
14658 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14659 : (TARGET_AVX512VL) &&
14660 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14661 : (Pmode == DImode)) &&
14662 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14663 : (Pmode == DImode)) &&
14664 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14665 : (TARGET_AVX512VL)) &&
14666 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14667 : (TARGET_AVX512VL))))
14668 : return -1;
14669 : *pnum_clobbers = 1;
14670 : return 9951; /* *avx512f_scattersiv4df */
14671 :
14672 : case 3:
14673 : if (!(
14674 : #line 30601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14675 : (TARGET_AVX512F) && (((
14676 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14677 : (TARGET_AVX512VL) &&
14678 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14679 : (Pmode == DImode)) &&
14680 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14681 : (Pmode == DImode)) &&
14682 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14683 : (TARGET_AVX512VL))))
14684 : return -1;
14685 : *pnum_clobbers = 1;
14686 : return 9975; /* *avx512f_scatterdiv4df */
14687 :
14688 : default:
14689 : return -1;
14690 : }
14691 :
14692 : case E_V4SImode:
14693 : switch (pattern1619 (x1,
14694 : E_V4SImode))
14695 : {
14696 : case 0:
14697 : if (!(
14698 : #line 30561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14699 : (TARGET_AVX512F) && ((((
14700 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14701 : (TARGET_AVX512VL) &&
14702 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14703 : (Pmode == SImode)) &&
14704 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14705 : (Pmode == SImode)) &&
14706 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14707 : (TARGET_AVX512VL)) &&
14708 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14709 : (TARGET_AVX512VL))))
14710 : return -1;
14711 : *pnum_clobbers = 1;
14712 : return 9940; /* *avx512f_scattersiv4si */
14713 :
14714 : case 1:
14715 : if (!(
14716 : #line 30601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14717 : (TARGET_AVX512F) && (((
14718 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14719 : (TARGET_AVX512VL) &&
14720 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14721 : (Pmode == SImode)) &&
14722 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14723 : (Pmode == SImode)) &&
14724 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14725 : (TARGET_AVX512VL))))
14726 : return -1;
14727 : *pnum_clobbers = 1;
14728 : return 9964; /* *avx512f_scatterdiv4si */
14729 :
14730 : case 2:
14731 : if (!(
14732 : #line 30561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14733 : (TARGET_AVX512F) && ((((
14734 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14735 : (TARGET_AVX512VL) &&
14736 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14737 : (Pmode == DImode)) &&
14738 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14739 : (Pmode == DImode)) &&
14740 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14741 : (TARGET_AVX512VL)) &&
14742 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14743 : (TARGET_AVX512VL))))
14744 : return -1;
14745 : *pnum_clobbers = 1;
14746 : return 9952; /* *avx512f_scattersiv4si */
14747 :
14748 : case 3:
14749 : if (!(
14750 : #line 30601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14751 : (TARGET_AVX512F) && (((
14752 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14753 : (TARGET_AVX512VL) &&
14754 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14755 : (Pmode == DImode)) &&
14756 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14757 : (Pmode == DImode)) &&
14758 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14759 : (TARGET_AVX512VL))))
14760 : return -1;
14761 : *pnum_clobbers = 1;
14762 : return 9976; /* *avx512f_scatterdiv4si */
14763 :
14764 : default:
14765 : return -1;
14766 : }
14767 :
14768 : case E_V4SFmode:
14769 : switch (pattern1619 (x1,
14770 : E_V4SFmode))
14771 : {
14772 : case 0:
14773 : if (!(
14774 : #line 30561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14775 : (TARGET_AVX512F) && ((((
14776 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14777 : (TARGET_AVX512VL) &&
14778 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14779 : (Pmode == SImode)) &&
14780 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14781 : (Pmode == SImode)) &&
14782 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14783 : (TARGET_AVX512VL)) &&
14784 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14785 : (TARGET_AVX512VL))))
14786 : return -1;
14787 : *pnum_clobbers = 1;
14788 : return 9941; /* *avx512f_scattersiv4sf */
14789 :
14790 : case 1:
14791 : if (!(
14792 : #line 30601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14793 : (TARGET_AVX512F) && (((
14794 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14795 : (TARGET_AVX512VL) &&
14796 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14797 : (Pmode == SImode)) &&
14798 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14799 : (Pmode == SImode)) &&
14800 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14801 : (TARGET_AVX512VL))))
14802 : return -1;
14803 : *pnum_clobbers = 1;
14804 : return 9965; /* *avx512f_scatterdiv4sf */
14805 :
14806 : case 2:
14807 : if (!(
14808 : #line 30561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14809 : (TARGET_AVX512F) && ((((
14810 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14811 : (TARGET_AVX512VL) &&
14812 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14813 : (Pmode == DImode)) &&
14814 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14815 : (Pmode == DImode)) &&
14816 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14817 : (TARGET_AVX512VL)) &&
14818 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14819 : (TARGET_AVX512VL))))
14820 : return -1;
14821 : *pnum_clobbers = 1;
14822 : return 9953; /* *avx512f_scattersiv4sf */
14823 :
14824 : case 3:
14825 : if (!(
14826 : #line 30601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14827 : (TARGET_AVX512F) && (((
14828 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14829 : (TARGET_AVX512VL) &&
14830 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14831 : (Pmode == DImode)) &&
14832 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14833 : (Pmode == DImode)) &&
14834 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14835 : (TARGET_AVX512VL))))
14836 : return -1;
14837 : *pnum_clobbers = 1;
14838 : return 9977; /* *avx512f_scatterdiv4sf */
14839 :
14840 : default:
14841 : return -1;
14842 : }
14843 :
14844 : case E_V2DImode:
14845 : switch (pattern1619 (x1,
14846 : E_V2DImode))
14847 : {
14848 : case 0:
14849 : if (!(
14850 : #line 30561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14851 : (TARGET_AVX512F) && ((((
14852 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14853 : (TARGET_AVX512VL) &&
14854 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14855 : (Pmode == SImode)) &&
14856 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14857 : (Pmode == SImode)) &&
14858 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14859 : (TARGET_AVX512VL)) &&
14860 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14861 : (TARGET_AVX512VL))))
14862 : return -1;
14863 : *pnum_clobbers = 1;
14864 : return 9942; /* *avx512f_scattersiv2di */
14865 :
14866 : case 1:
14867 : if (!(
14868 : #line 30601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14869 : (TARGET_AVX512F) && (((
14870 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14871 : (TARGET_AVX512VL) &&
14872 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14873 : (Pmode == SImode)) &&
14874 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14875 : (Pmode == SImode)) &&
14876 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14877 : (TARGET_AVX512VL))))
14878 : return -1;
14879 : *pnum_clobbers = 1;
14880 : return 9966; /* *avx512f_scatterdiv2di */
14881 :
14882 : case 2:
14883 : if (!(
14884 : #line 30561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14885 : (TARGET_AVX512F) && ((((
14886 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14887 : (TARGET_AVX512VL) &&
14888 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14889 : (Pmode == DImode)) &&
14890 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14891 : (Pmode == DImode)) &&
14892 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14893 : (TARGET_AVX512VL)) &&
14894 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14895 : (TARGET_AVX512VL))))
14896 : return -1;
14897 : *pnum_clobbers = 1;
14898 : return 9954; /* *avx512f_scattersiv2di */
14899 :
14900 : case 3:
14901 : if (!(
14902 : #line 30601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14903 : (TARGET_AVX512F) && (((
14904 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14905 : (TARGET_AVX512VL) &&
14906 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14907 : (Pmode == DImode)) &&
14908 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14909 : (Pmode == DImode)) &&
14910 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14911 : (TARGET_AVX512VL))))
14912 : return -1;
14913 : *pnum_clobbers = 1;
14914 : return 9978; /* *avx512f_scatterdiv2di */
14915 :
14916 : default:
14917 : return -1;
14918 : }
14919 :
14920 : case E_V2DFmode:
14921 : switch (pattern1619 (x1,
14922 : E_V2DFmode))
14923 : {
14924 : case 0:
14925 : if (!(
14926 : #line 30561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14927 : (TARGET_AVX512F) && ((((
14928 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14929 : (TARGET_AVX512VL) &&
14930 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14931 : (Pmode == SImode)) &&
14932 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14933 : (Pmode == SImode)) &&
14934 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14935 : (TARGET_AVX512VL)) &&
14936 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14937 : (TARGET_AVX512VL))))
14938 : return -1;
14939 : *pnum_clobbers = 1;
14940 : return 9943; /* *avx512f_scattersiv2df */
14941 :
14942 : case 1:
14943 : if (!(
14944 : #line 30601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14945 : (TARGET_AVX512F) && (((
14946 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14947 : (TARGET_AVX512VL) &&
14948 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14949 : (Pmode == SImode)) &&
14950 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14951 : (Pmode == SImode)) &&
14952 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14953 : (TARGET_AVX512VL))))
14954 : return -1;
14955 : *pnum_clobbers = 1;
14956 : return 9967; /* *avx512f_scatterdiv2df */
14957 :
14958 : case 2:
14959 : if (!(
14960 : #line 30561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14961 : (TARGET_AVX512F) && ((((
14962 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14963 : (TARGET_AVX512VL) &&
14964 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14965 : (Pmode == DImode)) &&
14966 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14967 : (Pmode == DImode)) &&
14968 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14969 : (TARGET_AVX512VL)) &&
14970 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14971 : (TARGET_AVX512VL))))
14972 : return -1;
14973 : *pnum_clobbers = 1;
14974 : return 9955; /* *avx512f_scattersiv2df */
14975 :
14976 : case 3:
14977 : if (!(
14978 : #line 30601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14979 : (TARGET_AVX512F) && (((
14980 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14981 : (TARGET_AVX512VL) &&
14982 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14983 : (Pmode == DImode)) &&
14984 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14985 : (Pmode == DImode)) &&
14986 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14987 : (TARGET_AVX512VL))))
14988 : return -1;
14989 : *pnum_clobbers = 1;
14990 : return 9979; /* *avx512f_scatterdiv2df */
14991 :
14992 : default:
14993 : return -1;
14994 : }
14995 :
14996 : default:
14997 : return -1;
14998 : }
14999 : }
15000 :
15001 : int
15002 : recog_254 (rtx x1 ATTRIBUTE_UNUSED,
15003 : rtx_insn *insn ATTRIBUTE_UNUSED,
15004 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15005 : {
15006 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15007 : rtx x2, x3, x4, x5, x6;
15008 : int res ATTRIBUTE_UNUSED;
15009 : x2 = XEXP (x1, 0);
15010 : operands[0] = x2;
15011 : x3 = XEXP (x1, 1);
15012 : x4 = XVECEXP (x3, 0, 0);
15013 : operands[1] = x4;
15014 : x5 = XVECEXP (x3, 0, 1);
15015 : operands[2] = x5;
15016 : x6 = XVECEXP (x3, 0, 2);
15017 : operands[3] = x6;
15018 : switch (GET_MODE (operands[0]))
15019 : {
15020 : case E_V16SImode:
15021 : if (pattern917 (x3,
15022 : E_HImode,
15023 : E_V16SImode) != 0
15024 : || !
15025 : #line 30616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15026 : (TARGET_AVX512F))
15027 : return -1;
15028 : return 9980; /* avx512f_compressv16si_mask */
15029 :
15030 : case E_V16SFmode:
15031 : if (pattern917 (x3,
15032 : E_HImode,
15033 : E_V16SFmode) != 0
15034 : || !
15035 : #line 30616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15036 : (TARGET_AVX512F))
15037 : return -1;
15038 : return 9981; /* avx512f_compressv16sf_mask */
15039 :
15040 : case E_V8DImode:
15041 : if (pattern917 (x3,
15042 : E_QImode,
15043 : E_V8DImode) != 0
15044 : || !
15045 : #line 30616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15046 : (TARGET_AVX512F))
15047 : return -1;
15048 : return 9982; /* avx512f_compressv8di_mask */
15049 :
15050 : case E_V8DFmode:
15051 : if (pattern917 (x3,
15052 : E_QImode,
15053 : E_V8DFmode) != 0
15054 : || !
15055 : #line 30616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15056 : (TARGET_AVX512F))
15057 : return -1;
15058 : return 9983; /* avx512f_compressv8df_mask */
15059 :
15060 : case E_V8SImode:
15061 : if (pattern917 (x3,
15062 : E_QImode,
15063 : E_V8SImode) != 0
15064 : || !(
15065 : #line 30616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15066 : (TARGET_AVX512F) &&
15067 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15068 : (TARGET_AVX512VL)))
15069 : return -1;
15070 : return 9984; /* avx512vl_compressv8si_mask */
15071 :
15072 : case E_V8SFmode:
15073 : if (pattern917 (x3,
15074 : E_QImode,
15075 : E_V8SFmode) != 0
15076 : || !(
15077 : #line 30616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15078 : (TARGET_AVX512F) &&
15079 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15080 : (TARGET_AVX512VL)))
15081 : return -1;
15082 : return 9985; /* avx512vl_compressv8sf_mask */
15083 :
15084 : case E_V4DImode:
15085 : if (pattern917 (x3,
15086 : E_QImode,
15087 : E_V4DImode) != 0
15088 : || !(
15089 : #line 30616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15090 : (TARGET_AVX512F) &&
15091 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15092 : (TARGET_AVX512VL)))
15093 : return -1;
15094 : return 9986; /* avx512vl_compressv4di_mask */
15095 :
15096 : case E_V4DFmode:
15097 : if (pattern917 (x3,
15098 : E_QImode,
15099 : E_V4DFmode) != 0
15100 : || !(
15101 : #line 30616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15102 : (TARGET_AVX512F) &&
15103 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15104 : (TARGET_AVX512VL)))
15105 : return -1;
15106 : return 9987; /* avx512vl_compressv4df_mask */
15107 :
15108 : case E_V4SImode:
15109 : if (pattern917 (x3,
15110 : E_QImode,
15111 : E_V4SImode) != 0
15112 : || !(
15113 : #line 30616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15114 : (TARGET_AVX512F) &&
15115 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15116 : (TARGET_AVX512VL)))
15117 : return -1;
15118 : return 9988; /* avx512vl_compressv4si_mask */
15119 :
15120 : case E_V4SFmode:
15121 : if (pattern917 (x3,
15122 : E_QImode,
15123 : E_V4SFmode) != 0
15124 : || !(
15125 : #line 30616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15126 : (TARGET_AVX512F) &&
15127 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15128 : (TARGET_AVX512VL)))
15129 : return -1;
15130 : return 9989; /* avx512vl_compressv4sf_mask */
15131 :
15132 : case E_V2DImode:
15133 : if (pattern917 (x3,
15134 : E_QImode,
15135 : E_V2DImode) != 0
15136 : || !(
15137 : #line 30616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15138 : (TARGET_AVX512F) &&
15139 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15140 : (TARGET_AVX512VL)))
15141 : return -1;
15142 : return 9990; /* avx512vl_compressv2di_mask */
15143 :
15144 : case E_V2DFmode:
15145 : if (pattern917 (x3,
15146 : E_QImode,
15147 : E_V2DFmode) != 0
15148 : || !(
15149 : #line 30616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15150 : (TARGET_AVX512F) &&
15151 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15152 : (TARGET_AVX512VL)))
15153 : return -1;
15154 : return 9991; /* avx512vl_compressv2df_mask */
15155 :
15156 : case E_V64QImode:
15157 : if (pattern917 (x3,
15158 : E_DImode,
15159 : E_V64QImode) != 0
15160 : || !
15161 : #line 30630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15162 : (TARGET_AVX512VBMI2))
15163 : return -1;
15164 : return 9992; /* compressv64qi_mask */
15165 :
15166 : case E_V16QImode:
15167 : if (pattern917 (x3,
15168 : E_HImode,
15169 : E_V16QImode) != 0
15170 : || !(
15171 : #line 30630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15172 : (TARGET_AVX512VBMI2) &&
15173 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15174 : (TARGET_AVX512VL)))
15175 : return -1;
15176 : return 9993; /* compressv16qi_mask */
15177 :
15178 : case E_V32QImode:
15179 : if (pattern917 (x3,
15180 : E_SImode,
15181 : E_V32QImode) != 0
15182 : || !(
15183 : #line 30630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15184 : (TARGET_AVX512VBMI2) &&
15185 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15186 : (TARGET_AVX512VL)))
15187 : return -1;
15188 : return 9994; /* compressv32qi_mask */
15189 :
15190 : case E_V32HImode:
15191 : if (pattern917 (x3,
15192 : E_SImode,
15193 : E_V32HImode) != 0
15194 : || !
15195 : #line 30630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15196 : (TARGET_AVX512VBMI2))
15197 : return -1;
15198 : return 9995; /* compressv32hi_mask */
15199 :
15200 : case E_V16HImode:
15201 : if (pattern917 (x3,
15202 : E_HImode,
15203 : E_V16HImode) != 0
15204 : || !(
15205 : #line 30630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15206 : (TARGET_AVX512VBMI2) &&
15207 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15208 : (TARGET_AVX512VL)))
15209 : return -1;
15210 : return 9996; /* compressv16hi_mask */
15211 :
15212 : case E_V8HImode:
15213 : if (pattern917 (x3,
15214 : E_QImode,
15215 : E_V8HImode) != 0
15216 : || !(
15217 : #line 30630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15218 : (TARGET_AVX512VBMI2) &&
15219 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15220 : (TARGET_AVX512VL)))
15221 : return -1;
15222 : return 9997; /* compressv8hi_mask */
15223 :
15224 : default:
15225 : return -1;
15226 : }
15227 : }
15228 :
15229 : int
15230 : recog_264 (rtx x1 ATTRIBUTE_UNUSED,
15231 : rtx_insn *insn ATTRIBUTE_UNUSED,
15232 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15233 : {
15234 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15235 : rtx x2, x3, x4, x5, x6;
15236 : int res ATTRIBUTE_UNUSED;
15237 : x2 = XEXP (x1, 0);
15238 : operands[0] = x2;
15239 : x3 = XEXP (x1, 1);
15240 : x4 = XVECEXP (x3, 0, 0);
15241 : operands[1] = x4;
15242 : x5 = XVECEXP (x3, 0, 1);
15243 : operands[2] = x5;
15244 : x6 = XVECEXP (x3, 0, 2);
15245 : operands[3] = x6;
15246 : if (!const_0_to_255_operand (operands[3], E_SImode))
15247 : return -1;
15248 : switch (GET_MODE (operands[0]))
15249 : {
15250 : case E_V32QImode:
15251 : if (pattern158 (x3,
15252 : E_V32QImode) != 0)
15253 : return -1;
15254 : if ((
15255 : #line 24320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15256 : (TARGET_SSE4_1) &&
15257 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15258 : (TARGET_AVX2)))
15259 : return 8785; /* avx2_mpsadbw */
15260 : if (!(
15261 : #line 24355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15262 : (TARGET_AVX10_2) &&
15263 : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15264 : (TARGET_AVX)))
15265 : return -1;
15266 : return 8789; /* *avx2_mpsadbw */
15267 :
15268 : case E_V16QImode:
15269 : if (pattern158 (x3,
15270 : E_V16QImode) != 0)
15271 : return -1;
15272 : if (
15273 : #line 24320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15274 : (TARGET_SSE4_1))
15275 : return 8786; /* sse4_1_mpsadbw */
15276 : if (!
15277 : #line 24355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15278 : (TARGET_AVX10_2))
15279 : return -1;
15280 : return 8791; /* *sse4_1_mpsadbw */
15281 :
15282 : case E_V64QImode:
15283 : if (pattern158 (x3,
15284 : E_V64QImode) != 0
15285 : || !
15286 : #line 24343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15287 : (TARGET_AVX10_2))
15288 : return -1;
15289 : return 8787; /* avx10_2_mpsadbw */
15290 :
15291 : default:
15292 : return -1;
15293 : }
15294 : }
15295 :
15296 : int
15297 : recog_270 (rtx x1 ATTRIBUTE_UNUSED,
15298 : rtx_insn *insn ATTRIBUTE_UNUSED,
15299 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15300 : {
15301 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15302 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
15303 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
15304 : rtx x18;
15305 : int res ATTRIBUTE_UNUSED;
15306 : x2 = XEXP (x1, 1);
15307 : x3 = XEXP (x2, 1);
15308 : x4 = XEXP (x3, 1);
15309 : if (GET_CODE (x4) != PARALLEL)
15310 : return -1;
15311 : x5 = XEXP (x2, 0);
15312 : operands[2] = x5;
15313 : x6 = XEXP (x3, 0);
15314 : operands[1] = x6;
15315 : switch (XVECLEN (x4, 0))
15316 : {
15317 : case 2:
15318 : x7 = XVECEXP (x4, 0, 0);
15319 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
15320 : return -1;
15321 : x8 = XVECEXP (x4, 0, 1);
15322 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
15323 : return -1;
15324 : switch (GET_MODE (operands[0]))
15325 : {
15326 : case E_V4SFmode:
15327 : if (!nonimmediate_operand (operands[0], E_V4SFmode)
15328 : || GET_MODE (x2) != E_V4SFmode
15329 : || !nonimmediate_operand (operands[2], E_V2SFmode)
15330 : || GET_MODE (x3) != E_V2SFmode
15331 : || !nonimmediate_operand (operands[1], E_V4SFmode)
15332 : || !
15333 : #line 12050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15334 : (TARGET_SSE))
15335 : return -1;
15336 : return 5288; /* sse_loadlps */
15337 :
15338 : case E_V4DImode:
15339 : if (pattern1238 (x2,
15340 : E_V4DImode,
15341 : E_V2DImode) != 0
15342 : || !
15343 : #line 29385 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15344 : (TARGET_AVX && 1))
15345 : return -1;
15346 : return 9556; /* vec_set_lo_v4di */
15347 :
15348 : case E_V4DFmode:
15349 : if (pattern1238 (x2,
15350 : E_V4DFmode,
15351 : E_V2DFmode) != 0
15352 : || !
15353 : #line 29385 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15354 : (TARGET_AVX && 1))
15355 : return -1;
15356 : return 9558; /* vec_set_lo_v4df */
15357 :
15358 : default:
15359 : return -1;
15360 : }
15361 :
15362 : case 1:
15363 : x7 = XVECEXP (x4, 0, 0);
15364 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
15365 : || !nonimmediate_operand (operands[0], E_V2DFmode)
15366 : || GET_MODE (x2) != E_V2DFmode
15367 : || !nonimmediate_operand (operands[2], E_DFmode)
15368 : || GET_MODE (x3) != E_DFmode
15369 : || !nonimm_or_0_operand (operands[1], E_V2DFmode)
15370 : || !
15371 : #line 15172 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15372 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
15373 : return -1;
15374 : return 7248; /* sse2_loadlpd */
15375 :
15376 : case 8:
15377 : x7 = XVECEXP (x4, 0, 0);
15378 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
15379 : return -1;
15380 : x8 = XVECEXP (x4, 0, 1);
15381 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
15382 : return -1;
15383 : x9 = XVECEXP (x4, 0, 2);
15384 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 10]
15385 : || pattern1239 (x4,
15386 : 15,
15387 : 14,
15388 : 13,
15389 : 12,
15390 : 11) != 0)
15391 : return -1;
15392 : switch (GET_MODE (operands[0]))
15393 : {
15394 : case E_V16SFmode:
15395 : if (pattern1238 (x2,
15396 : E_V16SFmode,
15397 : E_V8SFmode) != 0
15398 : || !
15399 : #line 20552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15400 : (TARGET_AVX512DQ))
15401 : return -1;
15402 : return 8462; /* vec_set_lo_v16sf */
15403 :
15404 : case E_V16SImode:
15405 : if (pattern1238 (x2,
15406 : E_V16SImode,
15407 : E_V8SImode) != 0
15408 : || !
15409 : #line 20552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15410 : (TARGET_AVX512DQ))
15411 : return -1;
15412 : return 8464; /* vec_set_lo_v16si */
15413 :
15414 : case E_V16HImode:
15415 : if (pattern1238 (x2,
15416 : E_V16HImode,
15417 : E_V8HImode) != 0
15418 : || !
15419 : #line 29486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15420 : (TARGET_AVX))
15421 : return -1;
15422 : return 9572; /* vec_set_lo_v16hi */
15423 :
15424 : case E_V16HFmode:
15425 : if (pattern1238 (x2,
15426 : E_V16HFmode,
15427 : E_V8HFmode) != 0
15428 : || !
15429 : #line 29486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15430 : (TARGET_AVX))
15431 : return -1;
15432 : return 9573; /* vec_set_lo_v16hf */
15433 :
15434 : case E_V16BFmode:
15435 : if (pattern1238 (x2,
15436 : E_V16BFmode,
15437 : E_V8BFmode) != 0
15438 : || !
15439 : #line 29486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15440 : (TARGET_AVX))
15441 : return -1;
15442 : return 9574; /* vec_set_lo_v16bf */
15443 :
15444 : default:
15445 : return -1;
15446 : }
15447 :
15448 : case 4:
15449 : x7 = XVECEXP (x4, 0, 0);
15450 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
15451 : return -1;
15452 : x8 = XVECEXP (x4, 0, 1);
15453 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
15454 : return -1;
15455 : x9 = XVECEXP (x4, 0, 2);
15456 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
15457 : return -1;
15458 : x10 = XVECEXP (x4, 0, 3);
15459 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
15460 : return -1;
15461 : switch (GET_MODE (operands[0]))
15462 : {
15463 : case E_V8DFmode:
15464 : if (pattern1238 (x2,
15465 : E_V8DFmode,
15466 : E_V4DFmode) != 0
15467 : || !
15468 : #line 20586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15469 : (TARGET_AVX512F))
15470 : return -1;
15471 : return 8470; /* vec_set_lo_v8df */
15472 :
15473 : case E_V8DImode:
15474 : if (pattern1238 (x2,
15475 : E_V8DImode,
15476 : E_V4DImode) != 0
15477 : || !
15478 : #line 20586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15479 : (TARGET_AVX512F))
15480 : return -1;
15481 : return 8472; /* vec_set_lo_v8di */
15482 :
15483 : case E_V8SImode:
15484 : if (pattern1238 (x2,
15485 : E_V8SImode,
15486 : E_V4SImode) != 0
15487 : || !
15488 : #line 29436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15489 : (TARGET_AVX))
15490 : return -1;
15491 : return 9564; /* vec_set_lo_v8si */
15492 :
15493 : case E_V8SFmode:
15494 : if (pattern1238 (x2,
15495 : E_V8SFmode,
15496 : E_V4SFmode) != 0
15497 : || !
15498 : #line 29436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15499 : (TARGET_AVX))
15500 : return -1;
15501 : return 9566; /* vec_set_lo_v8sf */
15502 :
15503 : default:
15504 : return -1;
15505 : }
15506 :
15507 : case 16:
15508 : x7 = XVECEXP (x4, 0, 0);
15509 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
15510 : return -1;
15511 : x8 = XVECEXP (x4, 0, 1);
15512 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 17])
15513 : return -1;
15514 : x9 = XVECEXP (x4, 0, 2);
15515 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 18]
15516 : || pattern1239 (x4,
15517 : 23,
15518 : 22,
15519 : 21,
15520 : 20,
15521 : 19) != 0)
15522 : return -1;
15523 : x11 = XVECEXP (x4, 0, 8);
15524 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 24])
15525 : return -1;
15526 : x12 = XVECEXP (x4, 0, 9);
15527 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 25])
15528 : return -1;
15529 : x13 = XVECEXP (x4, 0, 10);
15530 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 26])
15531 : return -1;
15532 : x14 = XVECEXP (x4, 0, 11);
15533 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 27])
15534 : return -1;
15535 : x15 = XVECEXP (x4, 0, 12);
15536 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 28])
15537 : return -1;
15538 : x16 = XVECEXP (x4, 0, 13);
15539 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 29])
15540 : return -1;
15541 : x17 = XVECEXP (x4, 0, 14);
15542 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 30])
15543 : return -1;
15544 : x18 = XVECEXP (x4, 0, 15);
15545 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 31]
15546 : || pattern1238 (x2,
15547 : E_V32QImode,
15548 : E_V16QImode) != 0
15549 : || !
15550 : #line 29536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15551 : (TARGET_AVX))
15552 : return -1;
15553 : return 9578; /* vec_set_lo_v32qi */
15554 :
15555 : default:
15556 : return -1;
15557 : }
15558 : }
15559 :
15560 : int
15561 : recog_275 (rtx x1 ATTRIBUTE_UNUSED,
15562 : rtx_insn *insn ATTRIBUTE_UNUSED,
15563 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15564 : {
15565 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15566 : rtx x2, x3, x4;
15567 : int res ATTRIBUTE_UNUSED;
15568 : x2 = XEXP (x1, 1);
15569 : operands[3] = x2;
15570 : x3 = XEXP (x2, 0);
15571 : operands[1] = x3;
15572 : x4 = XEXP (x2, 1);
15573 : operands[2] = x4;
15574 : switch (GET_MODE (operands[0]))
15575 : {
15576 : case E_V8SFmode:
15577 : if (pattern805 (
15578 : E_V8SFmode) != 0)
15579 : return -1;
15580 : if ((
15581 : #line 4602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15582 : (TARGET_SSE
15583 : && GET_RTX_CLASS (GET_CODE (operands[3])) == RTX_COMM_COMPARE) &&
15584 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15585 : (TARGET_AVX)))
15586 : return 3312; /* *avx_maskcmpv8sf3_comm */
15587 : if (!(
15588 : #line 4619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15589 : (TARGET_SSE) &&
15590 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15591 : (TARGET_AVX)))
15592 : return -1;
15593 : return 3316; /* avx_maskcmpv8sf3 */
15594 :
15595 : case E_V4SFmode:
15596 : if (pattern805 (
15597 : E_V4SFmode) != 0)
15598 : return -1;
15599 : if (
15600 : #line 4602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15601 : (TARGET_SSE
15602 : && GET_RTX_CLASS (GET_CODE (operands[3])) == RTX_COMM_COMPARE))
15603 : return 3313; /* *sse_maskcmpv4sf3_comm */
15604 : if (!
15605 : #line 4619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15606 : (TARGET_SSE))
15607 : return -1;
15608 : return 3317; /* sse_maskcmpv4sf3 */
15609 :
15610 : case E_V4DFmode:
15611 : if (pattern805 (
15612 : E_V4DFmode) != 0)
15613 : return -1;
15614 : if ((
15615 : #line 4602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15616 : (TARGET_SSE
15617 : && GET_RTX_CLASS (GET_CODE (operands[3])) == RTX_COMM_COMPARE) &&
15618 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15619 : (TARGET_AVX)))
15620 : return 3314; /* *avx_maskcmpv4df3_comm */
15621 : if (!(
15622 : #line 4619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15623 : (TARGET_SSE) &&
15624 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15625 : (TARGET_AVX)))
15626 : return -1;
15627 : return 3318; /* avx_maskcmpv4df3 */
15628 :
15629 : case E_V2DFmode:
15630 : if (pattern805 (
15631 : E_V2DFmode) != 0)
15632 : return -1;
15633 : if ((
15634 : #line 4602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15635 : (TARGET_SSE
15636 : && GET_RTX_CLASS (GET_CODE (operands[3])) == RTX_COMM_COMPARE) &&
15637 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15638 : (TARGET_SSE2)))
15639 : return 3315; /* *sse2_maskcmpv2df3_comm */
15640 : if (!(
15641 : #line 4619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15642 : (TARGET_SSE) &&
15643 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15644 : (TARGET_SSE2)))
15645 : return -1;
15646 : return 3319; /* sse2_maskcmpv2df3 */
15647 :
15648 : default:
15649 : return -1;
15650 : }
15651 : }
15652 :
15653 : int
15654 : recog_276 (rtx x1 ATTRIBUTE_UNUSED,
15655 : rtx_insn *insn ATTRIBUTE_UNUSED,
15656 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15657 : {
15658 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15659 : rtx x2, x3, x4, x5, x6, x7, x8;
15660 : int res ATTRIBUTE_UNUSED;
15661 : x2 = XEXP (x1, 1);
15662 : x3 = XEXP (x2, 0);
15663 : switch (GET_CODE (x3))
15664 : {
15665 : case REG:
15666 : case SUBREG:
15667 : case MEM:
15668 : operands[1] = x3;
15669 : x4 = XEXP (x2, 1);
15670 : operands[2] = x4;
15671 : switch (GET_MODE (operands[0]))
15672 : {
15673 : case E_V32QImode:
15674 : if (pattern3 (x2,
15675 : E_V32QImode) != 0
15676 : || !
15677 : #line 18371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15678 : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
15679 : return -1;
15680 : return 7943; /* *avx2_eqv32qi3 */
15681 :
15682 : case E_V16HImode:
15683 : if (pattern3 (x2,
15684 : E_V16HImode) != 0
15685 : || !
15686 : #line 18371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15687 : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
15688 : return -1;
15689 : return 7944; /* *avx2_eqv16hi3 */
15690 :
15691 : case E_V8SImode:
15692 : if (pattern3 (x2,
15693 : E_V8SImode) != 0
15694 : || !
15695 : #line 18371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15696 : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
15697 : return -1;
15698 : return 7945; /* *avx2_eqv8si3 */
15699 :
15700 : case E_V4DImode:
15701 : if (pattern3 (x2,
15702 : E_V4DImode) != 0
15703 : || !
15704 : #line 18371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15705 : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
15706 : return -1;
15707 : return 7946; /* *avx2_eqv4di3 */
15708 :
15709 : case E_V2DImode:
15710 : if (pattern26 (x2,
15711 : E_V2DImode) != 0
15712 : || !
15713 : #line 18672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15714 : (TARGET_SSE4_1 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
15715 : return -1;
15716 : return 8009; /* *sse4_1_eqv2di3 */
15717 :
15718 : case E_V16QImode:
15719 : if (pattern26 (x2,
15720 : E_V16QImode) != 0
15721 : || !
15722 : #line 18689 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15723 : (TARGET_SSE2
15724 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
15725 : return -1;
15726 : return 8010; /* *sse2_eqv16qi3 */
15727 :
15728 : case E_V8HImode:
15729 : if (pattern26 (x2,
15730 : E_V8HImode) != 0
15731 : || !
15732 : #line 18689 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15733 : (TARGET_SSE2
15734 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
15735 : return -1;
15736 : return 8011; /* *sse2_eqv8hi3 */
15737 :
15738 : case E_V4SImode:
15739 : if (pattern26 (x2,
15740 : E_V4SImode) != 0
15741 : || !
15742 : #line 18689 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15743 : (TARGET_SSE2
15744 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
15745 : return -1;
15746 : return 8012; /* *sse2_eqv4si3 */
15747 :
15748 : default:
15749 : return -1;
15750 : }
15751 :
15752 : case EQ:
15753 : x5 = XEXP (x3, 0);
15754 : if (GET_CODE (x5) != EQ)
15755 : return -1;
15756 : x6 = XEXP (x5, 0);
15757 : operands[1] = x6;
15758 : x7 = XEXP (x5, 1);
15759 : operands[2] = x7;
15760 : x8 = XEXP (x3, 1);
15761 : operands[3] = x8;
15762 : x4 = XEXP (x2, 1);
15763 : operands[4] = x4;
15764 : switch (GET_MODE (operands[0]))
15765 : {
15766 : case E_V32QImode:
15767 : if (pattern1154 (x2,
15768 : E_V32QImode) != 0
15769 : || !(
15770 : #line 18391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15771 : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
15772 : #line 584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15773 : (TARGET_AVX2)))
15774 : return -1;
15775 : return 7947; /* *eqv32qi3_2_negate */
15776 :
15777 : case E_V16QImode:
15778 : if (pattern1154 (x2,
15779 : E_V16QImode) != 0
15780 : || !
15781 : #line 18391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15782 : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
15783 : return -1;
15784 : return 7948; /* *eqv16qi3_2_negate */
15785 :
15786 : case E_V16HImode:
15787 : if (pattern1154 (x2,
15788 : E_V16HImode) != 0
15789 : || !(
15790 : #line 18391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15791 : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
15792 : #line 585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15793 : (TARGET_AVX2)))
15794 : return -1;
15795 : return 7949; /* *eqv16hi3_2_negate */
15796 :
15797 : case E_V8HImode:
15798 : if (pattern1154 (x2,
15799 : E_V8HImode) != 0
15800 : || !
15801 : #line 18391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15802 : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
15803 : return -1;
15804 : return 7950; /* *eqv8hi3_2_negate */
15805 :
15806 : case E_V8SImode:
15807 : if (pattern1154 (x2,
15808 : E_V8SImode) != 0
15809 : || !(
15810 : #line 18391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15811 : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
15812 : #line 586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15813 : (TARGET_AVX2)))
15814 : return -1;
15815 : return 7951; /* *eqv8si3_2_negate */
15816 :
15817 : case E_V4SImode:
15818 : if (pattern1154 (x2,
15819 : E_V4SImode) != 0
15820 : || !
15821 : #line 18391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15822 : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
15823 : return -1;
15824 : return 7952; /* *eqv4si3_2_negate */
15825 :
15826 : case E_V4DImode:
15827 : if (pattern1154 (x2,
15828 : E_V4DImode) != 0
15829 : || !(
15830 : #line 18391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15831 : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
15832 : #line 587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15833 : (TARGET_AVX2)))
15834 : return -1;
15835 : return 7953; /* *eqv4di3_2_negate */
15836 :
15837 : case E_V2DImode:
15838 : if (pattern1154 (x2,
15839 : E_V2DImode) != 0
15840 : || !
15841 : #line 18391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15842 : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
15843 : return -1;
15844 : return 7954; /* *eqv2di3_2_negate */
15845 :
15846 : default:
15847 : return -1;
15848 : }
15849 :
15850 : default:
15851 : return -1;
15852 : }
15853 : }
15854 :
15855 : int
15856 : recog_280 (rtx x1 ATTRIBUTE_UNUSED,
15857 : rtx_insn *insn ATTRIBUTE_UNUSED,
15858 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15859 : {
15860 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15861 : rtx x2, x3, x4, x5, x6, x7;
15862 : int res ATTRIBUTE_UNUSED;
15863 : x2 = XEXP (x1, 1);
15864 : x3 = XEXP (x2, 1);
15865 : x4 = XVECEXP (x3, 0, 0);
15866 : if (GET_CODE (x4) != CONST_INT)
15867 : return -1;
15868 : x5 = XVECEXP (x3, 0, 1);
15869 : if (GET_CODE (x5) == CONST_INT)
15870 : {
15871 : res = recog_278 (x1, insn, pnum_clobbers);
15872 : if (res >= 0)
15873 : return res;
15874 : }
15875 : operands[3] = x4;
15876 : res = recog_279 (x1, insn, pnum_clobbers);
15877 : if (res >= 0)
15878 : return res;
15879 : if (GET_CODE (x5) != CONST_INT)
15880 : return -1;
15881 : x6 = XVECEXP (x3, 0, 2);
15882 : if (GET_CODE (x6) != CONST_INT)
15883 : return -1;
15884 : x7 = XVECEXP (x3, 0, 3);
15885 : if (GET_CODE (x7) != CONST_INT
15886 : || pattern1324 (x2,
15887 : E_V4SImode,
15888 : E_V8SImode) != 0)
15889 : return -1;
15890 : switch (XWINT (x4, 0))
15891 : {
15892 : case 2L:
15893 : if (XWINT (x5, 0) != 6L
15894 : || XWINT (x6, 0) != 3L
15895 : || XWINT (x7, 0) != 7L
15896 : || !
15897 : #line 20213 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15898 : (TARGET_SSE2 && 1))
15899 : return -1;
15900 : return 8436; /* vec_interleave_highv4si */
15901 :
15902 : case 0L:
15903 : if (XWINT (x5, 0) != 4L
15904 : || XWINT (x6, 0) != 1L
15905 : || XWINT (x7, 0) != 5L
15906 : || !
15907 : #line 20267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15908 : (TARGET_SSE2 && 1))
15909 : return -1;
15910 : return 8442; /* vec_interleave_lowv4si */
15911 :
15912 : default:
15913 : return -1;
15914 : }
15915 : }
15916 :
15917 : int
15918 : recog_283 (rtx x1 ATTRIBUTE_UNUSED,
15919 : rtx_insn *insn ATTRIBUTE_UNUSED,
15920 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15921 : {
15922 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15923 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
15924 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
15925 : rtx x18, x19, x20, x21;
15926 : int res ATTRIBUTE_UNUSED;
15927 : x2 = XEXP (x1, 1);
15928 : x3 = XEXP (x2, 1);
15929 : if (pattern933 (x3) != 0)
15930 : return -1;
15931 : x4 = XVECEXP (x3, 0, 0);
15932 : switch (XWINT (x4, 0))
15933 : {
15934 : case 2L:
15935 : x5 = XVECEXP (x3, 0, 1);
15936 : if (XWINT (x5, 0) != 18L)
15937 : return -1;
15938 : x6 = XVECEXP (x3, 0, 2);
15939 : if (XWINT (x6, 0) != 3L)
15940 : return -1;
15941 : x7 = XVECEXP (x3, 0, 3);
15942 : if (XWINT (x7, 0) != 19L
15943 : || pattern1857 (x3) != 0)
15944 : return -1;
15945 : x8 = XVECEXP (x3, 0, 8);
15946 : if (XWINT (x8, 0) != 10L)
15947 : return -1;
15948 : x9 = XVECEXP (x3, 0, 9);
15949 : if (XWINT (x9, 0) != 26L)
15950 : return -1;
15951 : x10 = XVECEXP (x3, 0, 10);
15952 : if (XWINT (x10, 0) != 11L)
15953 : return -1;
15954 : x11 = XVECEXP (x3, 0, 11);
15955 : if (XWINT (x11, 0) != 27L
15956 : || pattern1892 (x2) != 0)
15957 : return -1;
15958 : switch (GET_MODE (operands[0]))
15959 : {
15960 : case E_V16SFmode:
15961 : if (pattern1425 (x2,
15962 : E_V16SFmode,
15963 : E_V32SFmode) != 0
15964 : || !
15965 : #line 11527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15966 : (TARGET_AVX512F))
15967 : return -1;
15968 : return 5256; /* *avx512f_unpckhps512 */
15969 :
15970 : case E_V16SImode:
15971 : if (pattern1425 (x2,
15972 : E_V16SImode,
15973 : E_V32SImode) != 0
15974 : || !
15975 : #line 20198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15976 : (TARGET_AVX512F))
15977 : return -1;
15978 : return 8434; /* *avx512f_interleave_highv16si */
15979 :
15980 : default:
15981 : return -1;
15982 : }
15983 :
15984 : case 0L:
15985 : x5 = XVECEXP (x3, 0, 1);
15986 : switch (XWINT (x5, 0))
15987 : {
15988 : case 16L:
15989 : x6 = XVECEXP (x3, 0, 2);
15990 : if (XWINT (x6, 0) != 1L)
15991 : return -1;
15992 : x7 = XVECEXP (x3, 0, 3);
15993 : if (XWINT (x7, 0) != 17L)
15994 : return -1;
15995 : x12 = XEXP (x2, 0);
15996 : x13 = XEXP (x12, 1);
15997 : operands[2] = x13;
15998 : x14 = XVECEXP (x3, 0, 4);
15999 : switch (XWINT (x14, 0))
16000 : {
16001 : case 4L:
16002 : x15 = XVECEXP (x3, 0, 5);
16003 : if (XWINT (x15, 0) != 20L)
16004 : return -1;
16005 : x16 = XVECEXP (x3, 0, 6);
16006 : if (XWINT (x16, 0) != 5L)
16007 : return -1;
16008 : x17 = XVECEXP (x3, 0, 7);
16009 : if (XWINT (x17, 0) != 21L)
16010 : return -1;
16011 : x8 = XVECEXP (x3, 0, 8);
16012 : if (XWINT (x8, 0) != 8L)
16013 : return -1;
16014 : x9 = XVECEXP (x3, 0, 9);
16015 : if (XWINT (x9, 0) != 24L)
16016 : return -1;
16017 : x10 = XVECEXP (x3, 0, 10);
16018 : if (XWINT (x10, 0) != 9L)
16019 : return -1;
16020 : x11 = XVECEXP (x3, 0, 11);
16021 : if (XWINT (x11, 0) != 25L)
16022 : return -1;
16023 : x18 = XVECEXP (x3, 0, 12);
16024 : if (XWINT (x18, 0) != 12L)
16025 : return -1;
16026 : x19 = XVECEXP (x3, 0, 13);
16027 : if (XWINT (x19, 0) != 28L)
16028 : return -1;
16029 : x20 = XVECEXP (x3, 0, 14);
16030 : if (XWINT (x20, 0) != 13L)
16031 : return -1;
16032 : x21 = XVECEXP (x3, 0, 15);
16033 : if (XWINT (x21, 0) != 29L)
16034 : return -1;
16035 : switch (GET_MODE (operands[0]))
16036 : {
16037 : case E_V16SFmode:
16038 : if (pattern1425 (x2,
16039 : E_V16SFmode,
16040 : E_V32SFmode) != 0
16041 : || !
16042 : #line 11615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16043 : (TARGET_AVX512F))
16044 : return -1;
16045 : return 5262; /* *avx512f_unpcklps512 */
16046 :
16047 : case E_V16SImode:
16048 : if (pattern1425 (x2,
16049 : E_V16SImode,
16050 : E_V32SImode) != 0
16051 : || !
16052 : #line 20253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16053 : (TARGET_AVX512F))
16054 : return -1;
16055 : return 8440; /* *avx512f_interleave_lowv16si */
16056 :
16057 : default:
16058 : return -1;
16059 : }
16060 :
16061 : case 2L:
16062 : x15 = XVECEXP (x3, 0, 5);
16063 : if (XWINT (x15, 0) != 18L)
16064 : return -1;
16065 : x16 = XVECEXP (x3, 0, 6);
16066 : if (XWINT (x16, 0) != 3L)
16067 : return -1;
16068 : x17 = XVECEXP (x3, 0, 7);
16069 : if (XWINT (x17, 0) != 19L)
16070 : return -1;
16071 : x8 = XVECEXP (x3, 0, 8);
16072 : switch (XWINT (x8, 0))
16073 : {
16074 : case 4L:
16075 : x9 = XVECEXP (x3, 0, 9);
16076 : if (XWINT (x9, 0) != 20L)
16077 : return -1;
16078 : x10 = XVECEXP (x3, 0, 10);
16079 : if (XWINT (x10, 0) != 5L)
16080 : return -1;
16081 : x11 = XVECEXP (x3, 0, 11);
16082 : if (XWINT (x11, 0) != 21L)
16083 : return -1;
16084 : x18 = XVECEXP (x3, 0, 12);
16085 : if (XWINT (x18, 0) != 6L)
16086 : return -1;
16087 : x19 = XVECEXP (x3, 0, 13);
16088 : if (XWINT (x19, 0) != 22L)
16089 : return -1;
16090 : x20 = XVECEXP (x3, 0, 14);
16091 : if (XWINT (x20, 0) != 7L)
16092 : return -1;
16093 : x21 = XVECEXP (x3, 0, 15);
16094 : if (XWINT (x21, 0) != 23L
16095 : || pattern1492 (x2,
16096 : E_V16QImode,
16097 : E_V32QImode) != 0
16098 : || !
16099 : #line 20022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16100 : (TARGET_SSE2 && 1 && 1))
16101 : return -1;
16102 : return 8394; /* vec_interleave_lowv16qi */
16103 :
16104 : case 8L:
16105 : x9 = XVECEXP (x3, 0, 9);
16106 : if (XWINT (x9, 0) != 24L)
16107 : return -1;
16108 : x10 = XVECEXP (x3, 0, 10);
16109 : if (XWINT (x10, 0) != 9L)
16110 : return -1;
16111 : x11 = XVECEXP (x3, 0, 11);
16112 : if (XWINT (x11, 0) != 25L)
16113 : return -1;
16114 : x18 = XVECEXP (x3, 0, 12);
16115 : if (XWINT (x18, 0) != 10L)
16116 : return -1;
16117 : x19 = XVECEXP (x3, 0, 13);
16118 : if (XWINT (x19, 0) != 26L)
16119 : return -1;
16120 : x20 = XVECEXP (x3, 0, 14);
16121 : if (XWINT (x20, 0) != 11L)
16122 : return -1;
16123 : x21 = XVECEXP (x3, 0, 15);
16124 : if (XWINT (x21, 0) != 27L)
16125 : return -1;
16126 : switch (GET_MODE (operands[0]))
16127 : {
16128 : case E_V16HImode:
16129 : if (pattern1425 (x2,
16130 : E_V16HImode,
16131 : E_V32HImode) != 0
16132 : || !
16133 : #line 20142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16134 : (TARGET_AVX2 && 1 && 1))
16135 : return -1;
16136 : return 8420; /* avx2_interleave_lowv16hi */
16137 :
16138 : case E_V16HFmode:
16139 : if (pattern1425 (x2,
16140 : E_V16HFmode,
16141 : E_V32HFmode) != 0
16142 : || !
16143 : #line 20142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16144 : (TARGET_AVX2 && 1 && 1))
16145 : return -1;
16146 : return 8422; /* avx2_interleave_lowv16hf */
16147 :
16148 : case E_V16BFmode:
16149 : if (pattern1425 (x2,
16150 : E_V16BFmode,
16151 : E_V32BFmode) != 0
16152 : || !
16153 : #line 20142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16154 : (TARGET_AVX2 && 1 && 1))
16155 : return -1;
16156 : return 8424; /* avx2_interleave_lowv16bf */
16157 :
16158 : default:
16159 : return -1;
16160 : }
16161 :
16162 : default:
16163 : return -1;
16164 : }
16165 :
16166 : default:
16167 : return -1;
16168 : }
16169 :
16170 : case 0L:
16171 : if (pattern1676 (x3) != 0)
16172 : return -1;
16173 : x8 = XVECEXP (x3, 0, 8);
16174 : if (XWINT (x8, 0) != 8L)
16175 : return -1;
16176 : x9 = XVECEXP (x3, 0, 9);
16177 : if (XWINT (x9, 0) != 8L)
16178 : return -1;
16179 : x10 = XVECEXP (x3, 0, 10);
16180 : if (XWINT (x10, 0) != 10L)
16181 : return -1;
16182 : x11 = XVECEXP (x3, 0, 11);
16183 : if (XWINT (x11, 0) != 10L)
16184 : return -1;
16185 : x18 = XVECEXP (x3, 0, 12);
16186 : if (XWINT (x18, 0) != 12L)
16187 : return -1;
16188 : x19 = XVECEXP (x3, 0, 13);
16189 : if (XWINT (x19, 0) != 12L)
16190 : return -1;
16191 : x20 = XVECEXP (x3, 0, 14);
16192 : if (XWINT (x20, 0) != 14L)
16193 : return -1;
16194 : x21 = XVECEXP (x3, 0, 15);
16195 : if (XWINT (x21, 0) != 14L
16196 : || pattern1810 (x2,
16197 : E_V16SFmode,
16198 : E_V32SFmode) != 0
16199 : || !
16200 : #line 11808 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16201 : (TARGET_AVX512F))
16202 : return -1;
16203 : return 5278; /* *avx512f_movsldup512 */
16204 :
16205 : default:
16206 : return -1;
16207 : }
16208 :
16209 : case 1L:
16210 : x5 = XVECEXP (x3, 0, 1);
16211 : if (XWINT (x5, 0) != 1L)
16212 : return -1;
16213 : x6 = XVECEXP (x3, 0, 2);
16214 : if (XWINT (x6, 0) != 3L)
16215 : return -1;
16216 : x7 = XVECEXP (x3, 0, 3);
16217 : if (XWINT (x7, 0) != 3L)
16218 : return -1;
16219 : x14 = XVECEXP (x3, 0, 4);
16220 : if (XWINT (x14, 0) != 5L)
16221 : return -1;
16222 : x15 = XVECEXP (x3, 0, 5);
16223 : if (XWINT (x15, 0) != 5L)
16224 : return -1;
16225 : x16 = XVECEXP (x3, 0, 6);
16226 : if (XWINT (x16, 0) != 7L)
16227 : return -1;
16228 : x17 = XVECEXP (x3, 0, 7);
16229 : if (XWINT (x17, 0) != 7L)
16230 : return -1;
16231 : x8 = XVECEXP (x3, 0, 8);
16232 : if (XWINT (x8, 0) != 9L)
16233 : return -1;
16234 : x9 = XVECEXP (x3, 0, 9);
16235 : if (XWINT (x9, 0) != 9L)
16236 : return -1;
16237 : x10 = XVECEXP (x3, 0, 10);
16238 : if (XWINT (x10, 0) != 11L)
16239 : return -1;
16240 : x11 = XVECEXP (x3, 0, 11);
16241 : if (XWINT (x11, 0) != 11L)
16242 : return -1;
16243 : x18 = XVECEXP (x3, 0, 12);
16244 : if (XWINT (x18, 0) != 13L)
16245 : return -1;
16246 : x19 = XVECEXP (x3, 0, 13);
16247 : if (XWINT (x19, 0) != 13L)
16248 : return -1;
16249 : x20 = XVECEXP (x3, 0, 14);
16250 : if (XWINT (x20, 0) != 15L)
16251 : return -1;
16252 : x21 = XVECEXP (x3, 0, 15);
16253 : if (XWINT (x21, 0) != 15L
16254 : || pattern1810 (x2,
16255 : E_V16SFmode,
16256 : E_V32SFmode) != 0
16257 : || !
16258 : #line 11755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16259 : (TARGET_AVX512F))
16260 : return -1;
16261 : return 5272; /* *avx512f_movshdup512 */
16262 :
16263 : case 8L:
16264 : x5 = XVECEXP (x3, 0, 1);
16265 : if (XWINT (x5, 0) != 24L)
16266 : return -1;
16267 : x6 = XVECEXP (x3, 0, 2);
16268 : if (XWINT (x6, 0) != 9L)
16269 : return -1;
16270 : x7 = XVECEXP (x3, 0, 3);
16271 : if (XWINT (x7, 0) != 25L)
16272 : return -1;
16273 : x14 = XVECEXP (x3, 0, 4);
16274 : if (XWINT (x14, 0) != 10L)
16275 : return -1;
16276 : x15 = XVECEXP (x3, 0, 5);
16277 : if (XWINT (x15, 0) != 26L)
16278 : return -1;
16279 : x16 = XVECEXP (x3, 0, 6);
16280 : if (XWINT (x16, 0) != 11L)
16281 : return -1;
16282 : x17 = XVECEXP (x3, 0, 7);
16283 : if (XWINT (x17, 0) != 27L
16284 : || pattern1877 (x3) != 0)
16285 : return -1;
16286 : x18 = XVECEXP (x3, 0, 12);
16287 : if (XWINT (x18, 0) != 14L)
16288 : return -1;
16289 : x19 = XVECEXP (x3, 0, 13);
16290 : if (XWINT (x19, 0) != 30L)
16291 : return -1;
16292 : x20 = XVECEXP (x3, 0, 14);
16293 : if (XWINT (x20, 0) != 15L)
16294 : return -1;
16295 : x21 = XVECEXP (x3, 0, 15);
16296 : if (XWINT (x21, 0) != 31L
16297 : || pattern1324 (x2,
16298 : E_V16QImode,
16299 : E_V32QImode) != 0
16300 : || !
16301 : #line 19926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16302 : (TARGET_SSE2 && 1 && 1))
16303 : return -1;
16304 : return 8388; /* vec_interleave_highv16qi */
16305 :
16306 : case 4L:
16307 : x5 = XVECEXP (x3, 0, 1);
16308 : if (XWINT (x5, 0) != 20L)
16309 : return -1;
16310 : x6 = XVECEXP (x3, 0, 2);
16311 : if (XWINT (x6, 0) != 5L)
16312 : return -1;
16313 : x7 = XVECEXP (x3, 0, 3);
16314 : if (XWINT (x7, 0) != 21L
16315 : || pattern1857 (x3) != 0
16316 : || pattern1877 (x3) != 0
16317 : || pattern1892 (x2) != 0)
16318 : return -1;
16319 : switch (GET_MODE (operands[0]))
16320 : {
16321 : case E_V16HImode:
16322 : if (pattern1425 (x2,
16323 : E_V16HImode,
16324 : E_V32HImode) != 0
16325 : || !
16326 : #line 20074 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16327 : (TARGET_AVX2 && 1 && 1))
16328 : return -1;
16329 : return 8402; /* avx2_interleave_highv16hi */
16330 :
16331 : case E_V16HFmode:
16332 : if (pattern1425 (x2,
16333 : E_V16HFmode,
16334 : E_V32HFmode) != 0
16335 : || !
16336 : #line 20074 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16337 : (TARGET_AVX2 && 1 && 1))
16338 : return -1;
16339 : return 8404; /* avx2_interleave_highv16hf */
16340 :
16341 : case E_V16BFmode:
16342 : if (pattern1425 (x2,
16343 : E_V16BFmode,
16344 : E_V32BFmode) != 0
16345 : || !
16346 : #line 20074 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16347 : (TARGET_AVX2 && 1 && 1))
16348 : return -1;
16349 : return 8406; /* avx2_interleave_highv16bf */
16350 :
16351 : default:
16352 : return -1;
16353 : }
16354 :
16355 : default:
16356 : return -1;
16357 : }
16358 : }
16359 :
16360 : int
16361 : recog_290 (rtx x1 ATTRIBUTE_UNUSED,
16362 : rtx_insn *insn ATTRIBUTE_UNUSED,
16363 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16364 : {
16365 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16366 : rtx x2, x3, x4, x5, x6;
16367 : int res ATTRIBUTE_UNUSED;
16368 : x2 = XEXP (x1, 1);
16369 : x3 = XEXP (x2, 1);
16370 : x4 = XVECEXP (x3, 0, 1);
16371 : operands[3] = x4;
16372 : x5 = XVECEXP (x3, 0, 2);
16373 : operands[4] = x5;
16374 : x6 = XVECEXP (x3, 0, 3);
16375 : operands[5] = x6;
16376 : switch (GET_MODE (operands[0]))
16377 : {
16378 : case E_V4SFmode:
16379 : if (!nonimmediate_operand (operands[0], E_V4SFmode)
16380 : || GET_MODE (x2) != E_V4SFmode
16381 : || pattern1493 (
16382 : E_V16SFmode) != 0
16383 : || !
16384 : #line 12906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16385 : (TARGET_AVX512F
16386 : && INTVAL (operands[2]) % 4 == 0
16387 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
16388 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
16389 : && INTVAL (operands[4]) == INTVAL (operands[5]) - 1))
16390 : return -1;
16391 : return 5352; /* *avx512f_vextractf32x4_1 */
16392 :
16393 : case E_V4SImode:
16394 : if (GET_MODE (x2) != E_V4SImode)
16395 : return -1;
16396 : if (nonimmediate_operand (operands[0], E_V4SImode)
16397 : && pattern1493 (
16398 : E_V16SImode) == 0
16399 : &&
16400 : #line 12906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16401 : (TARGET_AVX512F
16402 : && INTVAL (operands[2]) % 4 == 0
16403 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
16404 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
16405 : && INTVAL (operands[4]) == INTVAL (operands[5]) - 1))
16406 : return 5353; /* *avx512f_vextracti32x4_1 */
16407 : if (!register_operand (operands[0], E_V4SImode)
16408 : || !vector_operand (operands[1], E_V4SImode)
16409 : || !const_0_to_3_operand (operands[2], E_VOIDmode)
16410 : || !const_0_to_3_operand (operands[3], E_VOIDmode)
16411 : || !const_0_to_3_operand (operands[4], E_VOIDmode)
16412 : || !const_0_to_3_operand (operands[5], E_VOIDmode)
16413 : || !
16414 : #line 21159 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16415 : (TARGET_SSE2 && 1))
16416 : return -1;
16417 : return 8506; /* sse2_pshufd_1 */
16418 :
16419 : default:
16420 : return -1;
16421 : }
16422 : }
16423 :
16424 : int
16425 : recog_292 (rtx x1 ATTRIBUTE_UNUSED,
16426 : rtx_insn *insn ATTRIBUTE_UNUSED,
16427 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16428 : {
16429 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16430 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
16431 : rtx x10, x11;
16432 : int res ATTRIBUTE_UNUSED;
16433 : x2 = XEXP (x1, 1);
16434 : x3 = XEXP (x2, 1);
16435 : if (pattern932 (x3) != 0)
16436 : return -1;
16437 : x4 = XVECEXP (x3, 0, 0);
16438 : switch (XWINT (x4, 0))
16439 : {
16440 : case 8L:
16441 : x5 = XVECEXP (x3, 0, 1);
16442 : if (XWINT (x5, 0) != 9L)
16443 : return -1;
16444 : x6 = XVECEXP (x3, 0, 2);
16445 : if (XWINT (x6, 0) != 10L)
16446 : return -1;
16447 : x7 = XVECEXP (x3, 0, 3);
16448 : if (XWINT (x7, 0) != 11L)
16449 : return -1;
16450 : x8 = XVECEXP (x3, 0, 4);
16451 : if (XWINT (x8, 0) != 12L)
16452 : return -1;
16453 : x9 = XVECEXP (x3, 0, 5);
16454 : if (XWINT (x9, 0) != 13L)
16455 : return -1;
16456 : x10 = XVECEXP (x3, 0, 6);
16457 : if (XWINT (x10, 0) != 14L)
16458 : return -1;
16459 : x11 = XVECEXP (x3, 0, 7);
16460 : if (XWINT (x11, 0) != 15L)
16461 : return -1;
16462 : switch (GET_MODE (operands[0]))
16463 : {
16464 : case E_V8SFmode:
16465 : if (!nonimmediate_operand (operands[0], E_V8SFmode)
16466 : || GET_MODE (x2) != E_V8SFmode
16467 : || !register_operand (operands[1], E_V16SFmode)
16468 : || !
16469 : #line 13090 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16470 : (TARGET_AVX512F))
16471 : return -1;
16472 : return 5364; /* vec_extract_hi_v16sf */
16473 :
16474 : case E_V8SImode:
16475 : if (!nonimmediate_operand (operands[0], E_V8SImode)
16476 : || GET_MODE (x2) != E_V8SImode
16477 : || !register_operand (operands[1], E_V16SImode)
16478 : || !
16479 : #line 13090 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16480 : (TARGET_AVX512F))
16481 : return -1;
16482 : return 5365; /* vec_extract_hi_v16si */
16483 :
16484 : case E_V8HImode:
16485 : if (!nonimmediate_operand (operands[0], E_V8HImode)
16486 : || GET_MODE (x2) != E_V8HImode
16487 : || !register_operand (operands[1], E_V16HImode)
16488 : || !
16489 : #line 13478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16490 : (TARGET_AVX))
16491 : return -1;
16492 : return 5395; /* vec_extract_hi_v16hi */
16493 :
16494 : case E_V8HFmode:
16495 : if (!nonimmediate_operand (operands[0], E_V8HFmode)
16496 : || GET_MODE (x2) != E_V8HFmode
16497 : || !register_operand (operands[1], E_V16HFmode)
16498 : || !
16499 : #line 13478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16500 : (TARGET_AVX))
16501 : return -1;
16502 : return 5396; /* vec_extract_hi_v16hf */
16503 :
16504 : case E_V8BFmode:
16505 : if (!nonimmediate_operand (operands[0], E_V8BFmode)
16506 : || GET_MODE (x2) != E_V8BFmode
16507 : || !register_operand (operands[1], E_V16BFmode)
16508 : || !
16509 : #line 13478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16510 : (TARGET_AVX))
16511 : return -1;
16512 : return 5397; /* vec_extract_hi_v16bf */
16513 :
16514 : default:
16515 : return -1;
16516 : }
16517 :
16518 : case 0L:
16519 : x5 = XVECEXP (x3, 0, 1);
16520 : if (XWINT (x5, 0) != 1L)
16521 : return -1;
16522 : x6 = XVECEXP (x3, 0, 2);
16523 : if (XWINT (x6, 0) != 2L)
16524 : return -1;
16525 : x7 = XVECEXP (x3, 0, 3);
16526 : if (XWINT (x7, 0) != 3L)
16527 : return -1;
16528 : x8 = XVECEXP (x3, 0, 4);
16529 : if (XWINT (x8, 0) != 4L)
16530 : return -1;
16531 : x9 = XVECEXP (x3, 0, 5);
16532 : if (XWINT (x9, 0) != 5L)
16533 : return -1;
16534 : x10 = XVECEXP (x3, 0, 6);
16535 : if (XWINT (x10, 0) != 6L)
16536 : return -1;
16537 : x11 = XVECEXP (x3, 0, 7);
16538 : if (XWINT (x11, 0) != 7L)
16539 : return -1;
16540 : switch (pattern1544 (x2))
16541 : {
16542 : case 0:
16543 : if (!
16544 : #line 13195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16545 : (TARGET_AVX512F
16546 : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
16547 : return -1;
16548 : return 5368; /* vec_extract_lo_v16sf */
16549 :
16550 : case 1:
16551 : if (!
16552 : #line 13195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16553 : (TARGET_AVX512F
16554 : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
16555 : return -1;
16556 : return 5369; /* vec_extract_lo_v16si */
16557 :
16558 : case 2:
16559 : if (!
16560 : #line 13464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16561 : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
16562 : return -1;
16563 : return 5392; /* vec_extract_lo_v16hi */
16564 :
16565 : case 3:
16566 : if (!
16567 : #line 13464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16568 : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
16569 : return -1;
16570 : return 5393; /* vec_extract_lo_v16hf */
16571 :
16572 : case 4:
16573 : if (!
16574 : #line 13464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16575 : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
16576 : return -1;
16577 : return 5394; /* vec_extract_lo_v16bf */
16578 :
16579 : default:
16580 : return -1;
16581 : }
16582 :
16583 : default:
16584 : return -1;
16585 : }
16586 : }
16587 :
16588 : int
16589 : recog_303 (rtx x1 ATTRIBUTE_UNUSED,
16590 : rtx_insn *insn ATTRIBUTE_UNUSED,
16591 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16592 : {
16593 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16594 : rtx x2, x3, x4, x5, x6, x7;
16595 : int res ATTRIBUTE_UNUSED;
16596 : x2 = XEXP (x1, 1);
16597 : x3 = XEXP (x2, 0);
16598 : x4 = XEXP (x3, 1);
16599 : if (GET_CODE (x4) != PARALLEL)
16600 : return -1;
16601 : x5 = XEXP (x3, 0);
16602 : operands[1] = x5;
16603 : switch (XVECLEN (x4, 0))
16604 : {
16605 : case 1:
16606 : x6 = XVECEXP (x4, 0, 0);
16607 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
16608 : return -1;
16609 : switch (GET_MODE (operands[0]))
16610 : {
16611 : case E_V8SFmode:
16612 : if (!register_operand (operands[0], E_V8SFmode)
16613 : || GET_MODE (x2) != E_V8SFmode
16614 : || GET_MODE (x3) != E_SFmode)
16615 : return -1;
16616 : switch (GET_MODE (operands[1]))
16617 : {
16618 : case E_V4SFmode:
16619 : if (register_operand (operands[1], E_V4SFmode)
16620 : && (
16621 : #line 12088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16622 : (TARGET_AVX2) &&
16623 : #line 444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16624 : (TARGET_AVX)))
16625 : return 5291; /* avx2_vec_dupv8sf */
16626 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
16627 : || !(
16628 : #line 28642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16629 : (TARGET_AVX512F) &&
16630 : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16631 : (TARGET_AVX512VL)))
16632 : return -1;
16633 : return 9286; /* avx512vl_vec_dupv8sf */
16634 :
16635 : case E_V8SFmode:
16636 : if (!register_operand (operands[1], E_V8SFmode)
16637 : || !
16638 : #line 12100 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16639 : (TARGET_AVX2))
16640 : return -1;
16641 : return 5293; /* avx2_vec_dupv8sf_1 */
16642 :
16643 : default:
16644 : return -1;
16645 : }
16646 :
16647 : case E_V4SFmode:
16648 : if (!register_operand (operands[0], E_V4SFmode)
16649 : || GET_MODE (x2) != E_V4SFmode
16650 : || GET_MODE (x3) != E_SFmode)
16651 : return -1;
16652 : if (register_operand (operands[1], E_V4SFmode)
16653 : &&
16654 : #line 12088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16655 : (TARGET_AVX2))
16656 : return 5292; /* avx2_vec_dupv4sf */
16657 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
16658 : || !(
16659 : #line 28642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16660 : (TARGET_AVX512F) &&
16661 : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16662 : (TARGET_AVX512VL)))
16663 : return -1;
16664 : return 9288; /* avx512vl_vec_dupv4sf */
16665 :
16666 : case E_V16SFmode:
16667 : if (!register_operand (operands[0], E_V16SFmode)
16668 : || GET_MODE (x2) != E_V16SFmode
16669 : || GET_MODE (x3) != E_SFmode)
16670 : return -1;
16671 : switch (GET_MODE (operands[1]))
16672 : {
16673 : case E_V16SFmode:
16674 : if (!register_operand (operands[1], E_V16SFmode)
16675 : || !
16676 : #line 12112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16677 : (TARGET_AVX512F))
16678 : return -1;
16679 : return 5294; /* avx512f_vec_dupv16sf_1 */
16680 :
16681 : case E_V4SFmode:
16682 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
16683 : || !
16684 : #line 28642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16685 : (TARGET_AVX512F))
16686 : return -1;
16687 : return 9284; /* avx512f_vec_dupv16sf */
16688 :
16689 : default:
16690 : return -1;
16691 : }
16692 :
16693 : case E_V8DFmode:
16694 : if (!register_operand (operands[0], E_V8DFmode)
16695 : || GET_MODE (x2) != E_V8DFmode
16696 : || GET_MODE (x3) != E_DFmode)
16697 : return -1;
16698 : switch (GET_MODE (operands[1]))
16699 : {
16700 : case E_V8DFmode:
16701 : if (!register_operand (operands[1], E_V8DFmode)
16702 : || !
16703 : #line 12112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16704 : (TARGET_AVX512F))
16705 : return -1;
16706 : return 5295; /* avx512f_vec_dupv8df_1 */
16707 :
16708 : case E_V2DFmode:
16709 : if (!nonimmediate_operand (operands[1], E_V2DFmode)
16710 : || !
16711 : #line 28642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16712 : (TARGET_AVX512F))
16713 : return -1;
16714 : return 9290; /* avx512f_vec_dupv8df */
16715 :
16716 : default:
16717 : return -1;
16718 : }
16719 :
16720 : case E_V16SImode:
16721 : if (!register_operand (operands[0], E_V16SImode)
16722 : || GET_MODE (x2) != E_V16SImode
16723 : || GET_MODE (x3) != E_SImode)
16724 : return -1;
16725 : switch (GET_MODE (operands[1]))
16726 : {
16727 : case E_V4SImode:
16728 : if (!nonimmediate_operand (operands[1], E_V4SImode))
16729 : return -1;
16730 : if ((
16731 : #line 28206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16732 : (TARGET_AVX2) &&
16733 : #line 564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16734 : (TARGET_AVX512F)))
16735 : return 9165; /* avx2_pbroadcastv16si */
16736 : if (!
16737 : #line 28642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16738 : (TARGET_AVX512F))
16739 : return -1;
16740 : return 9272; /* avx512f_vec_dupv16si */
16741 :
16742 : case E_V16SImode:
16743 : if (!nonimmediate_operand (operands[1], E_V16SImode)
16744 : || !
16745 : #line 28628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16746 : (TARGET_AVX512F))
16747 : return -1;
16748 : return 9266; /* avx512f_vec_dupv16si_1 */
16749 :
16750 : default:
16751 : return -1;
16752 : }
16753 :
16754 : case E_V8DImode:
16755 : if (!register_operand (operands[0], E_V8DImode)
16756 : || GET_MODE (x2) != E_V8DImode
16757 : || GET_MODE (x3) != E_DImode)
16758 : return -1;
16759 : switch (GET_MODE (operands[1]))
16760 : {
16761 : case E_V2DImode:
16762 : if (!nonimmediate_operand (operands[1], E_V2DImode))
16763 : return -1;
16764 : if ((
16765 : #line 28206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16766 : (TARGET_AVX2) &&
16767 : #line 564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16768 : (TARGET_AVX512F)))
16769 : return 9166; /* avx2_pbroadcastv8di */
16770 : if (!
16771 : #line 28642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16772 : (TARGET_AVX512F))
16773 : return -1;
16774 : return 9278; /* avx512f_vec_dupv8di */
16775 :
16776 : case E_V8DImode:
16777 : if (!nonimmediate_operand (operands[1], E_V8DImode)
16778 : || !
16779 : #line 28628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16780 : (TARGET_AVX512F))
16781 : return -1;
16782 : return 9267; /* avx512f_vec_dupv8di_1 */
16783 :
16784 : default:
16785 : return -1;
16786 : }
16787 :
16788 : case E_V64QImode:
16789 : if (!register_operand (operands[0], E_V64QImode)
16790 : || GET_MODE (x2) != E_V64QImode
16791 : || GET_MODE (x3) != E_QImode)
16792 : return -1;
16793 : switch (GET_MODE (operands[1]))
16794 : {
16795 : case E_V16QImode:
16796 : if (!nonimmediate_operand (operands[1], E_V16QImode))
16797 : return -1;
16798 : if ((
16799 : #line 28206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16800 : (TARGET_AVX2) &&
16801 : #line 565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16802 : (TARGET_AVX512BW)))
16803 : return 9167; /* avx2_pbroadcastv64qi */
16804 : if (!
16805 : #line 28661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16806 : (TARGET_AVX512BW))
16807 : return -1;
16808 : return 9296; /* avx512bw_vec_dupv64qi */
16809 :
16810 : case E_V64QImode:
16811 : if (!nonimmediate_operand (operands[1], E_V64QImode)
16812 : || !(
16813 : #line 28628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16814 : (TARGET_AVX512F) &&
16815 : #line 968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16816 : (TARGET_AVX512BW)))
16817 : return -1;
16818 : return 9269; /* avx512bw_vec_dupv64qi_1 */
16819 :
16820 : default:
16821 : return -1;
16822 : }
16823 :
16824 : case E_V32QImode:
16825 : if (!register_operand (operands[0], E_V32QImode)
16826 : || GET_MODE (x2) != E_V32QImode
16827 : || GET_MODE (x3) != E_QImode)
16828 : return -1;
16829 : switch (GET_MODE (operands[1]))
16830 : {
16831 : case E_V16QImode:
16832 : if (!nonimmediate_operand (operands[1], E_V16QImode))
16833 : return -1;
16834 : if ((
16835 : #line 28206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16836 : (TARGET_AVX2) &&
16837 : #line 565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16838 : (TARGET_AVX)))
16839 : return 9168; /* avx2_pbroadcastv32qi */
16840 : if (!(
16841 : #line 28661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16842 : (TARGET_AVX512BW) &&
16843 : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16844 : (TARGET_AVX512VL)))
16845 : return -1;
16846 : return 9300; /* avx512vl_vec_dupv32qi */
16847 :
16848 : case E_V32QImode:
16849 : if (!nonimmediate_operand (operands[1], E_V32QImode)
16850 : || !
16851 : #line 28220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16852 : (TARGET_AVX2))
16853 : return -1;
16854 : return 9183; /* avx2_pbroadcastv32qi_1 */
16855 :
16856 : default:
16857 : return -1;
16858 : }
16859 :
16860 : case E_V16QImode:
16861 : if (pattern934 (x2,
16862 : E_V16QImode,
16863 : E_QImode) != 0)
16864 : return -1;
16865 : if (
16866 : #line 28206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16867 : (TARGET_AVX2))
16868 : return 9169; /* avx2_pbroadcastv16qi */
16869 : if (!(
16870 : #line 28661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16871 : (TARGET_AVX512BW) &&
16872 : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16873 : (TARGET_AVX512VL)))
16874 : return -1;
16875 : return 9298; /* avx512vl_vec_dupv16qi */
16876 :
16877 : case E_V32HImode:
16878 : if (!register_operand (operands[0], E_V32HImode)
16879 : || GET_MODE (x2) != E_V32HImode
16880 : || GET_MODE (x3) != E_HImode)
16881 : return -1;
16882 : switch (GET_MODE (operands[1]))
16883 : {
16884 : case E_V8HImode:
16885 : if (!nonimmediate_operand (operands[1], E_V8HImode))
16886 : return -1;
16887 : if ((
16888 : #line 28206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16889 : (TARGET_AVX2) &&
16890 : #line 566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16891 : (TARGET_AVX512BW)))
16892 : return 9170; /* avx2_pbroadcastv32hi */
16893 : if (!
16894 : #line 28661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16895 : (TARGET_AVX512BW))
16896 : return -1;
16897 : return 9302; /* avx512bw_vec_dupv32hi */
16898 :
16899 : case E_V32HImode:
16900 : if (!nonimmediate_operand (operands[1], E_V32HImode)
16901 : || !(
16902 : #line 28628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16903 : (TARGET_AVX512F) &&
16904 : #line 968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16905 : (TARGET_AVX512BW)))
16906 : return -1;
16907 : return 9268; /* avx512bw_vec_dupv32hi_1 */
16908 :
16909 : default:
16910 : return -1;
16911 : }
16912 :
16913 : case E_V16HImode:
16914 : if (!register_operand (operands[0], E_V16HImode)
16915 : || GET_MODE (x2) != E_V16HImode
16916 : || GET_MODE (x3) != E_HImode)
16917 : return -1;
16918 : switch (GET_MODE (operands[1]))
16919 : {
16920 : case E_V8HImode:
16921 : if (!nonimmediate_operand (operands[1], E_V8HImode))
16922 : return -1;
16923 : if ((
16924 : #line 28206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16925 : (TARGET_AVX2) &&
16926 : #line 566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16927 : (TARGET_AVX)))
16928 : return 9171; /* avx2_pbroadcastv16hi */
16929 : if (!(
16930 : #line 28661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16931 : (TARGET_AVX512BW) &&
16932 : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16933 : (TARGET_AVX512VL)))
16934 : return -1;
16935 : return 9304; /* avx512vl_vec_dupv16hi */
16936 :
16937 : case E_V16HImode:
16938 : if (!nonimmediate_operand (operands[1], E_V16HImode)
16939 : || !
16940 : #line 28220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16941 : (TARGET_AVX2))
16942 : return -1;
16943 : return 9184; /* avx2_pbroadcastv16hi_1 */
16944 :
16945 : default:
16946 : return -1;
16947 : }
16948 :
16949 : case E_V8HImode:
16950 : if (pattern934 (x2,
16951 : E_V8HImode,
16952 : E_HImode) != 0)
16953 : return -1;
16954 : if (
16955 : #line 28206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16956 : (TARGET_AVX2))
16957 : return 9172; /* avx2_pbroadcastv8hi */
16958 : if (!(
16959 : #line 28661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16960 : (TARGET_AVX512BW) &&
16961 : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16962 : (TARGET_AVX512VL)))
16963 : return -1;
16964 : return 9306; /* avx512vl_vec_dupv8hi */
16965 :
16966 : case E_V8SImode:
16967 : if (!register_operand (operands[0], E_V8SImode)
16968 : || GET_MODE (x2) != E_V8SImode
16969 : || GET_MODE (x3) != E_SImode)
16970 : return -1;
16971 : switch (GET_MODE (operands[1]))
16972 : {
16973 : case E_V4SImode:
16974 : if (!nonimmediate_operand (operands[1], E_V4SImode))
16975 : return -1;
16976 : if ((
16977 : #line 28206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16978 : (TARGET_AVX2) &&
16979 : #line 567 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16980 : (TARGET_AVX)))
16981 : return 9173; /* avx2_pbroadcastv8si */
16982 : if (!(
16983 : #line 28642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16984 : (TARGET_AVX512F) &&
16985 : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16986 : (TARGET_AVX512VL)))
16987 : return -1;
16988 : return 9274; /* avx512vl_vec_dupv8si */
16989 :
16990 : case E_V8SImode:
16991 : if (!nonimmediate_operand (operands[1], E_V8SImode)
16992 : || !
16993 : #line 28220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16994 : (TARGET_AVX2))
16995 : return -1;
16996 : return 9185; /* avx2_pbroadcastv8si_1 */
16997 :
16998 : default:
16999 : return -1;
17000 : }
17001 :
17002 : case E_V4SImode:
17003 : if (pattern934 (x2,
17004 : E_V4SImode,
17005 : E_SImode) != 0)
17006 : return -1;
17007 : if (
17008 : #line 28206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17009 : (TARGET_AVX2))
17010 : return 9174; /* avx2_pbroadcastv4si */
17011 : if (!(
17012 : #line 28642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17013 : (TARGET_AVX512F) &&
17014 : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17015 : (TARGET_AVX512VL)))
17016 : return -1;
17017 : return 9276; /* avx512vl_vec_dupv4si */
17018 :
17019 : case E_V4DImode:
17020 : if (!register_operand (operands[0], E_V4DImode)
17021 : || GET_MODE (x2) != E_V4DImode
17022 : || GET_MODE (x3) != E_DImode)
17023 : return -1;
17024 : switch (GET_MODE (operands[1]))
17025 : {
17026 : case E_V2DImode:
17027 : if (!nonimmediate_operand (operands[1], E_V2DImode))
17028 : return -1;
17029 : if ((
17030 : #line 28206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17031 : (TARGET_AVX2) &&
17032 : #line 567 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17033 : (TARGET_AVX)))
17034 : return 9175; /* avx2_pbroadcastv4di */
17035 : if (!(
17036 : #line 28642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17037 : (TARGET_AVX512F) &&
17038 : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17039 : (TARGET_AVX512VL)))
17040 : return -1;
17041 : return 9280; /* avx512vl_vec_dupv4di */
17042 :
17043 : case E_V4DImode:
17044 : if (!nonimmediate_operand (operands[1], E_V4DImode)
17045 : || !
17046 : #line 28220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17047 : (TARGET_AVX2))
17048 : return -1;
17049 : return 9186; /* avx2_pbroadcastv4di_1 */
17050 :
17051 : default:
17052 : return -1;
17053 : }
17054 :
17055 : case E_V2DImode:
17056 : if (pattern934 (x2,
17057 : E_V2DImode,
17058 : E_DImode) != 0)
17059 : return -1;
17060 : if (
17061 : #line 28206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17062 : (TARGET_AVX2))
17063 : return 9176; /* avx2_pbroadcastv2di */
17064 : if (!(
17065 : #line 28642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17066 : (TARGET_AVX512F) &&
17067 : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17068 : (TARGET_AVX512VL)))
17069 : return -1;
17070 : return 9282; /* avx512vl_vec_dupv2di */
17071 :
17072 : case E_V32HFmode:
17073 : if (!register_operand (operands[0], E_V32HFmode)
17074 : || GET_MODE (x2) != E_V32HFmode
17075 : || GET_MODE (x3) != E_HFmode)
17076 : return -1;
17077 : switch (GET_MODE (operands[1]))
17078 : {
17079 : case E_V8HFmode:
17080 : if (!nonimmediate_operand (operands[1], E_V8HFmode))
17081 : return -1;
17082 : if ((
17083 : #line 28206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17084 : (TARGET_AVX2) &&
17085 : #line 568 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17086 : (TARGET_AVX512BW)))
17087 : return 9177; /* avx2_pbroadcastv32hf */
17088 : if (!
17089 : #line 28661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17090 : (TARGET_AVX512BW))
17091 : return -1;
17092 : return 9308; /* avx512bw_vec_dupv32hf */
17093 :
17094 : case E_V32HFmode:
17095 : if (!nonimmediate_operand (operands[1], E_V32HFmode)
17096 : || !(
17097 : #line 28628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17098 : (TARGET_AVX512F) &&
17099 : #line 969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17100 : (TARGET_AVX512BW)))
17101 : return -1;
17102 : return 9270; /* avx512bw_vec_dupv32hf_1 */
17103 :
17104 : default:
17105 : return -1;
17106 : }
17107 :
17108 : case E_V16HFmode:
17109 : if (!register_operand (operands[0], E_V16HFmode)
17110 : || GET_MODE (x2) != E_V16HFmode
17111 : || GET_MODE (x3) != E_HFmode)
17112 : return -1;
17113 : switch (GET_MODE (operands[1]))
17114 : {
17115 : case E_V8HFmode:
17116 : if (!nonimmediate_operand (operands[1], E_V8HFmode))
17117 : return -1;
17118 : if ((
17119 : #line 28206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17120 : (TARGET_AVX2) &&
17121 : #line 568 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17122 : (TARGET_AVX)))
17123 : return 9178; /* avx2_pbroadcastv16hf */
17124 : if (!(
17125 : #line 28661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17126 : (TARGET_AVX512BW) &&
17127 : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17128 : (TARGET_AVX512VL)))
17129 : return -1;
17130 : return 9310; /* avx512vl_vec_dupv16hf */
17131 :
17132 : case E_V16HFmode:
17133 : if (!nonimmediate_operand (operands[1], E_V16HFmode)
17134 : || !
17135 : #line 28220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17136 : (TARGET_AVX2))
17137 : return -1;
17138 : return 9187; /* avx2_pbroadcastv16hf_1 */
17139 :
17140 : default:
17141 : return -1;
17142 : }
17143 :
17144 : case E_V8HFmode:
17145 : if (pattern934 (x2,
17146 : E_V8HFmode,
17147 : E_HFmode) != 0)
17148 : return -1;
17149 : if (
17150 : #line 28206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17151 : (TARGET_AVX2))
17152 : return 9179; /* avx2_pbroadcastv8hf */
17153 : if (!(
17154 : #line 28661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17155 : (TARGET_AVX512BW) &&
17156 : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17157 : (TARGET_AVX512VL)))
17158 : return -1;
17159 : return 9312; /* avx512fp16_vec_dupv8hf */
17160 :
17161 : case E_V32BFmode:
17162 : if (!register_operand (operands[0], E_V32BFmode)
17163 : || GET_MODE (x2) != E_V32BFmode
17164 : || GET_MODE (x3) != E_BFmode)
17165 : return -1;
17166 : switch (GET_MODE (operands[1]))
17167 : {
17168 : case E_V8BFmode:
17169 : if (!nonimmediate_operand (operands[1], E_V8BFmode))
17170 : return -1;
17171 : if ((
17172 : #line 28206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17173 : (TARGET_AVX2) &&
17174 : #line 569 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17175 : (TARGET_AVX512BW)))
17176 : return 9180; /* avx2_pbroadcastv32bf */
17177 : if (!
17178 : #line 28661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17179 : (TARGET_AVX512BW))
17180 : return -1;
17181 : return 9314; /* avx512bw_vec_dupv32bf */
17182 :
17183 : case E_V32BFmode:
17184 : if (!nonimmediate_operand (operands[1], E_V32BFmode)
17185 : || !(
17186 : #line 28628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17187 : (TARGET_AVX512F) &&
17188 : #line 969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17189 : (TARGET_AVX512BW)))
17190 : return -1;
17191 : return 9271; /* avx512bw_vec_dupv32bf_1 */
17192 :
17193 : default:
17194 : return -1;
17195 : }
17196 :
17197 : case E_V16BFmode:
17198 : if (!register_operand (operands[0], E_V16BFmode)
17199 : || GET_MODE (x2) != E_V16BFmode
17200 : || GET_MODE (x3) != E_BFmode)
17201 : return -1;
17202 : switch (GET_MODE (operands[1]))
17203 : {
17204 : case E_V8BFmode:
17205 : if (!nonimmediate_operand (operands[1], E_V8BFmode))
17206 : return -1;
17207 : if ((
17208 : #line 28206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17209 : (TARGET_AVX2) &&
17210 : #line 569 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17211 : (TARGET_AVX)))
17212 : return 9181; /* avx2_pbroadcastv16bf */
17213 : if (!(
17214 : #line 28661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17215 : (TARGET_AVX512BW) &&
17216 : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17217 : (TARGET_AVX512VL)))
17218 : return -1;
17219 : return 9316; /* avx512vl_vec_dupv16bf */
17220 :
17221 : case E_V16BFmode:
17222 : if (!nonimmediate_operand (operands[1], E_V16BFmode)
17223 : || !
17224 : #line 28220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17225 : (TARGET_AVX2))
17226 : return -1;
17227 : return 9188; /* avx2_pbroadcastv16bf_1 */
17228 :
17229 : default:
17230 : return -1;
17231 : }
17232 :
17233 : case E_V8BFmode:
17234 : if (pattern934 (x2,
17235 : E_V8BFmode,
17236 : E_BFmode) != 0)
17237 : return -1;
17238 : if (
17239 : #line 28206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17240 : (TARGET_AVX2))
17241 : return 9182; /* avx2_pbroadcastv8bf */
17242 : if (!(
17243 : #line 28661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17244 : (TARGET_AVX512BW) &&
17245 : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17246 : (TARGET_AVX512VL)))
17247 : return -1;
17248 : return 9318; /* avx512vl_vec_dupv8bf */
17249 :
17250 : case E_V4DFmode:
17251 : if (!register_operand (operands[0], E_V4DFmode)
17252 : || GET_MODE (x2) != E_V4DFmode
17253 : || GET_MODE (x3) != E_DFmode)
17254 : return -1;
17255 : if (register_operand (operands[1], E_V2DFmode)
17256 : &&
17257 : #line 28616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17258 : (TARGET_AVX2))
17259 : return 9265; /* avx2_vec_dupv4df */
17260 : if (!nonimmediate_operand (operands[1], E_V2DFmode)
17261 : || !(
17262 : #line 28642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17263 : (TARGET_AVX512F) &&
17264 : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17265 : (TARGET_AVX512VL)))
17266 : return -1;
17267 : return 9292; /* avx512vl_vec_dupv4df */
17268 :
17269 : case E_V2DFmode:
17270 : if (pattern934 (x2,
17271 : E_V2DFmode,
17272 : E_DFmode) != 0
17273 : || !(
17274 : #line 28642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17275 : (TARGET_AVX512F) &&
17276 : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17277 : (TARGET_AVX512VL)))
17278 : return -1;
17279 : return 9294; /* avx512vl_vec_dupv2df */
17280 :
17281 : default:
17282 : return -1;
17283 : }
17284 :
17285 : case 2:
17286 : x6 = XVECEXP (x4, 0, 0);
17287 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
17288 : return -1;
17289 : x7 = XVECEXP (x4, 0, 1);
17290 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
17291 : return -1;
17292 : switch (GET_MODE (operands[0]))
17293 : {
17294 : case E_V16SImode:
17295 : if (pattern930 (x2,
17296 : E_V4SImode,
17297 : E_V2SImode,
17298 : E_V16SImode) != 0
17299 : || !
17300 : #line 28985 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17301 : (TARGET_AVX512DQ))
17302 : return -1;
17303 : return 9414; /* *avx512dq_broadcastv16si */
17304 :
17305 : case E_V8SImode:
17306 : if (pattern930 (x2,
17307 : E_V4SImode,
17308 : E_V2SImode,
17309 : E_V8SImode) != 0
17310 : || !(
17311 : #line 28985 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17312 : (TARGET_AVX512DQ) &&
17313 : #line 28969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17314 : (TARGET_AVX512VL)))
17315 : return -1;
17316 : return 9416; /* *avx512dq_broadcastv8si */
17317 :
17318 : case E_V4SImode:
17319 : if (pattern934 (x2,
17320 : E_V4SImode,
17321 : E_V2SImode) != 0
17322 : || !(
17323 : #line 28985 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17324 : (TARGET_AVX512DQ) &&
17325 : #line 28969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17326 : (TARGET_AVX512VL)))
17327 : return -1;
17328 : return 9418; /* *avx512dq_broadcastv4si */
17329 :
17330 : case E_V16SFmode:
17331 : if (pattern930 (x2,
17332 : E_V4SFmode,
17333 : E_V2SFmode,
17334 : E_V16SFmode) != 0
17335 : || !
17336 : #line 28985 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17337 : (TARGET_AVX512DQ))
17338 : return -1;
17339 : return 9420; /* *avx512dq_broadcastv16sf */
17340 :
17341 : case E_V8SFmode:
17342 : if (pattern930 (x2,
17343 : E_V4SFmode,
17344 : E_V2SFmode,
17345 : E_V8SFmode) != 0
17346 : || !(
17347 : #line 28985 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17348 : (TARGET_AVX512DQ) &&
17349 : #line 28970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17350 : (TARGET_AVX512VL)))
17351 : return -1;
17352 : return 9422; /* *avx512dq_broadcastv8sf */
17353 :
17354 : default:
17355 : return -1;
17356 : }
17357 :
17358 : default:
17359 : return -1;
17360 : }
17361 : }
17362 :
17363 : int
17364 : recog_314 (rtx x1 ATTRIBUTE_UNUSED,
17365 : rtx_insn *insn ATTRIBUTE_UNUSED,
17366 : int *pnum_clobbers ATTRIBUTE_UNUSED)
17367 : {
17368 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17369 : rtx x2, x3, x4;
17370 : int res ATTRIBUTE_UNUSED;
17371 : x2 = XEXP (x1, 1);
17372 : x3 = XEXP (x2, 0);
17373 : x4 = XEXP (x3, 0);
17374 : switch (GET_CODE (x4))
17375 : {
17376 : case REG:
17377 : case SUBREG:
17378 : case MEM:
17379 : case NOT:
17380 : switch (pattern543 (x2))
17381 : {
17382 : case 0:
17383 : if (!(
17384 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17385 : ((64 == 64 || TARGET_AVX512VL
17386 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17387 : && ix86_pre_reload_split ()
17388 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17389 : STRIP_UNARY (operands[4]))
17390 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17391 : STRIP_UNARY (operands[4]))
17392 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17393 : STRIP_UNARY (operands[3]))
17394 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17395 : STRIP_UNARY (operands[3])))) &&
17396 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17397 : (TARGET_AVX512F)))
17398 : return -1;
17399 : return 5877; /* *avx512bw_vpternlogv32hf_1 */
17400 :
17401 : case 1:
17402 : if (!(
17403 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17404 : ((32 == 64 || TARGET_AVX512VL
17405 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17406 : && ix86_pre_reload_split ()
17407 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17408 : STRIP_UNARY (operands[4]))
17409 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17410 : STRIP_UNARY (operands[4]))
17411 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17412 : STRIP_UNARY (operands[3]))
17413 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17414 : STRIP_UNARY (operands[3])))) &&
17415 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17416 : (TARGET_AVX)))
17417 : return -1;
17418 : return 5904; /* *avx512vl_vpternlogv16hf_1 */
17419 :
17420 : case 2:
17421 : if (!
17422 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17423 : ((16 == 64 || TARGET_AVX512VL
17424 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17425 : && ix86_pre_reload_split ()
17426 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17427 : STRIP_UNARY (operands[4]))
17428 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17429 : STRIP_UNARY (operands[4]))
17430 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17431 : STRIP_UNARY (operands[3]))
17432 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17433 : STRIP_UNARY (operands[3])))))
17434 : return -1;
17435 : return 5931; /* *avx512fp16_vpternlogv8hf_1 */
17436 :
17437 : case 3:
17438 : if (!(
17439 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17440 : ((64 == 64 || TARGET_AVX512VL
17441 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17442 : && ix86_pre_reload_split ()
17443 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17444 : STRIP_UNARY (operands[4]))
17445 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17446 : STRIP_UNARY (operands[4]))
17447 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17448 : STRIP_UNARY (operands[3]))
17449 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17450 : STRIP_UNARY (operands[3])))) &&
17451 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17452 : (TARGET_AVX512F)))
17453 : return -1;
17454 : return 5958; /* *avx512bw_vpternlogv32bf_1 */
17455 :
17456 : case 4:
17457 : if (!(
17458 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17459 : ((32 == 64 || TARGET_AVX512VL
17460 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17461 : && ix86_pre_reload_split ()
17462 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17463 : STRIP_UNARY (operands[4]))
17464 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17465 : STRIP_UNARY (operands[4]))
17466 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17467 : STRIP_UNARY (operands[3]))
17468 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17469 : STRIP_UNARY (operands[3])))) &&
17470 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17471 : (TARGET_AVX)))
17472 : return -1;
17473 : return 5985; /* *avx512vl_vpternlogv16bf_1 */
17474 :
17475 : case 5:
17476 : if (!
17477 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17478 : ((16 == 64 || TARGET_AVX512VL
17479 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17480 : && ix86_pre_reload_split ()
17481 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17482 : STRIP_UNARY (operands[4]))
17483 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17484 : STRIP_UNARY (operands[4]))
17485 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17486 : STRIP_UNARY (operands[3]))
17487 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17488 : STRIP_UNARY (operands[3])))))
17489 : return -1;
17490 : return 6012; /* *avx512vl_vpternlogv8bf_1 */
17491 :
17492 : case 6:
17493 : if (!(
17494 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17495 : ((64 == 64 || TARGET_AVX512VL
17496 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17497 : && ix86_pre_reload_split ()
17498 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17499 : STRIP_UNARY (operands[4]))
17500 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17501 : STRIP_UNARY (operands[4]))
17502 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17503 : STRIP_UNARY (operands[3]))
17504 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17505 : STRIP_UNARY (operands[3])))) &&
17506 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17507 : (TARGET_AVX512F)))
17508 : return -1;
17509 : return 6039; /* *avx512f_vpternlogv16sf_1 */
17510 :
17511 : case 7:
17512 : if (!(
17513 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17514 : ((32 == 64 || TARGET_AVX512VL
17515 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17516 : && ix86_pre_reload_split ()
17517 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17518 : STRIP_UNARY (operands[4]))
17519 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17520 : STRIP_UNARY (operands[4]))
17521 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17522 : STRIP_UNARY (operands[3]))
17523 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17524 : STRIP_UNARY (operands[3])))) &&
17525 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17526 : (TARGET_AVX)))
17527 : return -1;
17528 : return 6066; /* *avx512vl_vpternlogv8sf_1 */
17529 :
17530 : case 8:
17531 : if (!
17532 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17533 : ((16 == 64 || TARGET_AVX512VL
17534 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17535 : && ix86_pre_reload_split ()
17536 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17537 : STRIP_UNARY (operands[4]))
17538 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17539 : STRIP_UNARY (operands[4]))
17540 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17541 : STRIP_UNARY (operands[3]))
17542 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17543 : STRIP_UNARY (operands[3])))))
17544 : return -1;
17545 : return 6093; /* *avx512vl_vpternlogv4sf_1 */
17546 :
17547 : case 9:
17548 : if (!(
17549 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17550 : ((64 == 64 || TARGET_AVX512VL
17551 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17552 : && ix86_pre_reload_split ()
17553 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17554 : STRIP_UNARY (operands[4]))
17555 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17556 : STRIP_UNARY (operands[4]))
17557 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17558 : STRIP_UNARY (operands[3]))
17559 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17560 : STRIP_UNARY (operands[3])))) &&
17561 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17562 : (TARGET_AVX512F)))
17563 : return -1;
17564 : return 6120; /* *avx512f_vpternlogv8df_1 */
17565 :
17566 : case 10:
17567 : if (!(
17568 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17569 : ((32 == 64 || TARGET_AVX512VL
17570 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17571 : && ix86_pre_reload_split ()
17572 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17573 : STRIP_UNARY (operands[4]))
17574 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17575 : STRIP_UNARY (operands[4]))
17576 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17577 : STRIP_UNARY (operands[3]))
17578 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17579 : STRIP_UNARY (operands[3])))) &&
17580 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17581 : (TARGET_AVX)))
17582 : return -1;
17583 : return 6147; /* *avx512vl_vpternlogv4df_1 */
17584 :
17585 : case 11:
17586 : if (!(
17587 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17588 : ((16 == 64 || TARGET_AVX512VL
17589 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17590 : && ix86_pre_reload_split ()
17591 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17592 : STRIP_UNARY (operands[4]))
17593 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17594 : STRIP_UNARY (operands[4]))
17595 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17596 : STRIP_UNARY (operands[3]))
17597 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17598 : STRIP_UNARY (operands[3])))) &&
17599 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17600 : (TARGET_SSE2)))
17601 : return -1;
17602 : return 6174; /* *avx512vl_vpternlogv2df_1 */
17603 :
17604 : case 12:
17605 : if (!(
17606 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17607 : ((64 == 64 || TARGET_AVX512VL
17608 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17609 : && ix86_pre_reload_split ()
17610 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17611 : STRIP_UNARY (operands[4]))
17612 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17613 : STRIP_UNARY (operands[4]))
17614 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17615 : STRIP_UNARY (operands[3]))
17616 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17617 : STRIP_UNARY (operands[3])))) &&
17618 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17619 : (TARGET_AVX512F)))
17620 : return -1;
17621 : return 5880; /* *avx512bw_vpternlogv32hf_1 */
17622 :
17623 : case 13:
17624 : if (!(
17625 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17626 : ((32 == 64 || TARGET_AVX512VL
17627 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17628 : && ix86_pre_reload_split ()
17629 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17630 : STRIP_UNARY (operands[4]))
17631 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17632 : STRIP_UNARY (operands[4]))
17633 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17634 : STRIP_UNARY (operands[3]))
17635 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17636 : STRIP_UNARY (operands[3])))) &&
17637 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17638 : (TARGET_AVX)))
17639 : return -1;
17640 : return 5907; /* *avx512vl_vpternlogv16hf_1 */
17641 :
17642 : case 14:
17643 : if (!
17644 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17645 : ((16 == 64 || TARGET_AVX512VL
17646 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17647 : && ix86_pre_reload_split ()
17648 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17649 : STRIP_UNARY (operands[4]))
17650 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17651 : STRIP_UNARY (operands[4]))
17652 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17653 : STRIP_UNARY (operands[3]))
17654 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17655 : STRIP_UNARY (operands[3])))))
17656 : return -1;
17657 : return 5934; /* *avx512fp16_vpternlogv8hf_1 */
17658 :
17659 : case 15:
17660 : if (!(
17661 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17662 : ((64 == 64 || TARGET_AVX512VL
17663 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17664 : && ix86_pre_reload_split ()
17665 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17666 : STRIP_UNARY (operands[4]))
17667 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17668 : STRIP_UNARY (operands[4]))
17669 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17670 : STRIP_UNARY (operands[3]))
17671 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17672 : STRIP_UNARY (operands[3])))) &&
17673 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17674 : (TARGET_AVX512F)))
17675 : return -1;
17676 : return 5961; /* *avx512bw_vpternlogv32bf_1 */
17677 :
17678 : case 16:
17679 : if (!(
17680 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17681 : ((32 == 64 || TARGET_AVX512VL
17682 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17683 : && ix86_pre_reload_split ()
17684 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17685 : STRIP_UNARY (operands[4]))
17686 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17687 : STRIP_UNARY (operands[4]))
17688 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17689 : STRIP_UNARY (operands[3]))
17690 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17691 : STRIP_UNARY (operands[3])))) &&
17692 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17693 : (TARGET_AVX)))
17694 : return -1;
17695 : return 5988; /* *avx512vl_vpternlogv16bf_1 */
17696 :
17697 : case 17:
17698 : if (!
17699 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17700 : ((16 == 64 || TARGET_AVX512VL
17701 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17702 : && ix86_pre_reload_split ()
17703 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17704 : STRIP_UNARY (operands[4]))
17705 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17706 : STRIP_UNARY (operands[4]))
17707 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17708 : STRIP_UNARY (operands[3]))
17709 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17710 : STRIP_UNARY (operands[3])))))
17711 : return -1;
17712 : return 6015; /* *avx512vl_vpternlogv8bf_1 */
17713 :
17714 : case 18:
17715 : if (!(
17716 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17717 : ((64 == 64 || TARGET_AVX512VL
17718 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17719 : && ix86_pre_reload_split ()
17720 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17721 : STRIP_UNARY (operands[4]))
17722 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17723 : STRIP_UNARY (operands[4]))
17724 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17725 : STRIP_UNARY (operands[3]))
17726 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17727 : STRIP_UNARY (operands[3])))) &&
17728 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17729 : (TARGET_AVX512F)))
17730 : return -1;
17731 : return 6042; /* *avx512f_vpternlogv16sf_1 */
17732 :
17733 : case 19:
17734 : if (!(
17735 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17736 : ((32 == 64 || TARGET_AVX512VL
17737 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17738 : && ix86_pre_reload_split ()
17739 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17740 : STRIP_UNARY (operands[4]))
17741 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17742 : STRIP_UNARY (operands[4]))
17743 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17744 : STRIP_UNARY (operands[3]))
17745 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17746 : STRIP_UNARY (operands[3])))) &&
17747 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17748 : (TARGET_AVX)))
17749 : return -1;
17750 : return 6069; /* *avx512vl_vpternlogv8sf_1 */
17751 :
17752 : case 20:
17753 : if (!
17754 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17755 : ((16 == 64 || TARGET_AVX512VL
17756 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17757 : && ix86_pre_reload_split ()
17758 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17759 : STRIP_UNARY (operands[4]))
17760 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17761 : STRIP_UNARY (operands[4]))
17762 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17763 : STRIP_UNARY (operands[3]))
17764 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17765 : STRIP_UNARY (operands[3])))))
17766 : return -1;
17767 : return 6096; /* *avx512vl_vpternlogv4sf_1 */
17768 :
17769 : case 21:
17770 : if (!(
17771 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17772 : ((64 == 64 || TARGET_AVX512VL
17773 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17774 : && ix86_pre_reload_split ()
17775 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17776 : STRIP_UNARY (operands[4]))
17777 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17778 : STRIP_UNARY (operands[4]))
17779 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17780 : STRIP_UNARY (operands[3]))
17781 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17782 : STRIP_UNARY (operands[3])))) &&
17783 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17784 : (TARGET_AVX512F)))
17785 : return -1;
17786 : return 6123; /* *avx512f_vpternlogv8df_1 */
17787 :
17788 : case 22:
17789 : if (!(
17790 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17791 : ((32 == 64 || TARGET_AVX512VL
17792 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17793 : && ix86_pre_reload_split ()
17794 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17795 : STRIP_UNARY (operands[4]))
17796 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17797 : STRIP_UNARY (operands[4]))
17798 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17799 : STRIP_UNARY (operands[3]))
17800 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17801 : STRIP_UNARY (operands[3])))) &&
17802 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17803 : (TARGET_AVX)))
17804 : return -1;
17805 : return 6150; /* *avx512vl_vpternlogv4df_1 */
17806 :
17807 : case 23:
17808 : if (!(
17809 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17810 : ((16 == 64 || TARGET_AVX512VL
17811 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17812 : && ix86_pre_reload_split ()
17813 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17814 : STRIP_UNARY (operands[4]))
17815 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17816 : STRIP_UNARY (operands[4]))
17817 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17818 : STRIP_UNARY (operands[3]))
17819 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17820 : STRIP_UNARY (operands[3])))) &&
17821 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17822 : (TARGET_SSE2)))
17823 : return -1;
17824 : return 6177; /* *avx512vl_vpternlogv2df_1 */
17825 :
17826 : case 24:
17827 : if (!(
17828 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17829 : ((64 == 64 || TARGET_AVX512VL
17830 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17831 : && ix86_pre_reload_split ()
17832 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17833 : STRIP_UNARY (operands[4]))
17834 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17835 : STRIP_UNARY (operands[4]))
17836 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17837 : STRIP_UNARY (operands[3]))
17838 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17839 : STRIP_UNARY (operands[3])))) &&
17840 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17841 : (TARGET_AVX512F)))
17842 : return -1;
17843 : return 5883; /* *avx512bw_vpternlogv32hf_1 */
17844 :
17845 : case 25:
17846 : if (!(
17847 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17848 : ((32 == 64 || TARGET_AVX512VL
17849 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17850 : && ix86_pre_reload_split ()
17851 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17852 : STRIP_UNARY (operands[4]))
17853 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17854 : STRIP_UNARY (operands[4]))
17855 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17856 : STRIP_UNARY (operands[3]))
17857 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17858 : STRIP_UNARY (operands[3])))) &&
17859 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17860 : (TARGET_AVX)))
17861 : return -1;
17862 : return 5910; /* *avx512vl_vpternlogv16hf_1 */
17863 :
17864 : case 26:
17865 : if (!
17866 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17867 : ((16 == 64 || TARGET_AVX512VL
17868 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17869 : && ix86_pre_reload_split ()
17870 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17871 : STRIP_UNARY (operands[4]))
17872 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17873 : STRIP_UNARY (operands[4]))
17874 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17875 : STRIP_UNARY (operands[3]))
17876 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17877 : STRIP_UNARY (operands[3])))))
17878 : return -1;
17879 : return 5937; /* *avx512fp16_vpternlogv8hf_1 */
17880 :
17881 : case 27:
17882 : if (!(
17883 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17884 : ((64 == 64 || TARGET_AVX512VL
17885 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17886 : && ix86_pre_reload_split ()
17887 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17888 : STRIP_UNARY (operands[4]))
17889 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17890 : STRIP_UNARY (operands[4]))
17891 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17892 : STRIP_UNARY (operands[3]))
17893 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17894 : STRIP_UNARY (operands[3])))) &&
17895 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17896 : (TARGET_AVX512F)))
17897 : return -1;
17898 : return 5964; /* *avx512bw_vpternlogv32bf_1 */
17899 :
17900 : case 28:
17901 : if (!(
17902 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17903 : ((32 == 64 || TARGET_AVX512VL
17904 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17905 : && ix86_pre_reload_split ()
17906 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17907 : STRIP_UNARY (operands[4]))
17908 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17909 : STRIP_UNARY (operands[4]))
17910 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17911 : STRIP_UNARY (operands[3]))
17912 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17913 : STRIP_UNARY (operands[3])))) &&
17914 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17915 : (TARGET_AVX)))
17916 : return -1;
17917 : return 5991; /* *avx512vl_vpternlogv16bf_1 */
17918 :
17919 : case 29:
17920 : if (!
17921 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17922 : ((16 == 64 || TARGET_AVX512VL
17923 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17924 : && ix86_pre_reload_split ()
17925 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17926 : STRIP_UNARY (operands[4]))
17927 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17928 : STRIP_UNARY (operands[4]))
17929 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17930 : STRIP_UNARY (operands[3]))
17931 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17932 : STRIP_UNARY (operands[3])))))
17933 : return -1;
17934 : return 6018; /* *avx512vl_vpternlogv8bf_1 */
17935 :
17936 : case 30:
17937 : if (!(
17938 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17939 : ((64 == 64 || TARGET_AVX512VL
17940 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17941 : && ix86_pre_reload_split ()
17942 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17943 : STRIP_UNARY (operands[4]))
17944 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17945 : STRIP_UNARY (operands[4]))
17946 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17947 : STRIP_UNARY (operands[3]))
17948 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17949 : STRIP_UNARY (operands[3])))) &&
17950 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17951 : (TARGET_AVX512F)))
17952 : return -1;
17953 : return 6045; /* *avx512f_vpternlogv16sf_1 */
17954 :
17955 : case 31:
17956 : if (!(
17957 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17958 : ((32 == 64 || TARGET_AVX512VL
17959 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17960 : && ix86_pre_reload_split ()
17961 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17962 : STRIP_UNARY (operands[4]))
17963 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17964 : STRIP_UNARY (operands[4]))
17965 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17966 : STRIP_UNARY (operands[3]))
17967 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17968 : STRIP_UNARY (operands[3])))) &&
17969 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17970 : (TARGET_AVX)))
17971 : return -1;
17972 : return 6072; /* *avx512vl_vpternlogv8sf_1 */
17973 :
17974 : case 32:
17975 : if (!
17976 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17977 : ((16 == 64 || TARGET_AVX512VL
17978 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17979 : && ix86_pre_reload_split ()
17980 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17981 : STRIP_UNARY (operands[4]))
17982 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17983 : STRIP_UNARY (operands[4]))
17984 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17985 : STRIP_UNARY (operands[3]))
17986 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17987 : STRIP_UNARY (operands[3])))))
17988 : return -1;
17989 : return 6099; /* *avx512vl_vpternlogv4sf_1 */
17990 :
17991 : case 33:
17992 : if (!(
17993 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17994 : ((64 == 64 || TARGET_AVX512VL
17995 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17996 : && ix86_pre_reload_split ()
17997 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17998 : STRIP_UNARY (operands[4]))
17999 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18000 : STRIP_UNARY (operands[4]))
18001 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18002 : STRIP_UNARY (operands[3]))
18003 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18004 : STRIP_UNARY (operands[3])))) &&
18005 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18006 : (TARGET_AVX512F)))
18007 : return -1;
18008 : return 6126; /* *avx512f_vpternlogv8df_1 */
18009 :
18010 : case 34:
18011 : if (!(
18012 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18013 : ((32 == 64 || TARGET_AVX512VL
18014 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18015 : && ix86_pre_reload_split ()
18016 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18017 : STRIP_UNARY (operands[4]))
18018 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18019 : STRIP_UNARY (operands[4]))
18020 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18021 : STRIP_UNARY (operands[3]))
18022 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18023 : STRIP_UNARY (operands[3])))) &&
18024 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18025 : (TARGET_AVX)))
18026 : return -1;
18027 : return 6153; /* *avx512vl_vpternlogv4df_1 */
18028 :
18029 : case 35:
18030 : if (!(
18031 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18032 : ((16 == 64 || TARGET_AVX512VL
18033 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18034 : && ix86_pre_reload_split ()
18035 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18036 : STRIP_UNARY (operands[4]))
18037 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18038 : STRIP_UNARY (operands[4]))
18039 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18040 : STRIP_UNARY (operands[3]))
18041 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18042 : STRIP_UNARY (operands[3])))) &&
18043 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18044 : (TARGET_SSE2)))
18045 : return -1;
18046 : return 6180; /* *avx512vl_vpternlogv2df_1 */
18047 :
18048 : case 36:
18049 : if (!(
18050 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18051 : ((64 == 64 || TARGET_AVX512VL
18052 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18053 : && ix86_pre_reload_split ()) &&
18054 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18055 : (TARGET_AVX512F)))
18056 : return -1;
18057 : return 6945; /* *avx512bw_vpternlogv32hf_3 */
18058 :
18059 : case 37:
18060 : if (!(
18061 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18062 : ((32 == 64 || TARGET_AVX512VL
18063 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18064 : && ix86_pre_reload_split ()) &&
18065 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18066 : (TARGET_AVX)))
18067 : return -1;
18068 : return 6954; /* *avx512vl_vpternlogv16hf_3 */
18069 :
18070 : case 38:
18071 : if (!
18072 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18073 : ((16 == 64 || TARGET_AVX512VL
18074 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18075 : && ix86_pre_reload_split ()))
18076 : return -1;
18077 : return 6963; /* *avx512fp16_vpternlogv8hf_3 */
18078 :
18079 : case 39:
18080 : if (!(
18081 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18082 : ((64 == 64 || TARGET_AVX512VL
18083 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18084 : && ix86_pre_reload_split ()) &&
18085 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18086 : (TARGET_AVX512F)))
18087 : return -1;
18088 : return 6972; /* *avx512bw_vpternlogv32bf_3 */
18089 :
18090 : case 40:
18091 : if (!(
18092 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18093 : ((32 == 64 || TARGET_AVX512VL
18094 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18095 : && ix86_pre_reload_split ()) &&
18096 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18097 : (TARGET_AVX)))
18098 : return -1;
18099 : return 6981; /* *avx512vl_vpternlogv16bf_3 */
18100 :
18101 : case 41:
18102 : if (!
18103 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18104 : ((16 == 64 || TARGET_AVX512VL
18105 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18106 : && ix86_pre_reload_split ()))
18107 : return -1;
18108 : return 6990; /* *avx512vl_vpternlogv8bf_3 */
18109 :
18110 : case 42:
18111 : if (!(
18112 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18113 : ((64 == 64 || TARGET_AVX512VL
18114 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18115 : && ix86_pre_reload_split ()) &&
18116 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18117 : (TARGET_AVX512F)))
18118 : return -1;
18119 : return 6999; /* *avx512f_vpternlogv16sf_3 */
18120 :
18121 : case 43:
18122 : if (!(
18123 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18124 : ((32 == 64 || TARGET_AVX512VL
18125 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18126 : && ix86_pre_reload_split ()) &&
18127 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18128 : (TARGET_AVX)))
18129 : return -1;
18130 : return 7008; /* *avx512vl_vpternlogv8sf_3 */
18131 :
18132 : case 44:
18133 : if (!
18134 : #line 14330 "/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 : return -1;
18139 : return 7017; /* *avx512vl_vpternlogv4sf_3 */
18140 :
18141 : case 45:
18142 : if (!(
18143 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18144 : ((64 == 64 || TARGET_AVX512VL
18145 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18146 : && ix86_pre_reload_split ()) &&
18147 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18148 : (TARGET_AVX512F)))
18149 : return -1;
18150 : return 7026; /* *avx512f_vpternlogv8df_3 */
18151 :
18152 : case 46:
18153 : if (!(
18154 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18155 : ((32 == 64 || TARGET_AVX512VL
18156 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18157 : && ix86_pre_reload_split ()) &&
18158 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18159 : (TARGET_AVX)))
18160 : return -1;
18161 : return 7035; /* *avx512vl_vpternlogv4df_3 */
18162 :
18163 : case 47:
18164 : if (!(
18165 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18166 : ((16 == 64 || TARGET_AVX512VL
18167 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18168 : && ix86_pre_reload_split ()) &&
18169 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18170 : (TARGET_SSE2)))
18171 : return -1;
18172 : return 7044; /* *avx512vl_vpternlogv2df_3 */
18173 :
18174 : default:
18175 : return -1;
18176 : }
18177 :
18178 : case AND:
18179 : switch (pattern544 (x2))
18180 : {
18181 : case 0:
18182 : if (!(
18183 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18184 : ((64 == 64 || TARGET_AVX512VL
18185 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18186 : && ix86_pre_reload_split ()
18187 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18188 : STRIP_UNARY (operands[4]))
18189 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18190 : STRIP_UNARY (operands[4]))
18191 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18192 : STRIP_UNARY (operands[3]))
18193 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18194 : STRIP_UNARY (operands[3])))) &&
18195 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18196 : (TARGET_AVX512F)))
18197 : return -1;
18198 : return 6525; /* *avx512bw_vpternlogv32hf_2 */
18199 :
18200 : case 1:
18201 : if (!(
18202 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18203 : ((32 == 64 || TARGET_AVX512VL
18204 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18205 : && ix86_pre_reload_split ()
18206 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18207 : STRIP_UNARY (operands[4]))
18208 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18209 : STRIP_UNARY (operands[4]))
18210 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18211 : STRIP_UNARY (operands[3]))
18212 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18213 : STRIP_UNARY (operands[3])))) &&
18214 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18215 : (TARGET_AVX)))
18216 : return -1;
18217 : return 6552; /* *avx512vl_vpternlogv16hf_2 */
18218 :
18219 : case 2:
18220 : if (!
18221 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18222 : ((16 == 64 || TARGET_AVX512VL
18223 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18224 : && ix86_pre_reload_split ()
18225 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18226 : STRIP_UNARY (operands[4]))
18227 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18228 : STRIP_UNARY (operands[4]))
18229 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18230 : STRIP_UNARY (operands[3]))
18231 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18232 : STRIP_UNARY (operands[3])))))
18233 : return -1;
18234 : return 6579; /* *avx512fp16_vpternlogv8hf_2 */
18235 :
18236 : case 3:
18237 : if (!(
18238 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18239 : ((64 == 64 || TARGET_AVX512VL
18240 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18241 : && ix86_pre_reload_split ()
18242 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18243 : STRIP_UNARY (operands[4]))
18244 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18245 : STRIP_UNARY (operands[4]))
18246 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18247 : STRIP_UNARY (operands[3]))
18248 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18249 : STRIP_UNARY (operands[3])))) &&
18250 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18251 : (TARGET_AVX512F)))
18252 : return -1;
18253 : return 6606; /* *avx512bw_vpternlogv32bf_2 */
18254 :
18255 : case 4:
18256 : if (!(
18257 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18258 : ((32 == 64 || TARGET_AVX512VL
18259 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18260 : && ix86_pre_reload_split ()
18261 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18262 : STRIP_UNARY (operands[4]))
18263 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18264 : STRIP_UNARY (operands[4]))
18265 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18266 : STRIP_UNARY (operands[3]))
18267 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18268 : STRIP_UNARY (operands[3])))) &&
18269 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18270 : (TARGET_AVX)))
18271 : return -1;
18272 : return 6633; /* *avx512vl_vpternlogv16bf_2 */
18273 :
18274 : case 5:
18275 : if (!
18276 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18277 : ((16 == 64 || TARGET_AVX512VL
18278 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18279 : && ix86_pre_reload_split ()
18280 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18281 : STRIP_UNARY (operands[4]))
18282 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18283 : STRIP_UNARY (operands[4]))
18284 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18285 : STRIP_UNARY (operands[3]))
18286 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18287 : STRIP_UNARY (operands[3])))))
18288 : return -1;
18289 : return 6660; /* *avx512vl_vpternlogv8bf_2 */
18290 :
18291 : case 6:
18292 : if (!(
18293 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18294 : ((64 == 64 || TARGET_AVX512VL
18295 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18296 : && ix86_pre_reload_split ()
18297 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18298 : STRIP_UNARY (operands[4]))
18299 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18300 : STRIP_UNARY (operands[4]))
18301 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18302 : STRIP_UNARY (operands[3]))
18303 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18304 : STRIP_UNARY (operands[3])))) &&
18305 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18306 : (TARGET_AVX512F)))
18307 : return -1;
18308 : return 6687; /* *avx512f_vpternlogv16sf_2 */
18309 :
18310 : case 7:
18311 : if (!(
18312 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18313 : ((32 == 64 || TARGET_AVX512VL
18314 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18315 : && ix86_pre_reload_split ()
18316 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18317 : STRIP_UNARY (operands[4]))
18318 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18319 : STRIP_UNARY (operands[4]))
18320 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18321 : STRIP_UNARY (operands[3]))
18322 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18323 : STRIP_UNARY (operands[3])))) &&
18324 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18325 : (TARGET_AVX)))
18326 : return -1;
18327 : return 6714; /* *avx512vl_vpternlogv8sf_2 */
18328 :
18329 : case 8:
18330 : if (!
18331 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18332 : ((16 == 64 || TARGET_AVX512VL
18333 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18334 : && ix86_pre_reload_split ()
18335 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18336 : STRIP_UNARY (operands[4]))
18337 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18338 : STRIP_UNARY (operands[4]))
18339 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18340 : STRIP_UNARY (operands[3]))
18341 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18342 : STRIP_UNARY (operands[3])))))
18343 : return -1;
18344 : return 6741; /* *avx512vl_vpternlogv4sf_2 */
18345 :
18346 : case 9:
18347 : if (!(
18348 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18349 : ((64 == 64 || TARGET_AVX512VL
18350 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18351 : && ix86_pre_reload_split ()
18352 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18353 : STRIP_UNARY (operands[4]))
18354 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18355 : STRIP_UNARY (operands[4]))
18356 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18357 : STRIP_UNARY (operands[3]))
18358 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18359 : STRIP_UNARY (operands[3])))) &&
18360 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18361 : (TARGET_AVX512F)))
18362 : return -1;
18363 : return 6768; /* *avx512f_vpternlogv8df_2 */
18364 :
18365 : case 10:
18366 : if (!(
18367 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18368 : ((32 == 64 || TARGET_AVX512VL
18369 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18370 : && ix86_pre_reload_split ()
18371 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18372 : STRIP_UNARY (operands[4]))
18373 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18374 : STRIP_UNARY (operands[4]))
18375 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18376 : STRIP_UNARY (operands[3]))
18377 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18378 : STRIP_UNARY (operands[3])))) &&
18379 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18380 : (TARGET_AVX)))
18381 : return -1;
18382 : return 6795; /* *avx512vl_vpternlogv4df_2 */
18383 :
18384 : case 11:
18385 : if (!(
18386 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18387 : ((16 == 64 || TARGET_AVX512VL
18388 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18389 : && ix86_pre_reload_split ()
18390 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18391 : STRIP_UNARY (operands[4]))
18392 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18393 : STRIP_UNARY (operands[4]))
18394 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18395 : STRIP_UNARY (operands[3]))
18396 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18397 : STRIP_UNARY (operands[3])))) &&
18398 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18399 : (TARGET_SSE2)))
18400 : return -1;
18401 : return 6822; /* *avx512vl_vpternlogv2df_2 */
18402 :
18403 : default:
18404 : return -1;
18405 : }
18406 :
18407 : case IOR:
18408 : switch (pattern544 (x2))
18409 : {
18410 : case 0:
18411 : if (!(
18412 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18413 : ((64 == 64 || TARGET_AVX512VL
18414 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18415 : && ix86_pre_reload_split ()
18416 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18417 : STRIP_UNARY (operands[4]))
18418 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18419 : STRIP_UNARY (operands[4]))
18420 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18421 : STRIP_UNARY (operands[3]))
18422 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18423 : STRIP_UNARY (operands[3])))) &&
18424 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18425 : (TARGET_AVX512F)))
18426 : return -1;
18427 : return 6528; /* *avx512bw_vpternlogv32hf_2 */
18428 :
18429 : case 1:
18430 : if (!(
18431 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18432 : ((32 == 64 || TARGET_AVX512VL
18433 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18434 : && ix86_pre_reload_split ()
18435 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18436 : STRIP_UNARY (operands[4]))
18437 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18438 : STRIP_UNARY (operands[4]))
18439 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18440 : STRIP_UNARY (operands[3]))
18441 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18442 : STRIP_UNARY (operands[3])))) &&
18443 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18444 : (TARGET_AVX)))
18445 : return -1;
18446 : return 6555; /* *avx512vl_vpternlogv16hf_2 */
18447 :
18448 : case 2:
18449 : if (!
18450 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18451 : ((16 == 64 || TARGET_AVX512VL
18452 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18453 : && ix86_pre_reload_split ()
18454 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18455 : STRIP_UNARY (operands[4]))
18456 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18457 : STRIP_UNARY (operands[4]))
18458 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18459 : STRIP_UNARY (operands[3]))
18460 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18461 : STRIP_UNARY (operands[3])))))
18462 : return -1;
18463 : return 6582; /* *avx512fp16_vpternlogv8hf_2 */
18464 :
18465 : case 3:
18466 : if (!(
18467 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18468 : ((64 == 64 || TARGET_AVX512VL
18469 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18470 : && ix86_pre_reload_split ()
18471 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18472 : STRIP_UNARY (operands[4]))
18473 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18474 : STRIP_UNARY (operands[4]))
18475 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18476 : STRIP_UNARY (operands[3]))
18477 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18478 : STRIP_UNARY (operands[3])))) &&
18479 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18480 : (TARGET_AVX512F)))
18481 : return -1;
18482 : return 6609; /* *avx512bw_vpternlogv32bf_2 */
18483 :
18484 : case 4:
18485 : if (!(
18486 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18487 : ((32 == 64 || TARGET_AVX512VL
18488 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18489 : && ix86_pre_reload_split ()
18490 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18491 : STRIP_UNARY (operands[4]))
18492 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18493 : STRIP_UNARY (operands[4]))
18494 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18495 : STRIP_UNARY (operands[3]))
18496 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18497 : STRIP_UNARY (operands[3])))) &&
18498 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18499 : (TARGET_AVX)))
18500 : return -1;
18501 : return 6636; /* *avx512vl_vpternlogv16bf_2 */
18502 :
18503 : case 5:
18504 : if (!
18505 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18506 : ((16 == 64 || TARGET_AVX512VL
18507 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18508 : && ix86_pre_reload_split ()
18509 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18510 : STRIP_UNARY (operands[4]))
18511 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18512 : STRIP_UNARY (operands[4]))
18513 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18514 : STRIP_UNARY (operands[3]))
18515 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18516 : STRIP_UNARY (operands[3])))))
18517 : return -1;
18518 : return 6663; /* *avx512vl_vpternlogv8bf_2 */
18519 :
18520 : case 6:
18521 : if (!(
18522 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18523 : ((64 == 64 || TARGET_AVX512VL
18524 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18525 : && ix86_pre_reload_split ()
18526 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18527 : STRIP_UNARY (operands[4]))
18528 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18529 : STRIP_UNARY (operands[4]))
18530 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18531 : STRIP_UNARY (operands[3]))
18532 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18533 : STRIP_UNARY (operands[3])))) &&
18534 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18535 : (TARGET_AVX512F)))
18536 : return -1;
18537 : return 6690; /* *avx512f_vpternlogv16sf_2 */
18538 :
18539 : case 7:
18540 : if (!(
18541 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18542 : ((32 == 64 || TARGET_AVX512VL
18543 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18544 : && ix86_pre_reload_split ()
18545 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18546 : STRIP_UNARY (operands[4]))
18547 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18548 : STRIP_UNARY (operands[4]))
18549 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18550 : STRIP_UNARY (operands[3]))
18551 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18552 : STRIP_UNARY (operands[3])))) &&
18553 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18554 : (TARGET_AVX)))
18555 : return -1;
18556 : return 6717; /* *avx512vl_vpternlogv8sf_2 */
18557 :
18558 : case 8:
18559 : if (!
18560 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18561 : ((16 == 64 || TARGET_AVX512VL
18562 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18563 : && ix86_pre_reload_split ()
18564 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18565 : STRIP_UNARY (operands[4]))
18566 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18567 : STRIP_UNARY (operands[4]))
18568 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18569 : STRIP_UNARY (operands[3]))
18570 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18571 : STRIP_UNARY (operands[3])))))
18572 : return -1;
18573 : return 6744; /* *avx512vl_vpternlogv4sf_2 */
18574 :
18575 : case 9:
18576 : if (!(
18577 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18578 : ((64 == 64 || TARGET_AVX512VL
18579 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18580 : && ix86_pre_reload_split ()
18581 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18582 : STRIP_UNARY (operands[4]))
18583 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18584 : STRIP_UNARY (operands[4]))
18585 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18586 : STRIP_UNARY (operands[3]))
18587 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18588 : STRIP_UNARY (operands[3])))) &&
18589 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18590 : (TARGET_AVX512F)))
18591 : return -1;
18592 : return 6771; /* *avx512f_vpternlogv8df_2 */
18593 :
18594 : case 10:
18595 : if (!(
18596 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18597 : ((32 == 64 || TARGET_AVX512VL
18598 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18599 : && ix86_pre_reload_split ()
18600 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18601 : STRIP_UNARY (operands[4]))
18602 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18603 : STRIP_UNARY (operands[4]))
18604 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18605 : STRIP_UNARY (operands[3]))
18606 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18607 : STRIP_UNARY (operands[3])))) &&
18608 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18609 : (TARGET_AVX)))
18610 : return -1;
18611 : return 6798; /* *avx512vl_vpternlogv4df_2 */
18612 :
18613 : case 11:
18614 : if (!(
18615 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18616 : ((16 == 64 || TARGET_AVX512VL
18617 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18618 : && ix86_pre_reload_split ()
18619 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18620 : STRIP_UNARY (operands[4]))
18621 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18622 : STRIP_UNARY (operands[4]))
18623 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18624 : STRIP_UNARY (operands[3]))
18625 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18626 : STRIP_UNARY (operands[3])))) &&
18627 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18628 : (TARGET_SSE2)))
18629 : return -1;
18630 : return 6825; /* *avx512vl_vpternlogv2df_2 */
18631 :
18632 : default:
18633 : return -1;
18634 : }
18635 :
18636 : case XOR:
18637 : switch (pattern544 (x2))
18638 : {
18639 : case 0:
18640 : if (!(
18641 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18642 : ((64 == 64 || TARGET_AVX512VL
18643 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18644 : && ix86_pre_reload_split ()
18645 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18646 : STRIP_UNARY (operands[4]))
18647 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18648 : STRIP_UNARY (operands[4]))
18649 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18650 : STRIP_UNARY (operands[3]))
18651 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18652 : STRIP_UNARY (operands[3])))) &&
18653 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18654 : (TARGET_AVX512F)))
18655 : return -1;
18656 : return 6531; /* *avx512bw_vpternlogv32hf_2 */
18657 :
18658 : case 1:
18659 : if (!(
18660 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18661 : ((32 == 64 || TARGET_AVX512VL
18662 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18663 : && ix86_pre_reload_split ()
18664 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18665 : STRIP_UNARY (operands[4]))
18666 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18667 : STRIP_UNARY (operands[4]))
18668 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18669 : STRIP_UNARY (operands[3]))
18670 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18671 : STRIP_UNARY (operands[3])))) &&
18672 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18673 : (TARGET_AVX)))
18674 : return -1;
18675 : return 6558; /* *avx512vl_vpternlogv16hf_2 */
18676 :
18677 : case 2:
18678 : if (!
18679 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18680 : ((16 == 64 || TARGET_AVX512VL
18681 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18682 : && ix86_pre_reload_split ()
18683 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18684 : STRIP_UNARY (operands[4]))
18685 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18686 : STRIP_UNARY (operands[4]))
18687 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18688 : STRIP_UNARY (operands[3]))
18689 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18690 : STRIP_UNARY (operands[3])))))
18691 : return -1;
18692 : return 6585; /* *avx512fp16_vpternlogv8hf_2 */
18693 :
18694 : case 3:
18695 : if (!(
18696 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18697 : ((64 == 64 || TARGET_AVX512VL
18698 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18699 : && ix86_pre_reload_split ()
18700 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18701 : STRIP_UNARY (operands[4]))
18702 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18703 : STRIP_UNARY (operands[4]))
18704 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18705 : STRIP_UNARY (operands[3]))
18706 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18707 : STRIP_UNARY (operands[3])))) &&
18708 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18709 : (TARGET_AVX512F)))
18710 : return -1;
18711 : return 6612; /* *avx512bw_vpternlogv32bf_2 */
18712 :
18713 : case 4:
18714 : if (!(
18715 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18716 : ((32 == 64 || TARGET_AVX512VL
18717 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18718 : && ix86_pre_reload_split ()
18719 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18720 : STRIP_UNARY (operands[4]))
18721 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18722 : STRIP_UNARY (operands[4]))
18723 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18724 : STRIP_UNARY (operands[3]))
18725 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18726 : STRIP_UNARY (operands[3])))) &&
18727 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18728 : (TARGET_AVX)))
18729 : return -1;
18730 : return 6639; /* *avx512vl_vpternlogv16bf_2 */
18731 :
18732 : case 5:
18733 : if (!
18734 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18735 : ((16 == 64 || TARGET_AVX512VL
18736 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18737 : && ix86_pre_reload_split ()
18738 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18739 : STRIP_UNARY (operands[4]))
18740 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18741 : STRIP_UNARY (operands[4]))
18742 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18743 : STRIP_UNARY (operands[3]))
18744 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18745 : STRIP_UNARY (operands[3])))))
18746 : return -1;
18747 : return 6666; /* *avx512vl_vpternlogv8bf_2 */
18748 :
18749 : case 6:
18750 : if (!(
18751 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18752 : ((64 == 64 || TARGET_AVX512VL
18753 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18754 : && ix86_pre_reload_split ()
18755 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18756 : STRIP_UNARY (operands[4]))
18757 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18758 : STRIP_UNARY (operands[4]))
18759 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18760 : STRIP_UNARY (operands[3]))
18761 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18762 : STRIP_UNARY (operands[3])))) &&
18763 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18764 : (TARGET_AVX512F)))
18765 : return -1;
18766 : return 6693; /* *avx512f_vpternlogv16sf_2 */
18767 :
18768 : case 7:
18769 : if (!(
18770 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18771 : ((32 == 64 || TARGET_AVX512VL
18772 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18773 : && ix86_pre_reload_split ()
18774 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18775 : STRIP_UNARY (operands[4]))
18776 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18777 : STRIP_UNARY (operands[4]))
18778 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18779 : STRIP_UNARY (operands[3]))
18780 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18781 : STRIP_UNARY (operands[3])))) &&
18782 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18783 : (TARGET_AVX)))
18784 : return -1;
18785 : return 6720; /* *avx512vl_vpternlogv8sf_2 */
18786 :
18787 : case 8:
18788 : if (!
18789 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18790 : ((16 == 64 || TARGET_AVX512VL
18791 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18792 : && ix86_pre_reload_split ()
18793 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18794 : STRIP_UNARY (operands[4]))
18795 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18796 : STRIP_UNARY (operands[4]))
18797 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18798 : STRIP_UNARY (operands[3]))
18799 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18800 : STRIP_UNARY (operands[3])))))
18801 : return -1;
18802 : return 6747; /* *avx512vl_vpternlogv4sf_2 */
18803 :
18804 : case 9:
18805 : if (!(
18806 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18807 : ((64 == 64 || TARGET_AVX512VL
18808 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18809 : && ix86_pre_reload_split ()
18810 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18811 : STRIP_UNARY (operands[4]))
18812 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18813 : STRIP_UNARY (operands[4]))
18814 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18815 : STRIP_UNARY (operands[3]))
18816 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18817 : STRIP_UNARY (operands[3])))) &&
18818 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18819 : (TARGET_AVX512F)))
18820 : return -1;
18821 : return 6774; /* *avx512f_vpternlogv8df_2 */
18822 :
18823 : case 10:
18824 : if (!(
18825 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18826 : ((32 == 64 || TARGET_AVX512VL
18827 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18828 : && ix86_pre_reload_split ()
18829 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18830 : STRIP_UNARY (operands[4]))
18831 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18832 : STRIP_UNARY (operands[4]))
18833 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18834 : STRIP_UNARY (operands[3]))
18835 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18836 : STRIP_UNARY (operands[3])))) &&
18837 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18838 : (TARGET_AVX)))
18839 : return -1;
18840 : return 6801; /* *avx512vl_vpternlogv4df_2 */
18841 :
18842 : case 11:
18843 : if (!(
18844 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18845 : ((16 == 64 || TARGET_AVX512VL
18846 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18847 : && ix86_pre_reload_split ()
18848 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18849 : STRIP_UNARY (operands[4]))
18850 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18851 : STRIP_UNARY (operands[4]))
18852 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18853 : STRIP_UNARY (operands[3]))
18854 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18855 : STRIP_UNARY (operands[3])))) &&
18856 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18857 : (TARGET_SSE2)))
18858 : return -1;
18859 : return 6828; /* *avx512vl_vpternlogv2df_2 */
18860 :
18861 : default:
18862 : return -1;
18863 : }
18864 :
18865 : default:
18866 : return -1;
18867 : }
18868 : }
18869 :
18870 : int
18871 : recog_324 (rtx x1 ATTRIBUTE_UNUSED,
18872 : rtx_insn *insn ATTRIBUTE_UNUSED,
18873 : int *pnum_clobbers ATTRIBUTE_UNUSED)
18874 : {
18875 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
18876 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
18877 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
18878 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
18879 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
18880 : rtx x34, x35, x36, x37, x38, x39, x40, x41;
18881 : rtx x42, x43, x44, x45, x46, x47, x48, x49;
18882 : rtx x50, x51, x52, x53, x54, x55, x56, x57;
18883 : rtx x58, x59, x60, x61, x62, x63, x64, x65;
18884 : rtx x66, x67, x68, x69;
18885 : int res ATTRIBUTE_UNUSED;
18886 : x2 = XEXP (x1, 1);
18887 : x3 = XEXP (x2, 1);
18888 : if (GET_CODE (x3) != PARALLEL)
18889 : return -1;
18890 : x4 = XEXP (x1, 0);
18891 : operands[0] = x4;
18892 : x5 = XEXP (x2, 0);
18893 : switch (GET_CODE (x5))
18894 : {
18895 : case VEC_CONCAT:
18896 : x6 = XEXP (x5, 0);
18897 : switch (GET_CODE (x6))
18898 : {
18899 : case REG:
18900 : case SUBREG:
18901 : case MEM:
18902 : operands[1] = x6;
18903 : res = recog_288 (x1, insn, pnum_clobbers);
18904 : if (res >= 0)
18905 : return res;
18906 : if (XVECLEN (x3, 0) < 1)
18907 : return -1;
18908 : operands[4] = x3;
18909 : switch (pattern815 (x2))
18910 : {
18911 : case 0:
18912 : if (
18913 : #line 24684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18914 : (TARGET_AVX2))
18915 : return 8823; /* *avx2_zero_extendv16qiv16hi2_2 */
18916 : break;
18917 :
18918 : case 1:
18919 : if (
18920 : #line 24684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18921 : (TARGET_AVX2))
18922 : return 8824; /* *avx2_zero_extendv16qiv16hi2_2 */
18923 : break;
18924 :
18925 : case 2:
18926 : if (
18927 : #line 24684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18928 : (TARGET_AVX2))
18929 : return 8825; /* *avx2_zero_extendv16qiv16hi2_2 */
18930 : break;
18931 :
18932 : case 3:
18933 : if (
18934 : #line 24738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18935 : (TARGET_AVX512BW))
18936 : return 8831; /* *avx512bw_zero_extendv32qiv32hi2_2 */
18937 : break;
18938 :
18939 : case 4:
18940 : if (
18941 : #line 24738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18942 : (TARGET_AVX512BW))
18943 : return 8832; /* *avx512bw_zero_extendv32qiv32hi2_2 */
18944 : break;
18945 :
18946 : case 5:
18947 : if (
18948 : #line 24738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18949 : (TARGET_AVX512BW))
18950 : return 8833; /* *avx512bw_zero_extendv32qiv32hi2_2 */
18951 : break;
18952 :
18953 : case 6:
18954 : if (
18955 : #line 24877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18956 : (TARGET_SSE4_1))
18957 : return 8847; /* *sse4_1_zero_extendv8qiv8hi2_4 */
18958 : break;
18959 :
18960 : case 7:
18961 : if (
18962 : #line 24877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18963 : (TARGET_SSE4_1))
18964 : return 8848; /* *sse4_1_zero_extendv8qiv8hi2_4 */
18965 : break;
18966 :
18967 : case 8:
18968 : if (
18969 : #line 24877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18970 : (TARGET_SSE4_1))
18971 : return 8849; /* *sse4_1_zero_extendv8qiv8hi2_4 */
18972 : break;
18973 :
18974 : case 9:
18975 : if (
18976 : #line 25172 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18977 : (TARGET_AVX512F))
18978 : return 8885; /* *avx512f_zero_extendv16hiv16si2_2 */
18979 : break;
18980 :
18981 : case 10:
18982 : if (
18983 : #line 25172 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18984 : (TARGET_AVX512F))
18985 : return 8886; /* *avx512f_zero_extendv16hiv16si2_2 */
18986 : break;
18987 :
18988 : case 11:
18989 : if (
18990 : #line 25172 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18991 : (TARGET_AVX512F))
18992 : return 8887; /* *avx512f_zero_extendv16hiv16si2_2 */
18993 : break;
18994 :
18995 : case 12:
18996 : if (
18997 : #line 25227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18998 : (TARGET_AVX2))
18999 : return 8893; /* *avx2_zero_extendv8hiv8si2_2 */
19000 : break;
19001 :
19002 : case 13:
19003 : if (
19004 : #line 25227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19005 : (TARGET_AVX2))
19006 : return 8894; /* *avx2_zero_extendv8hiv8si2_2 */
19007 : break;
19008 :
19009 : case 14:
19010 : if (
19011 : #line 25227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19012 : (TARGET_AVX2))
19013 : return 8895; /* *avx2_zero_extendv8hiv8si2_2 */
19014 : break;
19015 :
19016 : case 15:
19017 : if (
19018 : #line 25372 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19019 : (TARGET_SSE4_1))
19020 : return 8909; /* *sse4_1_zero_extendv4hiv4si2_4 */
19021 : break;
19022 :
19023 : case 16:
19024 : if (
19025 : #line 25372 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19026 : (TARGET_SSE4_1))
19027 : return 8910; /* *sse4_1_zero_extendv4hiv4si2_4 */
19028 : break;
19029 :
19030 : case 17:
19031 : if (
19032 : #line 25372 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19033 : (TARGET_SSE4_1))
19034 : return 8911; /* *sse4_1_zero_extendv4hiv4si2_4 */
19035 : break;
19036 :
19037 : default:
19038 : break;
19039 : }
19040 : operands[3] = x3;
19041 : switch (pattern816 (x2))
19042 : {
19043 : case 0:
19044 : if (!(
19045 : #line 30022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19046 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
19047 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19048 : (TARGET_AVX512F)))
19049 : return -1;
19050 : return 9717; /* *vec_concatv64qi_0_1 */
19051 :
19052 : case 1:
19053 : if (!(
19054 : #line 30022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19055 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
19056 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19057 : (TARGET_AVX)))
19058 : return -1;
19059 : return 9718; /* *vec_concatv32qi_0_1 */
19060 :
19061 : case 2:
19062 : if (!
19063 : #line 30022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19064 : (TARGET_SSE2 && ix86_pre_reload_split ()))
19065 : return -1;
19066 : return 9719; /* *vec_concatv16qi_0_1 */
19067 :
19068 : case 3:
19069 : if (!(
19070 : #line 30022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19071 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
19072 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19073 : (TARGET_AVX512F)))
19074 : return -1;
19075 : return 9720; /* *vec_concatv32hi_0_1 */
19076 :
19077 : case 4:
19078 : if (!(
19079 : #line 30022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19080 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
19081 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19082 : (TARGET_AVX)))
19083 : return -1;
19084 : return 9721; /* *vec_concatv16hi_0_1 */
19085 :
19086 : case 5:
19087 : if (!
19088 : #line 30022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19089 : (TARGET_SSE2 && ix86_pre_reload_split ()))
19090 : return -1;
19091 : return 9722; /* *vec_concatv8hi_0_1 */
19092 :
19093 : default:
19094 : return -1;
19095 : }
19096 :
19097 : case SS_TRUNCATE:
19098 : x7 = XEXP (x5, 1);
19099 : if (GET_CODE (x7) != SS_TRUNCATE)
19100 : return -1;
19101 : x8 = XEXP (x6, 0);
19102 : operands[1] = x8;
19103 : x9 = XEXP (x7, 0);
19104 : operands[2] = x9;
19105 : switch (XVECLEN (x3, 0))
19106 : {
19107 : case 32:
19108 : if (pattern847 (x3) != 0)
19109 : return -1;
19110 : x10 = XVECEXP (x3, 0, 4);
19111 : if (GET_CODE (x10) != CONST_INT)
19112 : return -1;
19113 : x11 = XVECEXP (x3, 0, 5);
19114 : if (GET_CODE (x11) != CONST_INT)
19115 : return -1;
19116 : x12 = XVECEXP (x3, 0, 6);
19117 : if (GET_CODE (x12) != CONST_INT)
19118 : return -1;
19119 : x13 = XVECEXP (x3, 0, 7);
19120 : if (GET_CODE (x13) != CONST_INT)
19121 : return -1;
19122 : x14 = XVECEXP (x3, 0, 8);
19123 : if (GET_CODE (x14) != CONST_INT)
19124 : return -1;
19125 : x15 = XVECEXP (x3, 0, 9);
19126 : if (GET_CODE (x15) != CONST_INT)
19127 : return -1;
19128 : x16 = XVECEXP (x3, 0, 10);
19129 : if (GET_CODE (x16) != CONST_INT)
19130 : return -1;
19131 : x17 = XVECEXP (x3, 0, 11);
19132 : if (GET_CODE (x17) != CONST_INT
19133 : || pattern1709 (x3,
19134 : 23,
19135 : 22,
19136 : 21,
19137 : 20,
19138 : 8) != 0)
19139 : return -1;
19140 : x18 = XVECEXP (x3, 0, 17);
19141 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
19142 : return -1;
19143 : x19 = XVECEXP (x3, 0, 18);
19144 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
19145 : return -1;
19146 : x20 = XVECEXP (x3, 0, 19);
19147 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
19148 : return -1;
19149 : x21 = XVECEXP (x3, 0, 20);
19150 : if (GET_CODE (x21) != CONST_INT)
19151 : return -1;
19152 : x22 = XVECEXP (x3, 0, 21);
19153 : if (GET_CODE (x22) != CONST_INT)
19154 : return -1;
19155 : x23 = XVECEXP (x3, 0, 22);
19156 : if (GET_CODE (x23) != CONST_INT)
19157 : return -1;
19158 : x24 = XVECEXP (x3, 0, 23);
19159 : if (GET_CODE (x24) != CONST_INT)
19160 : return -1;
19161 : x25 = XVECEXP (x3, 0, 24);
19162 : if (GET_CODE (x25) != CONST_INT)
19163 : return -1;
19164 : x26 = XVECEXP (x3, 0, 25);
19165 : if (GET_CODE (x26) != CONST_INT)
19166 : return -1;
19167 : x27 = XVECEXP (x3, 0, 26);
19168 : if (GET_CODE (x27) != CONST_INT)
19169 : return -1;
19170 : x28 = XVECEXP (x3, 0, 27);
19171 : if (GET_CODE (x28) != CONST_INT
19172 : || pattern1888 (x3,
19173 : 31,
19174 : 30,
19175 : 29,
19176 : 28) != 0)
19177 : return -1;
19178 : switch (XWINT (x10, 0))
19179 : {
19180 : case 4L:
19181 : if (XWINT (x11, 0) != 5L
19182 : || XWINT (x12, 0) != 6L
19183 : || XWINT (x13, 0) != 7L
19184 : || XWINT (x14, 0) != 16L
19185 : || XWINT (x15, 0) != 17L
19186 : || XWINT (x16, 0) != 18L
19187 : || XWINT (x17, 0) != 19L
19188 : || XWINT (x21, 0) != 12L
19189 : || XWINT (x22, 0) != 13L
19190 : || XWINT (x23, 0) != 14L
19191 : || XWINT (x24, 0) != 15L
19192 : || pattern1913 (x3) != 0
19193 : || pattern1843 (x2,
19194 : E_V16HImode,
19195 : E_V16QImode,
19196 : E_V32QImode) != 0
19197 : || !
19198 : #line 19700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19199 : (TARGET_AVX2 && 1 && 1))
19200 : return -1;
19201 : return 8368; /* avx2_packsswb */
19202 :
19203 : case 16L:
19204 : if (XWINT (x11, 0) != 17L
19205 : || XWINT (x12, 0) != 18L
19206 : || XWINT (x13, 0) != 19L
19207 : || XWINT (x14, 0) != 4L
19208 : || XWINT (x15, 0) != 5L
19209 : || XWINT (x16, 0) != 6L
19210 : || XWINT (x17, 0) != 7L
19211 : || XWINT (x21, 0) != 24L
19212 : || XWINT (x22, 0) != 25L
19213 : || XWINT (x23, 0) != 26L
19214 : || XWINT (x24, 0) != 27L
19215 : || XWINT (x25, 0) != 12L
19216 : || XWINT (x26, 0) != 13L
19217 : || XWINT (x27, 0) != 14L
19218 : || XWINT (x28, 0) != 15L
19219 : || pattern1843 (x2,
19220 : E_V16SImode,
19221 : E_V16HImode,
19222 : E_V32HImode) != 0
19223 : || !
19224 : #line 19816 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19225 : (TARGET_AVX512BW))
19226 : return -1;
19227 : return 8376; /* avx512bw_packssdw */
19228 :
19229 : default:
19230 : return -1;
19231 : }
19232 :
19233 : case 64:
19234 : if (pattern850 (x3,
19235 : 35,
19236 : 34,
19237 : 33,
19238 : 32) != 0
19239 : || pattern1709 (x3,
19240 : 39,
19241 : 38,
19242 : 37,
19243 : 36,
19244 : 8) != 0
19245 : || pattern1828 (x3,
19246 : 13,
19247 : 12,
19248 : 11,
19249 : 10,
19250 : 9) != 0
19251 : || pattern1870 (x3,
19252 : 42,
19253 : 41,
19254 : 40,
19255 : 15,
19256 : 14) != 0)
19257 : return -1;
19258 : x28 = XVECEXP (x3, 0, 27);
19259 : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 43]
19260 : || pattern1888 (x3,
19261 : 47,
19262 : 46,
19263 : 45,
19264 : 44) != 0)
19265 : return -1;
19266 : x29 = XVECEXP (x3, 0, 32);
19267 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
19268 : return -1;
19269 : x30 = XVECEXP (x3, 0, 33);
19270 : if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 17])
19271 : return -1;
19272 : x31 = XVECEXP (x3, 0, 34);
19273 : if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 18])
19274 : return -1;
19275 : x32 = XVECEXP (x3, 0, 35);
19276 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 19])
19277 : return -1;
19278 : x33 = XVECEXP (x3, 0, 36);
19279 : if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 20])
19280 : return -1;
19281 : x34 = XVECEXP (x3, 0, 37);
19282 : if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 21])
19283 : return -1;
19284 : x35 = XVECEXP (x3, 0, 38);
19285 : if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 22])
19286 : return -1;
19287 : x36 = XVECEXP (x3, 0, 39);
19288 : if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 23])
19289 : return -1;
19290 : x37 = XVECEXP (x3, 0, 40);
19291 : if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 48])
19292 : return -1;
19293 : x38 = XVECEXP (x3, 0, 41);
19294 : if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 49])
19295 : return -1;
19296 : x39 = XVECEXP (x3, 0, 42);
19297 : if (x39 != const_int_rtx[MAX_SAVED_CONST_INT + 50])
19298 : return -1;
19299 : x40 = XVECEXP (x3, 0, 43);
19300 : if (x40 != const_int_rtx[MAX_SAVED_CONST_INT + 51])
19301 : return -1;
19302 : x41 = XVECEXP (x3, 0, 44);
19303 : if (x41 != const_int_rtx[MAX_SAVED_CONST_INT + 52])
19304 : return -1;
19305 : x42 = XVECEXP (x3, 0, 45);
19306 : if (x42 != const_int_rtx[MAX_SAVED_CONST_INT + 53])
19307 : return -1;
19308 : x43 = XVECEXP (x3, 0, 46);
19309 : if (x43 != const_int_rtx[MAX_SAVED_CONST_INT + 54])
19310 : return -1;
19311 : x44 = XVECEXP (x3, 0, 47);
19312 : if (x44 != const_int_rtx[MAX_SAVED_CONST_INT + 55])
19313 : return -1;
19314 : x45 = XVECEXP (x3, 0, 48);
19315 : if (x45 != const_int_rtx[MAX_SAVED_CONST_INT + 24])
19316 : return -1;
19317 : x46 = XVECEXP (x3, 0, 49);
19318 : if (x46 != const_int_rtx[MAX_SAVED_CONST_INT + 25])
19319 : return -1;
19320 : x47 = XVECEXP (x3, 0, 50);
19321 : if (x47 != const_int_rtx[MAX_SAVED_CONST_INT + 26])
19322 : return -1;
19323 : x48 = XVECEXP (x3, 0, 51);
19324 : if (x48 != const_int_rtx[MAX_SAVED_CONST_INT + 27])
19325 : return -1;
19326 : x49 = XVECEXP (x3, 0, 52);
19327 : if (x49 != const_int_rtx[MAX_SAVED_CONST_INT + 28])
19328 : return -1;
19329 : x50 = XVECEXP (x3, 0, 53);
19330 : if (x50 != const_int_rtx[MAX_SAVED_CONST_INT + 29])
19331 : return -1;
19332 : x51 = XVECEXP (x3, 0, 54);
19333 : if (x51 != const_int_rtx[MAX_SAVED_CONST_INT + 30])
19334 : return -1;
19335 : x52 = XVECEXP (x3, 0, 55);
19336 : if (x52 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
19337 : return -1;
19338 : x53 = XVECEXP (x3, 0, 56);
19339 : if (x53 != const_int_rtx[MAX_SAVED_CONST_INT + 56])
19340 : return -1;
19341 : x54 = XVECEXP (x3, 0, 57);
19342 : if (x54 != const_int_rtx[MAX_SAVED_CONST_INT + 57])
19343 : return -1;
19344 : x55 = XVECEXP (x3, 0, 58);
19345 : if (x55 != const_int_rtx[MAX_SAVED_CONST_INT + 58])
19346 : return -1;
19347 : x56 = XVECEXP (x3, 0, 59);
19348 : if (x56 != const_int_rtx[MAX_SAVED_CONST_INT + 59])
19349 : return -1;
19350 : x57 = XVECEXP (x3, 0, 60);
19351 : if (x57 != const_int_rtx[MAX_SAVED_CONST_INT + 60])
19352 : return -1;
19353 : x58 = XVECEXP (x3, 0, 61);
19354 : if (x58 != const_int_rtx[MAX_SAVED_CONST_INT + 61])
19355 : return -1;
19356 : x59 = XVECEXP (x3, 0, 62);
19357 : if (x59 != const_int_rtx[MAX_SAVED_CONST_INT + 62])
19358 : return -1;
19359 : x60 = XVECEXP (x3, 0, 63);
19360 : if (x60 != const_int_rtx[MAX_SAVED_CONST_INT + 63]
19361 : || pattern1843 (x2,
19362 : E_V32HImode,
19363 : E_V32QImode,
19364 : E_V64QImode) != 0
19365 : || !
19366 : #line 19747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19367 : (TARGET_AVX512BW))
19368 : return -1;
19369 : return 8370; /* avx512bw_packsswb */
19370 :
19371 : case 16:
19372 : if (pattern848 (x3,
19373 : 10,
19374 : 9,
19375 : 8) != 0
19376 : || pattern1513 (x3,
19377 : 7,
19378 : 6,
19379 : 5,
19380 : 4,
19381 : 11) != 0
19382 : || pattern1843 (x2,
19383 : E_V8SImode,
19384 : E_V8HImode,
19385 : E_V16HImode) != 0
19386 : || !
19387 : #line 19786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19388 : (TARGET_AVX2 && 1 && 1))
19389 : return -1;
19390 : return 8374; /* avx2_packssdw */
19391 :
19392 : default:
19393 : return -1;
19394 : }
19395 :
19396 : case VEC_CONCAT:
19397 : switch (pattern525 (x2))
19398 : {
19399 : case 0:
19400 : if (!
19401 : #line 25875 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19402 : (TARGET_AVX512F))
19403 : return -1;
19404 : return 8980; /* *avx512f_zero_extendv8siv8di2_2 */
19405 :
19406 : case 1:
19407 : if (!
19408 : #line 25928 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19409 : (TARGET_AVX2))
19410 : return -1;
19411 : return 8986; /* *avx2_zero_extendv4siv4di2_2 */
19412 :
19413 : case 2:
19414 : if (!
19415 : #line 26049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19416 : (TARGET_SSE4_1))
19417 : return -1;
19418 : return 9000; /* *sse4_1_zero_extendv2siv2di2_4 */
19419 :
19420 : default:
19421 : return -1;
19422 : }
19423 :
19424 : default:
19425 : return -1;
19426 : }
19427 :
19428 : case REG:
19429 : case SUBREG:
19430 : case MEM:
19431 : operands[1] = x5;
19432 : res = recog_302 (x1, insn, pnum_clobbers);
19433 : if (res >= 0)
19434 : return res;
19435 : if (GET_CODE (x5) != SUBREG)
19436 : return -1;
19437 : switch (pattern527 (x2))
19438 : {
19439 : case 0:
19440 : if (!
19441 : #line 15420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19442 : (TARGET_AVX512BW && ix86_pre_reload_split ()))
19443 : return -1;
19444 : return 7269; /* *avx512bw_permvar_truncv16siv16hi_1_hf */
19445 :
19446 : case 1:
19447 : if (!
19448 : #line 15473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19449 : (TARGET_AVX512VL && TARGET_AVX512BW && ix86_pre_reload_split ()))
19450 : return -1;
19451 : return 7271; /* *avx512f_permvar_truncv8siv8hi_1_hf */
19452 :
19453 : default:
19454 : return -1;
19455 : }
19456 :
19457 : case UNSPEC:
19458 : switch (XVECLEN (x5, 0))
19459 : {
19460 : case 2:
19461 : switch (pattern529 (x2))
19462 : {
19463 : case 0:
19464 : if (!
19465 : #line 15395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19466 : (TARGET_AVX512BW && ix86_pre_reload_split ()))
19467 : return -1;
19468 : return 7268; /* *avx512bw_permvar_truncv16siv16hi_1 */
19469 :
19470 : case 1:
19471 : if (!
19472 : #line 15657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19473 : (TARGET_AVX512VL && TARGET_AVX512VBMI
19474 : && ix86_pre_reload_split ()))
19475 : return -1;
19476 : return 7301; /* *avx512f_permvar_truncv16hiv16qi_1 */
19477 :
19478 : case 2:
19479 : if (!
19480 : #line 15452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19481 : (TARGET_AVX512VL && TARGET_AVX512BW && ix86_pre_reload_split ()))
19482 : return -1;
19483 : return 7270; /* *avx512f_permvar_truncv8siv8hi_1 */
19484 :
19485 : case 3:
19486 : if (!
19487 : #line 15504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19488 : (TARGET_AVX512F && ix86_pre_reload_split ()))
19489 : return -1;
19490 : return 7272; /* *avx512f_vpermvar_truncv8div8si_1 */
19491 :
19492 : case 4:
19493 : if (!
19494 : #line 15576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19495 : (TARGET_AVX512VBMI && ix86_pre_reload_split ()))
19496 : return -1;
19497 : return 7288; /* *avx512f_permvar_truncv32hiv32qi_1 */
19498 :
19499 : case 5:
19500 : if (!
19501 : #line 15676 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19502 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
19503 : return -1;
19504 : return 7302; /* *avx512f_permvar_truncv4div4si_1 */
19505 :
19506 : default:
19507 : return -1;
19508 : }
19509 :
19510 : case 1:
19511 : if (XINT (x5, 1) != 150
19512 : || GET_MODE (x5) != E_V8SFmode
19513 : || XVECLEN (x3, 0) != 4
19514 : || pattern847 (x3) != 0
19515 : || !register_operand (operands[0], E_V4SFmode)
19516 : || GET_MODE (x2) != E_V4SFmode)
19517 : return -1;
19518 : x61 = XVECEXP (x5, 0, 0);
19519 : operands[1] = x61;
19520 : if (!register_operand (operands[1], E_V8HImode)
19521 : || !
19522 : #line 30039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19523 : (TARGET_F16C || TARGET_AVX512VL))
19524 : return -1;
19525 : return 9741; /* vcvtph2ps */
19526 :
19527 : case 4:
19528 : if (pnum_clobbers == NULL
19529 : || XINT (x5, 1) != 154)
19530 : return -1;
19531 : x62 = XVECEXP (x5, 0, 1);
19532 : if (GET_CODE (x62) != MEM)
19533 : return -1;
19534 : x63 = XEXP (x62, 0);
19535 : if (GET_CODE (x63) != UNSPEC
19536 : || XVECLEN (x63, 0) != 3
19537 : || XINT (x63, 1) != 155)
19538 : return -1;
19539 : x64 = XVECEXP (x5, 0, 2);
19540 : if (GET_CODE (x64) != MEM
19541 : || GET_MODE (x64) != E_BLKmode)
19542 : return -1;
19543 : x65 = XEXP (x64, 0);
19544 : if (GET_CODE (x65) != SCRATCH
19545 : || XVECLEN (x3, 0) != 4
19546 : || pattern847 (x3) != 0)
19547 : return -1;
19548 : x66 = XVECEXP (x63, 0, 1);
19549 : if (!register_operand (x66, E_V4DImode))
19550 : return -1;
19551 : x67 = XVECEXP (x63, 0, 2);
19552 : if (!const1248_operand (x67, E_SImode))
19553 : return -1;
19554 : x61 = XVECEXP (x5, 0, 0);
19555 : switch (GET_CODE (x61))
19556 : {
19557 : case REG:
19558 : case SUBREG:
19559 : operands[2] = x61;
19560 : operands[7] = x62;
19561 : x68 = XVECEXP (x63, 0, 0);
19562 : operands[3] = x68;
19563 : operands[4] = x66;
19564 : operands[6] = x67;
19565 : x69 = XVECEXP (x5, 0, 3);
19566 : operands[5] = x69;
19567 : switch (GET_MODE (operands[0]))
19568 : {
19569 : case E_V4SImode:
19570 : switch (pattern1865 (x2,
19571 : E_V4SImode,
19572 : E_SImode,
19573 : E_V8SImode))
19574 : {
19575 : case 0:
19576 : if (!(
19577 : #line 30366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19578 : (TARGET_AVX2) &&
19579 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
19580 : (Pmode == SImode)))
19581 : return -1;
19582 : *pnum_clobbers = 1;
19583 : return 9828; /* *avx2_gatherdiv8si_3 */
19584 :
19585 : case 1:
19586 : if (!(
19587 : #line 30366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19588 : (TARGET_AVX2) &&
19589 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
19590 : (Pmode == DImode)))
19591 : return -1;
19592 : *pnum_clobbers = 1;
19593 : return 9830; /* *avx2_gatherdiv8si_3 */
19594 :
19595 : default:
19596 : return -1;
19597 : }
19598 :
19599 : case E_V4SFmode:
19600 : switch (pattern1865 (x2,
19601 : E_V4SFmode,
19602 : E_SFmode,
19603 : E_V8SFmode))
19604 : {
19605 : case 0:
19606 : if (!(
19607 : #line 30366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19608 : (TARGET_AVX2) &&
19609 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
19610 : (Pmode == SImode)))
19611 : return -1;
19612 : *pnum_clobbers = 1;
19613 : return 9829; /* *avx2_gatherdiv8sf_3 */
19614 :
19615 : case 1:
19616 : if (!(
19617 : #line 30366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19618 : (TARGET_AVX2) &&
19619 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
19620 : (Pmode == DImode)))
19621 : return -1;
19622 : *pnum_clobbers = 1;
19623 : return 9831; /* *avx2_gatherdiv8sf_3 */
19624 :
19625 : default:
19626 : return -1;
19627 : }
19628 :
19629 : default:
19630 : return -1;
19631 : }
19632 :
19633 : case PC:
19634 : operands[6] = x62;
19635 : x68 = XVECEXP (x63, 0, 0);
19636 : operands[2] = x68;
19637 : operands[3] = x66;
19638 : operands[5] = x67;
19639 : x69 = XVECEXP (x5, 0, 3);
19640 : operands[4] = x69;
19641 : switch (GET_MODE (operands[0]))
19642 : {
19643 : case E_V4SImode:
19644 : switch (pattern1859 (x2,
19645 : E_V4SImode,
19646 : E_SImode,
19647 : E_V8SImode))
19648 : {
19649 : case 0:
19650 : if (!(
19651 : #line 30390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19652 : (TARGET_AVX2) &&
19653 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
19654 : (Pmode == SImode)))
19655 : return -1;
19656 : *pnum_clobbers = 1;
19657 : return 9832; /* *avx2_gatherdiv8si_4 */
19658 :
19659 : case 1:
19660 : if (!(
19661 : #line 30390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19662 : (TARGET_AVX2) &&
19663 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
19664 : (Pmode == DImode)))
19665 : return -1;
19666 : *pnum_clobbers = 1;
19667 : return 9834; /* *avx2_gatherdiv8si_4 */
19668 :
19669 : default:
19670 : return -1;
19671 : }
19672 :
19673 : case E_V4SFmode:
19674 : switch (pattern1859 (x2,
19675 : E_V4SFmode,
19676 : E_SFmode,
19677 : E_V8SFmode))
19678 : {
19679 : case 0:
19680 : if (!(
19681 : #line 30390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19682 : (TARGET_AVX2) &&
19683 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
19684 : (Pmode == SImode)))
19685 : return -1;
19686 : *pnum_clobbers = 1;
19687 : return 9833; /* *avx2_gatherdiv8sf_4 */
19688 :
19689 : case 1:
19690 : if (!(
19691 : #line 30390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19692 : (TARGET_AVX2) &&
19693 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
19694 : (Pmode == DImode)))
19695 : return -1;
19696 : *pnum_clobbers = 1;
19697 : return 9835; /* *avx2_gatherdiv8sf_4 */
19698 :
19699 : default:
19700 : return -1;
19701 : }
19702 :
19703 : default:
19704 : return -1;
19705 : }
19706 :
19707 : default:
19708 : return -1;
19709 : }
19710 :
19711 : default:
19712 : return -1;
19713 : }
19714 :
19715 : default:
19716 : return -1;
19717 : }
19718 : }
19719 :
19720 : int
19721 : recog_328 (rtx x1 ATTRIBUTE_UNUSED,
19722 : rtx_insn *insn ATTRIBUTE_UNUSED,
19723 : int *pnum_clobbers ATTRIBUTE_UNUSED)
19724 : {
19725 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
19726 : rtx x2;
19727 : int res ATTRIBUTE_UNUSED;
19728 : x2 = XEXP (x1, 1);
19729 : operands[1] = x2;
19730 : switch (GET_MODE (operands[0]))
19731 : {
19732 : case E_V64QImode:
19733 : if (nonimmediate_operand (operands[0], E_V64QImode)
19734 : && nonimmediate_or_sse_const_operand (operands[1], E_V64QImode)
19735 : && (
19736 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19737 : (TARGET_SSE
19738 : && (register_operand (operands[0], V64QImode)
19739 : || register_operand (operands[1], V64QImode))
19740 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
19741 : #line 287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19742 : (TARGET_AVX512F)))
19743 : return 2443; /* movv64qi_internal */
19744 : if (!register_operand (operands[0], E_V64QImode)
19745 : || !ternlog_operand (operands[1], E_V64QImode)
19746 : || !(
19747 : #line 14131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19748 : ((64 == 64 || TARGET_AVX512VL
19749 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19750 : && ix86_pre_reload_split ()) &&
19751 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19752 : (TARGET_AVX512F)))
19753 : return -1;
19754 : return 5510; /* *avx512bw_vpternlogv64qi_0 */
19755 :
19756 : case E_V32QImode:
19757 : if (nonimmediate_operand (operands[0], E_V32QImode)
19758 : && nonimmediate_or_sse_const_operand (operands[1], E_V32QImode)
19759 : && (
19760 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19761 : (TARGET_SSE
19762 : && (register_operand (operands[0], V32QImode)
19763 : || register_operand (operands[1], V32QImode))
19764 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
19765 : #line 287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19766 : (TARGET_AVX)))
19767 : return 2444; /* movv32qi_internal */
19768 : if (!register_operand (operands[0], E_V32QImode)
19769 : || !ternlog_operand (operands[1], E_V32QImode)
19770 : || !(
19771 : #line 14131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19772 : ((32 == 64 || TARGET_AVX512VL
19773 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19774 : && ix86_pre_reload_split ()) &&
19775 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19776 : (TARGET_AVX)))
19777 : return -1;
19778 : return 5511; /* *avx512vl_vpternlogv32qi_0 */
19779 :
19780 : case E_V16QImode:
19781 : if (nonimmediate_operand (operands[0], E_V16QImode)
19782 : && nonimmediate_or_sse_const_operand (operands[1], E_V16QImode)
19783 : &&
19784 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19785 : (TARGET_SSE
19786 : && (register_operand (operands[0], V16QImode)
19787 : || register_operand (operands[1], V16QImode))
19788 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
19789 : return 2445; /* movv16qi_internal */
19790 : if (!register_operand (operands[0], E_V16QImode)
19791 : || !ternlog_operand (operands[1], E_V16QImode)
19792 : || !
19793 : #line 14131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19794 : ((16 == 64 || TARGET_AVX512VL
19795 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19796 : && ix86_pre_reload_split ()))
19797 : return -1;
19798 : return 5512; /* *avx512vl_vpternlogv16qi_0 */
19799 :
19800 : case E_V32HImode:
19801 : if (nonimmediate_operand (operands[0], E_V32HImode)
19802 : && nonimmediate_or_sse_const_operand (operands[1], E_V32HImode)
19803 : && (
19804 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19805 : (TARGET_SSE
19806 : && (register_operand (operands[0], V32HImode)
19807 : || register_operand (operands[1], V32HImode))
19808 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
19809 : #line 288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19810 : (TARGET_AVX512F)))
19811 : return 2446; /* movv32hi_internal */
19812 : if (!register_operand (operands[0], E_V32HImode)
19813 : || !ternlog_operand (operands[1], E_V32HImode)
19814 : || !(
19815 : #line 14131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19816 : ((64 == 64 || TARGET_AVX512VL
19817 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19818 : && ix86_pre_reload_split ()) &&
19819 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19820 : (TARGET_AVX512F)))
19821 : return -1;
19822 : return 5513; /* *avx512bw_vpternlogv32hi_0 */
19823 :
19824 : case E_V16HImode:
19825 : if (nonimmediate_operand (operands[0], E_V16HImode)
19826 : && nonimmediate_or_sse_const_operand (operands[1], E_V16HImode)
19827 : && (
19828 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19829 : (TARGET_SSE
19830 : && (register_operand (operands[0], V16HImode)
19831 : || register_operand (operands[1], V16HImode))
19832 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
19833 : #line 288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19834 : (TARGET_AVX)))
19835 : return 2447; /* movv16hi_internal */
19836 : if (!register_operand (operands[0], E_V16HImode)
19837 : || !ternlog_operand (operands[1], E_V16HImode)
19838 : || !(
19839 : #line 14131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19840 : ((32 == 64 || TARGET_AVX512VL
19841 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19842 : && ix86_pre_reload_split ()) &&
19843 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19844 : (TARGET_AVX)))
19845 : return -1;
19846 : return 5514; /* *avx512vl_vpternlogv16hi_0 */
19847 :
19848 : case E_V8HImode:
19849 : if (nonimmediate_operand (operands[0], E_V8HImode)
19850 : && nonimmediate_or_sse_const_operand (operands[1], E_V8HImode)
19851 : &&
19852 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19853 : (TARGET_SSE
19854 : && (register_operand (operands[0], V8HImode)
19855 : || register_operand (operands[1], V8HImode))
19856 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
19857 : return 2448; /* movv8hi_internal */
19858 : if (!register_operand (operands[0], E_V8HImode)
19859 : || !ternlog_operand (operands[1], E_V8HImode)
19860 : || !
19861 : #line 14131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19862 : ((16 == 64 || TARGET_AVX512VL
19863 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19864 : && ix86_pre_reload_split ()))
19865 : return -1;
19866 : return 5515; /* *avx512vl_vpternlogv8hi_0 */
19867 :
19868 : case E_V16SImode:
19869 : if (nonimmediate_operand (operands[0], E_V16SImode)
19870 : && nonimmediate_or_sse_const_operand (operands[1], E_V16SImode)
19871 : && (
19872 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19873 : (TARGET_SSE
19874 : && (register_operand (operands[0], V16SImode)
19875 : || register_operand (operands[1], V16SImode))
19876 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
19877 : #line 289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19878 : (TARGET_AVX512F)))
19879 : return 2449; /* movv16si_internal */
19880 : if (!register_operand (operands[0], E_V16SImode)
19881 : || !ternlog_operand (operands[1], E_V16SImode)
19882 : || !(
19883 : #line 14131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19884 : ((64 == 64 || TARGET_AVX512VL
19885 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19886 : && ix86_pre_reload_split ()) &&
19887 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19888 : (TARGET_AVX512F)))
19889 : return -1;
19890 : return 5516; /* *avx512f_vpternlogv16si_0 */
19891 :
19892 : case E_V8SImode:
19893 : if (nonimmediate_operand (operands[0], E_V8SImode)
19894 : && nonimmediate_or_sse_const_operand (operands[1], E_V8SImode)
19895 : && (
19896 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19897 : (TARGET_SSE
19898 : && (register_operand (operands[0], V8SImode)
19899 : || register_operand (operands[1], V8SImode))
19900 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
19901 : #line 289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19902 : (TARGET_AVX)))
19903 : return 2450; /* movv8si_internal */
19904 : if (!register_operand (operands[0], E_V8SImode)
19905 : || !ternlog_operand (operands[1], E_V8SImode)
19906 : || !(
19907 : #line 14131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19908 : ((32 == 64 || TARGET_AVX512VL
19909 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19910 : && ix86_pre_reload_split ()) &&
19911 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19912 : (TARGET_AVX)))
19913 : return -1;
19914 : return 5517; /* *avx512vl_vpternlogv8si_0 */
19915 :
19916 : case E_V4SImode:
19917 : if (nonimmediate_operand (operands[0], E_V4SImode)
19918 : && nonimmediate_or_sse_const_operand (operands[1], E_V4SImode)
19919 : &&
19920 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19921 : (TARGET_SSE
19922 : && (register_operand (operands[0], V4SImode)
19923 : || register_operand (operands[1], V4SImode))
19924 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
19925 : return 2451; /* movv4si_internal */
19926 : if (!register_operand (operands[0], E_V4SImode)
19927 : || !ternlog_operand (operands[1], E_V4SImode)
19928 : || !
19929 : #line 14131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19930 : ((16 == 64 || TARGET_AVX512VL
19931 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19932 : && ix86_pre_reload_split ()))
19933 : return -1;
19934 : return 5518; /* *avx512vl_vpternlogv4si_0 */
19935 :
19936 : case E_V8DImode:
19937 : if (nonimmediate_operand (operands[0], E_V8DImode)
19938 : && nonimmediate_or_sse_const_operand (operands[1], E_V8DImode)
19939 : && (
19940 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19941 : (TARGET_SSE
19942 : && (register_operand (operands[0], V8DImode)
19943 : || register_operand (operands[1], V8DImode))
19944 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
19945 : #line 290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19946 : (TARGET_AVX512F)))
19947 : return 2452; /* movv8di_internal */
19948 : if (!register_operand (operands[0], E_V8DImode)
19949 : || !ternlog_operand (operands[1], E_V8DImode)
19950 : || !(
19951 : #line 14131 "/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 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19956 : (TARGET_AVX512F)))
19957 : return -1;
19958 : return 5519; /* *avx512f_vpternlogv8di_0 */
19959 :
19960 : case E_V4DImode:
19961 : if (nonimmediate_operand (operands[0], E_V4DImode)
19962 : && nonimmediate_or_sse_const_operand (operands[1], E_V4DImode)
19963 : && (
19964 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19965 : (TARGET_SSE
19966 : && (register_operand (operands[0], V4DImode)
19967 : || register_operand (operands[1], V4DImode))
19968 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
19969 : #line 290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19970 : (TARGET_AVX)))
19971 : return 2453; /* movv4di_internal */
19972 : if (!register_operand (operands[0], E_V4DImode)
19973 : || !ternlog_operand (operands[1], E_V4DImode)
19974 : || !(
19975 : #line 14131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19976 : ((32 == 64 || TARGET_AVX512VL
19977 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19978 : && ix86_pre_reload_split ()) &&
19979 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19980 : (TARGET_AVX)))
19981 : return -1;
19982 : return 5520; /* *avx512vl_vpternlogv4di_0 */
19983 :
19984 : case E_V2DImode:
19985 : if (nonimmediate_operand (operands[0], E_V2DImode)
19986 : && nonimmediate_or_sse_const_operand (operands[1], E_V2DImode)
19987 : &&
19988 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19989 : (TARGET_SSE
19990 : && (register_operand (operands[0], V2DImode)
19991 : || register_operand (operands[1], V2DImode))
19992 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
19993 : return 2454; /* movv2di_internal */
19994 : if (!register_operand (operands[0], E_V2DImode)
19995 : || !ternlog_operand (operands[1], E_V2DImode)
19996 : || !
19997 : #line 14131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19998 : ((16 == 64 || TARGET_AVX512VL
19999 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20000 : && ix86_pre_reload_split ()))
20001 : return -1;
20002 : return 5521; /* *avx512vl_vpternlogv2di_0 */
20003 :
20004 : case E_V4TImode:
20005 : if (!nonimmediate_operand (operands[0], E_V4TImode)
20006 : || !nonimmediate_or_sse_const_operand (operands[1], E_V4TImode)
20007 : || !(
20008 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20009 : (TARGET_SSE
20010 : && (register_operand (operands[0], V4TImode)
20011 : || register_operand (operands[1], V4TImode))
20012 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20013 : #line 291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20014 : (TARGET_AVX512F)))
20015 : return -1;
20016 : return 2455; /* movv4ti_internal */
20017 :
20018 : case E_V2TImode:
20019 : if (!nonimmediate_operand (operands[0], E_V2TImode)
20020 : || !nonimmediate_or_sse_const_operand (operands[1], E_V2TImode)
20021 : || !(
20022 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20023 : (TARGET_SSE
20024 : && (register_operand (operands[0], V2TImode)
20025 : || register_operand (operands[1], V2TImode))
20026 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20027 : #line 291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20028 : (TARGET_AVX)))
20029 : return -1;
20030 : return 2456; /* movv2ti_internal */
20031 :
20032 : case E_V1TImode:
20033 : if (!nonimmediate_operand (operands[0], E_V1TImode)
20034 : || !nonimmediate_or_sse_const_operand (operands[1], E_V1TImode)
20035 : || !
20036 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20037 : (TARGET_SSE
20038 : && (register_operand (operands[0], V1TImode)
20039 : || register_operand (operands[1], V1TImode))
20040 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20041 : return -1;
20042 : return 2457; /* movv1ti_internal */
20043 :
20044 : case E_V32HFmode:
20045 : if (!nonimmediate_operand (operands[0], E_V32HFmode)
20046 : || !nonimmediate_or_sse_const_operand (operands[1], E_V32HFmode)
20047 : || !(
20048 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20049 : (TARGET_SSE
20050 : && (register_operand (operands[0], V32HFmode)
20051 : || register_operand (operands[1], V32HFmode))
20052 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20053 : #line 292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20054 : (TARGET_AVX512F)))
20055 : return -1;
20056 : return 2458; /* movv32hf_internal */
20057 :
20058 : case E_V16HFmode:
20059 : if (!nonimmediate_operand (operands[0], E_V16HFmode)
20060 : || !nonimmediate_or_sse_const_operand (operands[1], E_V16HFmode)
20061 : || !(
20062 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20063 : (TARGET_SSE
20064 : && (register_operand (operands[0], V16HFmode)
20065 : || register_operand (operands[1], V16HFmode))
20066 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20067 : #line 292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20068 : (TARGET_AVX)))
20069 : return -1;
20070 : return 2459; /* movv16hf_internal */
20071 :
20072 : case E_V8HFmode:
20073 : if (!nonimmediate_operand (operands[0], E_V8HFmode)
20074 : || !nonimmediate_or_sse_const_operand (operands[1], E_V8HFmode)
20075 : || !
20076 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20077 : (TARGET_SSE
20078 : && (register_operand (operands[0], V8HFmode)
20079 : || register_operand (operands[1], V8HFmode))
20080 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20081 : return -1;
20082 : return 2460; /* movv8hf_internal */
20083 :
20084 : case E_V32BFmode:
20085 : if (!nonimmediate_operand (operands[0], E_V32BFmode)
20086 : || !nonimmediate_or_sse_const_operand (operands[1], E_V32BFmode)
20087 : || !(
20088 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20089 : (TARGET_SSE
20090 : && (register_operand (operands[0], V32BFmode)
20091 : || register_operand (operands[1], V32BFmode))
20092 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20093 : #line 293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20094 : (TARGET_AVX512F)))
20095 : return -1;
20096 : return 2461; /* movv32bf_internal */
20097 :
20098 : case E_V16BFmode:
20099 : if (!nonimmediate_operand (operands[0], E_V16BFmode)
20100 : || !nonimmediate_or_sse_const_operand (operands[1], E_V16BFmode)
20101 : || !(
20102 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20103 : (TARGET_SSE
20104 : && (register_operand (operands[0], V16BFmode)
20105 : || register_operand (operands[1], V16BFmode))
20106 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20107 : #line 293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20108 : (TARGET_AVX)))
20109 : return -1;
20110 : return 2462; /* movv16bf_internal */
20111 :
20112 : case E_V8BFmode:
20113 : if (!nonimmediate_operand (operands[0], E_V8BFmode)
20114 : || !nonimmediate_or_sse_const_operand (operands[1], E_V8BFmode)
20115 : || !
20116 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20117 : (TARGET_SSE
20118 : && (register_operand (operands[0], V8BFmode)
20119 : || register_operand (operands[1], V8BFmode))
20120 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20121 : return -1;
20122 : return 2463; /* movv8bf_internal */
20123 :
20124 : case E_V16SFmode:
20125 : if (!nonimmediate_operand (operands[0], E_V16SFmode)
20126 : || !nonimmediate_or_sse_const_operand (operands[1], E_V16SFmode)
20127 : || !(
20128 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20129 : (TARGET_SSE
20130 : && (register_operand (operands[0], V16SFmode)
20131 : || register_operand (operands[1], V16SFmode))
20132 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20133 : #line 294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20134 : (TARGET_AVX512F)))
20135 : return -1;
20136 : return 2464; /* movv16sf_internal */
20137 :
20138 : case E_V8SFmode:
20139 : if (!nonimmediate_operand (operands[0], E_V8SFmode)
20140 : || !nonimmediate_or_sse_const_operand (operands[1], E_V8SFmode)
20141 : || !(
20142 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20143 : (TARGET_SSE
20144 : && (register_operand (operands[0], V8SFmode)
20145 : || register_operand (operands[1], V8SFmode))
20146 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20147 : #line 294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20148 : (TARGET_AVX)))
20149 : return -1;
20150 : return 2465; /* movv8sf_internal */
20151 :
20152 : case E_V4SFmode:
20153 : if (!nonimmediate_operand (operands[0], E_V4SFmode)
20154 : || !nonimmediate_or_sse_const_operand (operands[1], E_V4SFmode)
20155 : || !
20156 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20157 : (TARGET_SSE
20158 : && (register_operand (operands[0], V4SFmode)
20159 : || register_operand (operands[1], V4SFmode))
20160 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20161 : return -1;
20162 : return 2466; /* movv4sf_internal */
20163 :
20164 : case E_V8DFmode:
20165 : if (!nonimmediate_operand (operands[0], E_V8DFmode)
20166 : || !nonimmediate_or_sse_const_operand (operands[1], E_V8DFmode)
20167 : || !(
20168 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20169 : (TARGET_SSE
20170 : && (register_operand (operands[0], V8DFmode)
20171 : || register_operand (operands[1], V8DFmode))
20172 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20173 : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20174 : (TARGET_AVX512F)))
20175 : return -1;
20176 : return 2467; /* movv8df_internal */
20177 :
20178 : case E_V4DFmode:
20179 : if (!nonimmediate_operand (operands[0], E_V4DFmode)
20180 : || !nonimmediate_or_sse_const_operand (operands[1], E_V4DFmode)
20181 : || !(
20182 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20183 : (TARGET_SSE
20184 : && (register_operand (operands[0], V4DFmode)
20185 : || register_operand (operands[1], V4DFmode))
20186 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20187 : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20188 : (TARGET_AVX)))
20189 : return -1;
20190 : return 2468; /* movv4df_internal */
20191 :
20192 : case E_V2DFmode:
20193 : if (!nonimmediate_operand (operands[0], E_V2DFmode)
20194 : || !nonimmediate_or_sse_const_operand (operands[1], E_V2DFmode)
20195 : || !
20196 : #line 1493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20197 : (TARGET_SSE
20198 : && (register_operand (operands[0], V2DFmode)
20199 : || register_operand (operands[1], V2DFmode))
20200 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20201 : return -1;
20202 : return 2469; /* movv2df_internal */
20203 :
20204 : default:
20205 : return -1;
20206 : }
20207 : }
20208 :
20209 : int
20210 : recog_337 (rtx x1 ATTRIBUTE_UNUSED,
20211 : rtx_insn *insn ATTRIBUTE_UNUSED,
20212 : int *pnum_clobbers ATTRIBUTE_UNUSED)
20213 : {
20214 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
20215 : rtx x2, x3, x4, x5, x6, x7;
20216 : int res ATTRIBUTE_UNUSED;
20217 : switch (pattern35 (x1))
20218 : {
20219 : case 0:
20220 : if (!
20221 : #line 24648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20222 : (TARGET_AVX2 && 1 && 1))
20223 : return -1;
20224 : return 8820; /* avx2_zero_extendv16qiv16hi2 */
20225 :
20226 : case 1:
20227 : if (!
20228 : #line 24703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20229 : (TARGET_AVX512BW))
20230 : return -1;
20231 : return 8828; /* avx512bw_zero_extendv32qiv32hi2 */
20232 :
20233 : case 2:
20234 : if (!
20235 : #line 24775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20236 : (TARGET_SSE4_1 && 1 && 1))
20237 : return -1;
20238 : return 8840; /* *sse4_1_zero_extendv8qiv8hi2_1 */
20239 :
20240 : case 3:
20241 : if (!
20242 : #line 24927 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20243 : (TARGET_AVX512F))
20244 : return -1;
20245 : return 8852; /* *avx512f_zero_extendv16qiv16si2 */
20246 :
20247 : case 4:
20248 : if (!
20249 : #line 25131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20250 : (TARGET_AVX512F))
20251 : return -1;
20252 : return 8882; /* avx512f_zero_extendv16hiv16si2 */
20253 :
20254 : case 5:
20255 : if (!
20256 : #line 24961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20257 : (TARGET_AVX2 && 1))
20258 : return -1;
20259 : return 8860; /* *avx2_zero_extendv8qiv8si2_1 */
20260 :
20261 : case 6:
20262 : if (!
20263 : #line 25185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20264 : (TARGET_AVX2 && 1))
20265 : return -1;
20266 : return 8890; /* avx2_zero_extendv8hiv8si2 */
20267 :
20268 : case 7:
20269 : if (!
20270 : #line 25051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20271 : (TARGET_SSE4_1 && 1))
20272 : return -1;
20273 : return 8872; /* *sse4_1_zero_extendv4qiv4si2_1 */
20274 :
20275 : case 8:
20276 : if (!
20277 : #line 25257 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20278 : (TARGET_SSE4_1 && 1))
20279 : return -1;
20280 : return 8902; /* *sse4_1_zero_extendv4hiv4si2_1 */
20281 :
20282 : case 9:
20283 : if (!
20284 : #line 25415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20285 : (TARGET_AVX512F))
20286 : return -1;
20287 : return 8918; /* *avx512f_zero_extendv8qiv8di2_1 */
20288 :
20289 : case 10:
20290 : if (!
20291 : #line 25646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20292 : (TARGET_AVX512F))
20293 : return -1;
20294 : return 8949; /* avx512f_zero_extendv8hiv8di2 */
20295 :
20296 : case 11:
20297 : if (!
20298 : #line 25841 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20299 : (TARGET_AVX512F))
20300 : return -1;
20301 : return 8977; /* avx512f_zero_extendv8siv8di2 */
20302 :
20303 : case 12:
20304 : if (!
20305 : #line 25501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20306 : (TARGET_AVX2 && 1))
20307 : return -1;
20308 : return 8930; /* *avx2_zero_extendv4qiv4di2_1 */
20309 :
20310 : case 13:
20311 : if (!
20312 : #line 25678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20313 : (TARGET_AVX2 && 1))
20314 : return -1;
20315 : return 8957; /* *avx2_zero_extendv4hiv4di2_1 */
20316 :
20317 : case 14:
20318 : if (!
20319 : #line 25893 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20320 : (TARGET_AVX2 && 1))
20321 : return -1;
20322 : return 8983; /* avx2_zero_extendv4siv4di2 */
20323 :
20324 : case 15:
20325 : if (!
20326 : #line 25594 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20327 : (TARGET_SSE4_1 && 1))
20328 : return -1;
20329 : return 8942; /* *sse4_1_zero_extendv2qiv2di2_1 */
20330 :
20331 : case 16:
20332 : if (!
20333 : #line 25763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20334 : (TARGET_SSE4_1 && 1))
20335 : return -1;
20336 : return 8969; /* *sse4_1_zero_extendv2hiv2di2_1 */
20337 :
20338 : case 17:
20339 : if (!
20340 : #line 25961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20341 : (TARGET_SSE4_1 && 1))
20342 : return -1;
20343 : return 8993; /* *sse4_1_zero_extendv2siv2di2_1 */
20344 :
20345 : case 18:
20346 : x2 = XEXP (x1, 1);
20347 : x3 = XEXP (x2, 0);
20348 : x4 = XEXP (x3, 0);
20349 : operands[1] = x4;
20350 : switch (pattern547 (x2))
20351 : {
20352 : case 0:
20353 : if (
20354 : #line 24762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20355 : (TARGET_SSE4_1 && 1 && 1))
20356 : return 8836; /* sse4_1_zero_extendv8qiv8hi2 */
20357 : break;
20358 :
20359 : case 1:
20360 : if (
20361 : #line 24949 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20362 : (TARGET_AVX2 && 1))
20363 : return 8856; /* avx2_zero_extendv8qiv8si2 */
20364 : break;
20365 :
20366 : case 2:
20367 : if (
20368 : #line 25404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20369 : (TARGET_AVX512F))
20370 : return 8914; /* avx512f_zero_extendv8qiv8di2 */
20371 : break;
20372 :
20373 : case 3:
20374 : if (
20375 : #line 25038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20376 : (TARGET_SSE4_1 && 1))
20377 : return 8868; /* sse4_1_zero_extendv4qiv4si2 */
20378 : break;
20379 :
20380 : case 4:
20381 : if (
20382 : #line 25244 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20383 : (TARGET_SSE4_1 && 1))
20384 : return 8898; /* sse4_1_zero_extendv4hiv4si2 */
20385 : break;
20386 :
20387 : case 5:
20388 : if (
20389 : #line 25489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20390 : (TARGET_AVX2 && 1))
20391 : return 8926; /* avx2_zero_extendv4qiv4di2 */
20392 : break;
20393 :
20394 : case 6:
20395 : if (
20396 : #line 25666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20397 : (TARGET_AVX2 && 1))
20398 : return 8953; /* avx2_zero_extendv4hiv4di2 */
20399 : break;
20400 :
20401 : case 7:
20402 : if (
20403 : #line 25581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20404 : (TARGET_SSE4_1 && 1))
20405 : return 8938; /* sse4_1_zero_extendv2qiv2di2 */
20406 : break;
20407 :
20408 : case 8:
20409 : if (
20410 : #line 25750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20411 : (TARGET_SSE4_1 && 1))
20412 : return 8965; /* sse4_1_zero_extendv2hiv2di2 */
20413 : break;
20414 :
20415 : case 9:
20416 : if (
20417 : #line 25948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20418 : (TARGET_SSE4_1 && 1))
20419 : return 8989; /* sse4_1_zero_extendv2siv2di2 */
20420 : break;
20421 :
20422 : default:
20423 : break;
20424 : }
20425 : if (GET_CODE (x4) != SUBREG
20426 : || maybe_ne (SUBREG_BYTE (x4), 0))
20427 : return -1;
20428 : x5 = XEXP (x4, 0);
20429 : switch (GET_CODE (x5))
20430 : {
20431 : case VEC_CONCAT:
20432 : switch (pattern691 (x2))
20433 : {
20434 : case 0:
20435 : if (!
20436 : #line 24800 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20437 : (TARGET_SSE4_1
20438 : && ix86_pre_reload_split ()))
20439 : return -1;
20440 : return 8843; /* *sse4_1_zero_extendv8qiv8hi2_2 */
20441 :
20442 : case 1:
20443 : if (!
20444 : #line 24981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20445 : (TARGET_AVX2
20446 : && ix86_pre_reload_split ()))
20447 : return -1;
20448 : return 8863; /* *avx2_zero_extendv8qiv8si2_2 */
20449 :
20450 : case 2:
20451 : if (!
20452 : #line 25434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20453 : (TARGET_AVX512F && ix86_pre_reload_split ()))
20454 : return -1;
20455 : return 8921; /* *avx512f_zero_extendv8qiv8di2_2 */
20456 :
20457 : case 3:
20458 : if (!
20459 : #line 25277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20460 : (TARGET_SSE4_1
20461 : && ix86_pre_reload_split ()))
20462 : return -1;
20463 : return 8905; /* *sse4_1_zero_extendv4hiv4si2_2 */
20464 :
20465 : case 4:
20466 : if (!
20467 : #line 25696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20468 : (TARGET_AVX2
20469 : && ix86_pre_reload_split ()))
20470 : return -1;
20471 : return 8960; /* *avx2_zero_extendv4hiv4di2_2 */
20472 :
20473 : case 5:
20474 : if (!
20475 : #line 25980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20476 : (TARGET_SSE4_1
20477 : && ix86_pre_reload_split ()))
20478 : return -1;
20479 : return 8996; /* *sse4_1_zero_extendv2siv2di2_2 */
20480 :
20481 : default:
20482 : return -1;
20483 : }
20484 :
20485 : case VEC_MERGE:
20486 : x6 = XEXP (x5, 0);
20487 : if (GET_CODE (x6) != VEC_DUPLICATE)
20488 : return -1;
20489 : if (GET_MODE (x6) == E_V4SImode)
20490 : {
20491 : switch (pattern1044 (x2))
20492 : {
20493 : case 0:
20494 : if (
20495 : #line 25075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20496 : (TARGET_SSE4_1 && 1
20497 : && ix86_pre_reload_split ()))
20498 : return 8876; /* *sse4_1_zero_extendv4qiv4si2_2 */
20499 : break;
20500 :
20501 : case 1:
20502 : if (
20503 : #line 25523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20504 : (TARGET_AVX2
20505 : && ix86_pre_reload_split ()))
20506 : return 8933; /* *avx2_zero_extendv4qiv4di2_2 */
20507 : break;
20508 :
20509 : case 2:
20510 : if (
20511 : #line 25786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20512 : (TARGET_SSE4_1
20513 : && ix86_pre_reload_split ()))
20514 : return 8972; /* *sse4_1_zero_extendv2hiv2di2_2 */
20515 : break;
20516 :
20517 : default:
20518 : break;
20519 : }
20520 : }
20521 : x7 = XEXP (x5, 2);
20522 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
20523 : return -1;
20524 : switch (pattern1045 (x2))
20525 : {
20526 : case 0:
20527 : if (!
20528 : #line 25630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20529 : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
20530 : return -1;
20531 : return 8944; /* *sse4_1_zero_extendv2qiv2di2_2 */
20532 :
20533 : case 1:
20534 : if (!
20535 : #line 25630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20536 : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
20537 : return -1;
20538 : return 8945; /* *sse4_1_zero_extendv2qiv2di2_2 */
20539 :
20540 : case 2:
20541 : if (!
20542 : #line 25630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20543 : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
20544 : return -1;
20545 : return 8946; /* *sse4_1_zero_extendv2qiv2di2_2 */
20546 :
20547 : default:
20548 : return -1;
20549 : }
20550 :
20551 : default:
20552 : return -1;
20553 : }
20554 :
20555 : default:
20556 : return -1;
20557 : }
20558 : }
20559 :
20560 : int
20561 : recog_343 (rtx x1 ATTRIBUTE_UNUSED,
20562 : rtx_insn *insn ATTRIBUTE_UNUSED,
20563 : int *pnum_clobbers ATTRIBUTE_UNUSED)
20564 : {
20565 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
20566 : rtx x2, x3, x4;
20567 : int res ATTRIBUTE_UNUSED;
20568 : x2 = XEXP (x1, 0);
20569 : operands[0] = x2;
20570 : x3 = XEXP (x1, 1);
20571 : x4 = XEXP (x3, 0);
20572 : switch (GET_CODE (x4))
20573 : {
20574 : case REG:
20575 : case SUBREG:
20576 : case MEM:
20577 : case VEC_DUPLICATE:
20578 : switch (pattern191 (x3))
20579 : {
20580 : case 0:
20581 : if (!(
20582 : #line 2705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20583 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V32HFmode, operands)
20584 : && 1 && 1) &&
20585 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20586 : (TARGET_AVX512FP16)))
20587 : return -1;
20588 : return 2750; /* *subv32hf3 */
20589 :
20590 : case 1:
20591 : if (!(
20592 : #line 2705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20593 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V16HFmode, operands)
20594 : && 1 && 1) &&
20595 : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20596 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
20597 : return -1;
20598 : return 2758; /* *subv16hf3 */
20599 :
20600 : case 2:
20601 : if (!(
20602 : #line 2705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20603 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8HFmode, operands)
20604 : && 1 && 1) &&
20605 : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20606 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
20607 : return -1;
20608 : return 2766; /* *subv8hf3 */
20609 :
20610 : case 3:
20611 : if (!(
20612 : #line 2705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20613 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V16SFmode, operands)
20614 : && 1 && 1) &&
20615 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20616 : (TARGET_AVX512F)))
20617 : return -1;
20618 : return 2774; /* *subv16sf3 */
20619 :
20620 : case 4:
20621 : if (!(
20622 : #line 2705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20623 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8SFmode, operands)
20624 : && 1 && 1) &&
20625 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20626 : (TARGET_AVX)))
20627 : return -1;
20628 : return 2782; /* *subv8sf3 */
20629 :
20630 : case 5:
20631 : if (!
20632 : #line 2705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20633 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V4SFmode, operands)
20634 : && 1 && 1))
20635 : return -1;
20636 : return 2790; /* *subv4sf3 */
20637 :
20638 : case 6:
20639 : if (!(
20640 : #line 2705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20641 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8DFmode, operands)
20642 : && 1 && 1) &&
20643 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20644 : (TARGET_AVX512F)))
20645 : return -1;
20646 : return 2798; /* *subv8df3 */
20647 :
20648 : case 7:
20649 : if (!(
20650 : #line 2705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20651 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V4DFmode, operands)
20652 : && 1 && 1) &&
20653 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20654 : (TARGET_AVX)))
20655 : return -1;
20656 : return 2806; /* *subv4df3 */
20657 :
20658 : case 8:
20659 : if (!(
20660 : #line 2705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20661 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V2DFmode, operands)
20662 : && 1 && 1) &&
20663 : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20664 : (TARGET_SSE2)))
20665 : return -1;
20666 : return 2814; /* *subv2df3 */
20667 :
20668 : case 9:
20669 : if (!(
20670 : #line 16666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20671 : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V64QImode, operands)) &&
20672 : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20673 : (TARGET_AVX512BW)))
20674 : return -1;
20675 : return 7496; /* *subv64qi3 */
20676 :
20677 : case 10:
20678 : if (!(
20679 : #line 16666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20680 : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V32QImode, operands)) &&
20681 : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20682 : (TARGET_AVX2)))
20683 : return -1;
20684 : return 7498; /* *subv32qi3 */
20685 :
20686 : case 11:
20687 : if (!
20688 : #line 16666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20689 : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V16QImode, operands)))
20690 : return -1;
20691 : return 7500; /* *subv16qi3 */
20692 :
20693 : case 12:
20694 : if (!(
20695 : #line 16666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20696 : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V32HImode, operands)) &&
20697 : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20698 : (TARGET_AVX512BW)))
20699 : return -1;
20700 : return 7502; /* *subv32hi3 */
20701 :
20702 : case 13:
20703 : if (!(
20704 : #line 16666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20705 : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V16HImode, operands)) &&
20706 : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20707 : (TARGET_AVX2)))
20708 : return -1;
20709 : return 7504; /* *subv16hi3 */
20710 :
20711 : case 14:
20712 : if (!
20713 : #line 16666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20714 : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V8HImode, operands)))
20715 : return -1;
20716 : return 7506; /* *subv8hi3 */
20717 :
20718 : case 15:
20719 : if (!(
20720 : #line 16666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20721 : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V16SImode, operands)) &&
20722 : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20723 : (TARGET_AVX512F)))
20724 : return -1;
20725 : return 7508; /* *subv16si3 */
20726 :
20727 : case 16:
20728 : if (!(
20729 : #line 16666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20730 : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V8SImode, operands)) &&
20731 : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20732 : (TARGET_AVX2)))
20733 : return -1;
20734 : return 7510; /* *subv8si3 */
20735 :
20736 : case 17:
20737 : if (!
20738 : #line 16666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20739 : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V4SImode, operands)))
20740 : return -1;
20741 : return 7512; /* *subv4si3 */
20742 :
20743 : case 18:
20744 : if (!(
20745 : #line 16666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20746 : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V8DImode, operands)) &&
20747 : #line 575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20748 : (TARGET_AVX512F)))
20749 : return -1;
20750 : return 7514; /* *subv8di3 */
20751 :
20752 : case 19:
20753 : if (!(
20754 : #line 16666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20755 : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V4DImode, operands)) &&
20756 : #line 575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20757 : (TARGET_AVX2)))
20758 : return -1;
20759 : return 7516; /* *subv4di3 */
20760 :
20761 : case 20:
20762 : if (!
20763 : #line 16666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20764 : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V2DImode, operands)))
20765 : return -1;
20766 : return 7518; /* *subv2di3 */
20767 :
20768 : case 21:
20769 : if (!
20770 : #line 33109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20771 : (TARGET_AVX10_2))
20772 : return -1;
20773 : return 10700; /* avx10_2_subbf16_v32bf */
20774 :
20775 : case 22:
20776 : if (!
20777 : #line 33109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20778 : (TARGET_AVX10_2))
20779 : return -1;
20780 : return 10708; /* avx10_2_subbf16_v16bf */
20781 :
20782 : case 23:
20783 : if (!
20784 : #line 33109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20785 : (TARGET_AVX10_2))
20786 : return -1;
20787 : return 10716; /* avx10_2_subbf16_v8bf */
20788 :
20789 : case 24:
20790 : if (!(
20791 : #line 16725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20792 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
20793 : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20794 : (TARGET_AVX512BW)))
20795 : return -1;
20796 : return 7555; /* *subv64qi3_one */
20797 :
20798 : case 25:
20799 : if (!(
20800 : #line 16725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20801 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
20802 : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20803 : (TARGET_AVX2)))
20804 : return -1;
20805 : return 7556; /* *subv32qi3_one */
20806 :
20807 : case 26:
20808 : if (!
20809 : #line 16725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20810 : (TARGET_SSE2 && ix86_pre_reload_split ()))
20811 : return -1;
20812 : return 7557; /* *subv16qi3_one */
20813 :
20814 : case 27:
20815 : if (!(
20816 : #line 16725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20817 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
20818 : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20819 : (TARGET_AVX512BW)))
20820 : return -1;
20821 : return 7558; /* *subv32hi3_one */
20822 :
20823 : case 28:
20824 : if (!(
20825 : #line 16725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20826 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
20827 : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20828 : (TARGET_AVX2)))
20829 : return -1;
20830 : return 7559; /* *subv16hi3_one */
20831 :
20832 : case 29:
20833 : if (!
20834 : #line 16725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20835 : (TARGET_SSE2 && ix86_pre_reload_split ()))
20836 : return -1;
20837 : return 7560; /* *subv8hi3_one */
20838 :
20839 : case 30:
20840 : if (!(
20841 : #line 16725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20842 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
20843 : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20844 : (TARGET_AVX512F)))
20845 : return -1;
20846 : return 7561; /* *subv16si3_one */
20847 :
20848 : case 31:
20849 : if (!(
20850 : #line 16725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20851 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
20852 : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20853 : (TARGET_AVX2)))
20854 : return -1;
20855 : return 7562; /* *subv8si3_one */
20856 :
20857 : case 32:
20858 : if (!
20859 : #line 16725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20860 : (TARGET_SSE2 && ix86_pre_reload_split ()))
20861 : return -1;
20862 : return 7563; /* *subv4si3_one */
20863 :
20864 : case 33:
20865 : if (!(
20866 : #line 16725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20867 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
20868 : #line 575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20869 : (TARGET_AVX512F)))
20870 : return -1;
20871 : return 7564; /* *subv8di3_one */
20872 :
20873 : case 34:
20874 : if (!(
20875 : #line 16725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20876 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
20877 : #line 575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20878 : (TARGET_AVX2)))
20879 : return -1;
20880 : return 7565; /* *subv4di3_one */
20881 :
20882 : case 35:
20883 : if (!
20884 : #line 16725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20885 : (TARGET_SSE2 && ix86_pre_reload_split ()))
20886 : return -1;
20887 : return 7566; /* *subv2di3_one */
20888 :
20889 : default:
20890 : return -1;
20891 : }
20892 :
20893 : case VEC_SELECT:
20894 : switch (pattern198 (x3))
20895 : {
20896 : case 0:
20897 : if (!
20898 : #line 23077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20899 : (TARGET_AVX2))
20900 : return -1;
20901 : return 8654; /* avx2_phsubwv16hi3 */
20902 :
20903 : case 1:
20904 : if (!
20905 : #line 23101 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20906 : (TARGET_SSSE3))
20907 : return -1;
20908 : return 8658; /* ssse3_phsubwv8hi3 */
20909 :
20910 : case 2:
20911 : if (!
20912 : #line 23170 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20913 : (TARGET_AVX2))
20914 : return -1;
20915 : return 8665; /* avx2_phsubdv8si3 */
20916 :
20917 : case 3:
20918 : if (!
20919 : #line 23192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20920 : (TARGET_SSSE3))
20921 : return -1;
20922 : return 8667; /* ssse3_phsubdv4si3 */
20923 :
20924 : default:
20925 : return -1;
20926 : }
20927 :
20928 : case SIGN_EXTEND:
20929 : switch (pattern200 (x3,
20930 : SIGN_EXTEND))
20931 : {
20932 : case 0:
20933 : if (!
20934 : #line 27271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20935 : (TARGET_XOP))
20936 : return -1;
20937 : return 9100; /* xop_phsubbw */
20938 :
20939 : case 1:
20940 : if (!
20941 : #line 27292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20942 : (TARGET_XOP))
20943 : return -1;
20944 : return 9101; /* xop_phsubwd */
20945 :
20946 : case 2:
20947 : if (!
20948 : #line 27311 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20949 : (TARGET_XOP))
20950 : return -1;
20951 : return 9102; /* xop_phsubdq */
20952 :
20953 : default:
20954 : return -1;
20955 : }
20956 :
20957 : default:
20958 : return -1;
20959 : }
20960 : }
20961 :
20962 : int
20963 : recog_354 (rtx x1 ATTRIBUTE_UNUSED,
20964 : rtx_insn *insn ATTRIBUTE_UNUSED,
20965 : int *pnum_clobbers ATTRIBUTE_UNUSED)
20966 : {
20967 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
20968 : rtx x2, x3, x4;
20969 : int res ATTRIBUTE_UNUSED;
20970 : x2 = XEXP (x1, 0);
20971 : operands[0] = x2;
20972 : x3 = XEXP (x1, 1);
20973 : x4 = XEXP (x3, 0);
20974 : operands[1] = x4;
20975 : switch (GET_MODE (operands[0]))
20976 : {
20977 : case E_V16SImode:
20978 : if (!register_operand (operands[0], E_V16SImode)
20979 : || GET_MODE (x3) != E_V16SImode
20980 : || !nonimmediate_operand (operands[1], E_V16SImode)
20981 : || !
20982 : #line 30904 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20983 : (TARGET_AVX512CD))
20984 : return -1;
20985 : return 10154; /* clzv16si2 */
20986 :
20987 : case E_V8SImode:
20988 : if (!register_operand (operands[0], E_V8SImode)
20989 : || GET_MODE (x3) != E_V8SImode
20990 : || !nonimmediate_operand (operands[1], E_V8SImode)
20991 : || !(
20992 : #line 30904 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20993 : (TARGET_AVX512CD) &&
20994 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20995 : (TARGET_AVX512VL)))
20996 : return -1;
20997 : return 10156; /* clzv8si2 */
20998 :
20999 : case E_V4SImode:
21000 : if (!register_operand (operands[0], E_V4SImode)
21001 : || GET_MODE (x3) != E_V4SImode
21002 : || !nonimmediate_operand (operands[1], E_V4SImode)
21003 : || !(
21004 : #line 30904 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21005 : (TARGET_AVX512CD) &&
21006 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21007 : (TARGET_AVX512VL)))
21008 : return -1;
21009 : return 10158; /* clzv4si2 */
21010 :
21011 : case E_V8DImode:
21012 : if (!register_operand (operands[0], E_V8DImode)
21013 : || GET_MODE (x3) != E_V8DImode
21014 : || !nonimmediate_operand (operands[1], E_V8DImode)
21015 : || !
21016 : #line 30904 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21017 : (TARGET_AVX512CD))
21018 : return -1;
21019 : return 10160; /* clzv8di2 */
21020 :
21021 : case E_V4DImode:
21022 : if (!register_operand (operands[0], E_V4DImode)
21023 : || GET_MODE (x3) != E_V4DImode
21024 : || !nonimmediate_operand (operands[1], E_V4DImode)
21025 : || !(
21026 : #line 30904 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21027 : (TARGET_AVX512CD) &&
21028 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21029 : (TARGET_AVX512VL)))
21030 : return -1;
21031 : return 10162; /* clzv4di2 */
21032 :
21033 : case E_V2DImode:
21034 : if (!register_operand (operands[0], E_V2DImode)
21035 : || GET_MODE (x3) != E_V2DImode
21036 : || !nonimmediate_operand (operands[1], E_V2DImode)
21037 : || !(
21038 : #line 30904 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21039 : (TARGET_AVX512CD) &&
21040 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21041 : (TARGET_AVX512VL)))
21042 : return -1;
21043 : return 10164; /* clzv2di2 */
21044 :
21045 : default:
21046 : return -1;
21047 : }
21048 : }
21049 :
21050 : int
21051 : recog_357 (rtx x1 ATTRIBUTE_UNUSED,
21052 : rtx_insn *insn ATTRIBUTE_UNUSED,
21053 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21054 : {
21055 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21056 : int res ATTRIBUTE_UNUSED;
21057 : switch (pattern33 (x1))
21058 : {
21059 : case 0:
21060 : if (!
21061 : #line 17982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21062 : (TARGET_SSE2 && TARGET_64BIT
21063 : && ix86_pre_reload_split ()))
21064 : return -1;
21065 : return 7755; /* *rotlv1ti3_internal */
21066 :
21067 : case 1:
21068 : if (!
21069 : #line 18078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21070 : (TARGET_AVX512F))
21071 : return -1;
21072 : return 7791; /* avx512f_rolv16si */
21073 :
21074 : case 2:
21075 : if (!(
21076 : #line 18078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21077 : (TARGET_AVX512F) &&
21078 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21079 : (TARGET_AVX512VL)))
21080 : return -1;
21081 : return 7795; /* avx512vl_rolv8si */
21082 :
21083 : case 3:
21084 : if (const_0_to_255_operand (operands[2], E_SImode)
21085 : && (
21086 : #line 18078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21087 : (TARGET_AVX512F) &&
21088 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21089 : (TARGET_AVX512VL)))
21090 : return 7799; /* avx512vl_rolv4si */
21091 : if (!const_0_to_31_operand (operands[2], E_SImode)
21092 : || !
21093 : #line 27442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21094 : (TARGET_XOP))
21095 : return -1;
21096 : return 9109; /* xop_rotlv4si3 */
21097 :
21098 : case 4:
21099 : if (!
21100 : #line 18078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21101 : (TARGET_AVX512F))
21102 : return -1;
21103 : return 7803; /* avx512f_rolv8di */
21104 :
21105 : case 5:
21106 : if (!(
21107 : #line 18078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21108 : (TARGET_AVX512F) &&
21109 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21110 : (TARGET_AVX512VL)))
21111 : return -1;
21112 : return 7807; /* avx512vl_rolv4di */
21113 :
21114 : case 6:
21115 : if (const_0_to_255_operand (operands[2], E_SImode)
21116 : && (
21117 : #line 18078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21118 : (TARGET_AVX512F) &&
21119 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21120 : (TARGET_AVX512VL)))
21121 : return 7811; /* avx512vl_rolv2di */
21122 : if (!const_0_to_63_operand (operands[2], E_SImode)
21123 : || !
21124 : #line 27442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21125 : (TARGET_XOP))
21126 : return -1;
21127 : return 9110; /* xop_rotlv2di3 */
21128 :
21129 : case 7:
21130 : if (!
21131 : #line 27442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21132 : (TARGET_XOP))
21133 : return -1;
21134 : return 9107; /* xop_rotlv16qi3 */
21135 :
21136 : case 8:
21137 : if (!
21138 : #line 27442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21139 : (TARGET_XOP))
21140 : return -1;
21141 : return 9108; /* xop_rotlv8hi3 */
21142 :
21143 : case 9:
21144 : if (!
21145 : #line 18068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21146 : (TARGET_AVX512F))
21147 : return -1;
21148 : return 7767; /* avx512f_rolvv16si */
21149 :
21150 : case 10:
21151 : if (!(
21152 : #line 18068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21153 : (TARGET_AVX512F) &&
21154 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21155 : (TARGET_AVX512VL)))
21156 : return -1;
21157 : return 7771; /* avx512vl_rolvv8si */
21158 :
21159 : case 11:
21160 : if (!(
21161 : #line 18068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21162 : (TARGET_AVX512F) &&
21163 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21164 : (TARGET_AVX512VL)))
21165 : return -1;
21166 : return 7775; /* avx512vl_rolvv4si */
21167 :
21168 : case 12:
21169 : if (!
21170 : #line 18068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21171 : (TARGET_AVX512F))
21172 : return -1;
21173 : return 7779; /* avx512f_rolvv8di */
21174 :
21175 : case 13:
21176 : if (!(
21177 : #line 18068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21178 : (TARGET_AVX512F) &&
21179 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21180 : (TARGET_AVX512VL)))
21181 : return -1;
21182 : return 7783; /* avx512vl_rolvv4di */
21183 :
21184 : case 14:
21185 : if (!(
21186 : #line 18068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21187 : (TARGET_AVX512F) &&
21188 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21189 : (TARGET_AVX512VL)))
21190 : return -1;
21191 : return 7787; /* avx512vl_rolvv2di */
21192 :
21193 : default:
21194 : return -1;
21195 : }
21196 : }
21197 :
21198 : int
21199 : recog_367 (rtx x1 ATTRIBUTE_UNUSED,
21200 : rtx_insn *insn ATTRIBUTE_UNUSED,
21201 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21202 : {
21203 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21204 : rtx x2, x3, x4;
21205 : int res ATTRIBUTE_UNUSED;
21206 : x2 = XVECEXP (x1, 0, 0);
21207 : x3 = XEXP (x2, 0);
21208 : switch (GET_CODE (x3))
21209 : {
21210 : case REG:
21211 : case SUBREG:
21212 : case MEM:
21213 : operands[0] = x3;
21214 : switch (GET_MODE (operands[0]))
21215 : {
21216 : case E_DImode:
21217 : x4 = XEXP (x2, 1);
21218 : if (GET_MODE (x4) != E_DImode)
21219 : return -1;
21220 : if (register_operand (operands[0], E_DImode)
21221 : && register_operand (operands[1], E_DImode)
21222 : && nonmemory_operand (operands[2], E_QImode)
21223 : &&
21224 : #line 1199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21225 : (!TARGET_64BIT))
21226 : return 1163; /* ashrdi3_doubleword */
21227 : if (!nonimmediate_operand (operands[0], E_DImode)
21228 : || !nonimmediate_operand (operands[1], E_DImode))
21229 : return -1;
21230 : if (const_int_operand (operands[2], E_QImode)
21231 : && (
21232 : #line 18172 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21233 : (INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)-1
21234 : && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
21235 : && ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
21236 : && true) &&
21237 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21238 : (TARGET_64BIT)))
21239 : return 1201; /* ashrdi3_cvt */
21240 : if (!nonmemory_operand (operands[2], E_QImode)
21241 : || !(
21242 : #line 18261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21243 : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
21244 : && true) &&
21245 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21246 : (TARGET_64BIT)))
21247 : return -1;
21248 : return 1210; /* *ashrdi3_1 */
21249 :
21250 : case E_TImode:
21251 : x4 = XEXP (x2, 1);
21252 : if (pattern1343 (x4,
21253 : E_TImode) != 0
21254 : || !
21255 : #line 1200 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21256 : (TARGET_64BIT))
21257 : return -1;
21258 : return 1165; /* ashrti3_doubleword */
21259 :
21260 : case E_SImode:
21261 : x4 = XEXP (x2, 1);
21262 : if (pattern1532 (x4,
21263 : E_SImode) != 0
21264 : || !
21265 : #line 18261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21266 : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)
21267 : && true))
21268 : return -1;
21269 : return 1208; /* *ashrsi3_1 */
21270 :
21271 : case E_QImode:
21272 : x4 = XEXP (x2, 1);
21273 : if (pattern1532 (x4,
21274 : E_QImode) != 0
21275 : || !
21276 : #line 18473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21277 : (ix86_binary_operator_ok (ASHIFTRT, QImode, operands, TARGET_APX_NDD)
21278 : && true))
21279 : return -1;
21280 : return 1241; /* *ashrqi3_1 */
21281 :
21282 : case E_HImode:
21283 : x4 = XEXP (x2, 1);
21284 : if (pattern1532 (x4,
21285 : E_HImode) != 0
21286 : || !
21287 : #line 18473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21288 : (ix86_binary_operator_ok (ASHIFTRT, HImode, operands, TARGET_APX_NDD)
21289 : && true))
21290 : return -1;
21291 : return 1243; /* *ashrhi3_1 */
21292 :
21293 : case E_V2QImode:
21294 : x4 = XEXP (x2, 1);
21295 : if (pattern1343 (x4,
21296 : E_V2QImode) != 0
21297 : || !
21298 : #line 4039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
21299 : (!TARGET_PARTIAL_REG_STALL || optimize_size))
21300 : return -1;
21301 : return 2264; /* ashrv2qi3 */
21302 :
21303 : default:
21304 : return -1;
21305 : }
21306 :
21307 : case STRICT_LOW_PART:
21308 : switch (pattern1344 (x2))
21309 : {
21310 : case 0:
21311 : if (!
21312 : #line 18568 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21313 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
21314 : return -1;
21315 : return 1249; /* *ashrqi3_1_slp */
21316 :
21317 : case 1:
21318 : if (!
21319 : #line 18568 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21320 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
21321 : return -1;
21322 : return 1251; /* *ashrhi3_1_slp */
21323 :
21324 : default:
21325 : return -1;
21326 : }
21327 :
21328 : default:
21329 : return -1;
21330 : }
21331 : }
21332 :
21333 : int
21334 : recog_372 (rtx x1 ATTRIBUTE_UNUSED,
21335 : rtx_insn *insn ATTRIBUTE_UNUSED,
21336 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21337 : {
21338 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21339 : rtx x2, x3, x4, x5, x6, x7, x8;
21340 : int res ATTRIBUTE_UNUSED;
21341 : x2 = XVECEXP (x1, 0, 0);
21342 : x3 = XEXP (x2, 0);
21343 : if (GET_MODE (x3) != E_CCCmode)
21344 : return -1;
21345 : x4 = XEXP (x2, 1);
21346 : if (GET_MODE (x4) != E_CCCmode)
21347 : return -1;
21348 : x5 = XVECEXP (x1, 0, 1);
21349 : switch (GET_CODE (x5))
21350 : {
21351 : case SET:
21352 : x6 = XEXP (x5, 1);
21353 : if (GET_CODE (x6) != NEG)
21354 : return -1;
21355 : x7 = XEXP (x5, 0);
21356 : operands[0] = x7;
21357 : x8 = XEXP (x6, 0);
21358 : if (!rtx_equal_p (x8, operands[1]))
21359 : return -1;
21360 : switch (GET_MODE (operands[1]))
21361 : {
21362 : case E_QImode:
21363 : if (!nonimmediate_operand (operands[1], E_QImode)
21364 : || !nonimmediate_operand (operands[0], E_QImode)
21365 : || GET_MODE (x6) != E_QImode)
21366 : return -1;
21367 : return 1012; /* *negqi_ccc_1 */
21368 :
21369 : case E_HImode:
21370 : if (!nonimmediate_operand (operands[1], E_HImode)
21371 : || !nonimmediate_operand (operands[0], E_HImode)
21372 : || GET_MODE (x6) != E_HImode)
21373 : return -1;
21374 : return 1013; /* *neghi_ccc_1 */
21375 :
21376 : case E_SImode:
21377 : if (!nonimmediate_operand (operands[1], E_SImode)
21378 : || !nonimmediate_operand (operands[0], E_SImode)
21379 : || GET_MODE (x6) != E_SImode)
21380 : return -1;
21381 : return 1014; /* *negsi_ccc_1 */
21382 :
21383 : case E_DImode:
21384 : if (!nonimmediate_operand (operands[1], E_DImode)
21385 : || !nonimmediate_operand (operands[0], E_DImode)
21386 : || GET_MODE (x6) != E_DImode
21387 : || !
21388 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21389 : (TARGET_64BIT))
21390 : return -1;
21391 : return 1015; /* *negdi_ccc_1 */
21392 :
21393 : default:
21394 : return -1;
21395 : }
21396 :
21397 : case CLOBBER:
21398 : x7 = XEXP (x5, 0);
21399 : operands[0] = x7;
21400 : switch (GET_MODE (operands[1]))
21401 : {
21402 : case E_QImode:
21403 : if (!nonimmediate_operand (operands[1], E_QImode)
21404 : || !scratch_operand (operands[0], E_QImode))
21405 : return -1;
21406 : return 1016; /* *negqi_ccc_2 */
21407 :
21408 : case E_HImode:
21409 : if (!nonimmediate_operand (operands[1], E_HImode)
21410 : || !scratch_operand (operands[0], E_HImode))
21411 : return -1;
21412 : return 1017; /* *neghi_ccc_2 */
21413 :
21414 : case E_SImode:
21415 : if (!nonimmediate_operand (operands[1], E_SImode)
21416 : || !scratch_operand (operands[0], E_SImode))
21417 : return -1;
21418 : return 1018; /* *negsi_ccc_2 */
21419 :
21420 : case E_DImode:
21421 : if (!nonimmediate_operand (operands[1], E_DImode)
21422 : || !scratch_operand (operands[0], E_DImode)
21423 : || !
21424 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21425 : (TARGET_64BIT))
21426 : return -1;
21427 : return 1019; /* *negdi_ccc_2 */
21428 :
21429 : default:
21430 : return -1;
21431 : }
21432 :
21433 : default:
21434 : return -1;
21435 : }
21436 : }
21437 :
21438 : int
21439 : recog_376 (rtx x1 ATTRIBUTE_UNUSED,
21440 : rtx_insn *insn ATTRIBUTE_UNUSED,
21441 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21442 : {
21443 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21444 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21445 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
21446 : rtx x18, x19, x20, x21, x22;
21447 : int res ATTRIBUTE_UNUSED;
21448 : x2 = XVECEXP (x1, 0, 0);
21449 : x3 = XEXP (x2, 1);
21450 : switch (XVECLEN (x3, 0))
21451 : {
21452 : case 1:
21453 : return recog_375 (x1, insn, pnum_clobbers);
21454 :
21455 : case 2:
21456 : return recog_374 (x1, insn, pnum_clobbers);
21457 :
21458 : case 3:
21459 : return recog_373 (x1, insn, pnum_clobbers);
21460 :
21461 : case 4:
21462 : x4 = XVECEXP (x1, 0, 1);
21463 : if (GET_CODE (x4) != CLOBBER)
21464 : return -1;
21465 : x5 = XEXP (x2, 0);
21466 : operands[0] = x5;
21467 : switch (XINT (x3, 1))
21468 : {
21469 : case 23:
21470 : if (pattern827 (x3) != 0)
21471 : return -1;
21472 : x6 = XEXP (x4, 0);
21473 : if (GET_CODE (x6) != REG
21474 : || REGNO (x6) != 17
21475 : || GET_MODE (x6) != E_CCmode
21476 : || !register_operand (operands[0], E_SImode))
21477 : return -1;
21478 : x7 = XVECEXP (x3, 0, 0);
21479 : operands[1] = x7;
21480 : if (!tls_symbolic_operand (operands[1], E_VOIDmode))
21481 : return -1;
21482 : x8 = XVECEXP (x3, 0, 1);
21483 : operands[2] = x8;
21484 : if (!register_operand (operands[2], E_SImode))
21485 : return -1;
21486 : x9 = XVECEXP (x3, 0, 2);
21487 : operands[3] = x9;
21488 : if (!register_operand (operands[3], E_SImode)
21489 : || !
21490 : #line 24271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21491 : (!TARGET_64BIT && TARGET_GNU2_TLS))
21492 : return -1;
21493 : return 1691; /* *tls_dynamic_gnu2_call_32 */
21494 :
21495 : case 24:
21496 : if (pnum_clobbers == NULL)
21497 : return -1;
21498 : x7 = XVECEXP (x3, 0, 0);
21499 : if (GET_CODE (x7) != MEM
21500 : || GET_MODE (x7) != E_BLKmode)
21501 : return -1;
21502 : switch (pattern1162 (x1))
21503 : {
21504 : case 0:
21505 : if (!(
21506 : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21507 : (!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
21508 : && ix86_check_no_addr_space (insn)) &&
21509 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21510 : (Pmode == SImode)))
21511 : return -1;
21512 : *pnum_clobbers = 1;
21513 : return 1819; /* *strlenqi_1 */
21514 :
21515 : case 1:
21516 : if (!(
21517 : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21518 : (!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
21519 : && ix86_check_no_addr_space (insn)) &&
21520 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21521 : (Pmode == DImode)))
21522 : return -1;
21523 : *pnum_clobbers = 1;
21524 : return 1820; /* *strlenqi_1 */
21525 :
21526 : default:
21527 : return -1;
21528 : }
21529 :
21530 : case 154:
21531 : x8 = XVECEXP (x3, 0, 1);
21532 : if (GET_CODE (x8) != MEM)
21533 : return -1;
21534 : x10 = XEXP (x8, 0);
21535 : if (GET_CODE (x10) != UNSPEC
21536 : || XVECLEN (x10, 0) != 3
21537 : || XINT (x10, 1) != 155)
21538 : return -1;
21539 : x9 = XVECEXP (x3, 0, 2);
21540 : if (GET_CODE (x9) != MEM
21541 : || GET_MODE (x9) != E_BLKmode)
21542 : return -1;
21543 : x11 = XEXP (x9, 0);
21544 : if (GET_CODE (x11) != SCRATCH)
21545 : return -1;
21546 : x12 = XVECEXP (x10, 0, 2);
21547 : if (!const1248_operand (x12, E_SImode))
21548 : return -1;
21549 : x6 = XEXP (x4, 0);
21550 : operands[1] = x6;
21551 : x7 = XVECEXP (x3, 0, 0);
21552 : switch (GET_CODE (x7))
21553 : {
21554 : case REG:
21555 : case SUBREG:
21556 : operands[2] = x7;
21557 : operands[7] = x8;
21558 : x13 = XVECEXP (x10, 0, 0);
21559 : operands[3] = x13;
21560 : x14 = XVECEXP (x10, 0, 1);
21561 : operands[4] = x14;
21562 : operands[6] = x12;
21563 : x15 = XVECEXP (x3, 0, 3);
21564 : operands[5] = x15;
21565 : switch (GET_MODE (operands[0]))
21566 : {
21567 : case E_V2DImode:
21568 : switch (pattern1813 (x3,
21569 : E_V2DImode,
21570 : E_DImode))
21571 : {
21572 : case 0:
21573 : if (!(
21574 : #line 30254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21575 : (TARGET_AVX2) &&
21576 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21577 : (Pmode == SImode)))
21578 : return -1;
21579 : return 9764; /* *avx2_gathersiv2di */
21580 :
21581 : case 1:
21582 : if (!(
21583 : #line 30317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21584 : (TARGET_AVX2) &&
21585 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21586 : (Pmode == SImode)))
21587 : return -1;
21588 : return 9796; /* *avx2_gatherdiv2di */
21589 :
21590 : case 2:
21591 : if (!(
21592 : #line 30254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21593 : (TARGET_AVX2) &&
21594 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21595 : (Pmode == DImode)))
21596 : return -1;
21597 : return 9772; /* *avx2_gathersiv2di */
21598 :
21599 : case 3:
21600 : if (!(
21601 : #line 30317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21602 : (TARGET_AVX2) &&
21603 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21604 : (Pmode == DImode)))
21605 : return -1;
21606 : return 9804; /* *avx2_gatherdiv2di */
21607 :
21608 : default:
21609 : return -1;
21610 : }
21611 :
21612 : case E_V2DFmode:
21613 : switch (pattern1813 (x3,
21614 : E_V2DFmode,
21615 : E_DFmode))
21616 : {
21617 : case 0:
21618 : if (!(
21619 : #line 30254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21620 : (TARGET_AVX2) &&
21621 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21622 : (Pmode == SImode)))
21623 : return -1;
21624 : return 9765; /* *avx2_gathersiv2df */
21625 :
21626 : case 1:
21627 : if (!(
21628 : #line 30317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21629 : (TARGET_AVX2) &&
21630 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21631 : (Pmode == SImode)))
21632 : return -1;
21633 : return 9797; /* *avx2_gatherdiv2df */
21634 :
21635 : case 2:
21636 : if (!(
21637 : #line 30254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21638 : (TARGET_AVX2) &&
21639 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21640 : (Pmode == DImode)))
21641 : return -1;
21642 : return 9773; /* *avx2_gathersiv2df */
21643 :
21644 : case 3:
21645 : if (!(
21646 : #line 30317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21647 : (TARGET_AVX2) &&
21648 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21649 : (Pmode == DImode)))
21650 : return -1;
21651 : return 9805; /* *avx2_gatherdiv2df */
21652 :
21653 : default:
21654 : return -1;
21655 : }
21656 :
21657 : case E_V4DImode:
21658 : switch (pattern1815 (x3,
21659 : E_V4DImode,
21660 : E_DImode))
21661 : {
21662 : case 0:
21663 : if (!(
21664 : #line 30254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21665 : (TARGET_AVX2) &&
21666 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21667 : (Pmode == SImode)))
21668 : return -1;
21669 : return 9766; /* *avx2_gathersiv4di */
21670 :
21671 : case 1:
21672 : if (!(
21673 : #line 30317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21674 : (TARGET_AVX2) &&
21675 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21676 : (Pmode == SImode)))
21677 : return -1;
21678 : return 9798; /* *avx2_gatherdiv4di */
21679 :
21680 : case 2:
21681 : if (!(
21682 : #line 30254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21683 : (TARGET_AVX2) &&
21684 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21685 : (Pmode == DImode)))
21686 : return -1;
21687 : return 9774; /* *avx2_gathersiv4di */
21688 :
21689 : case 3:
21690 : if (!(
21691 : #line 30317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21692 : (TARGET_AVX2) &&
21693 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21694 : (Pmode == DImode)))
21695 : return -1;
21696 : return 9806; /* *avx2_gatherdiv4di */
21697 :
21698 : default:
21699 : return -1;
21700 : }
21701 :
21702 : case E_V4DFmode:
21703 : switch (pattern1815 (x3,
21704 : E_V4DFmode,
21705 : E_DFmode))
21706 : {
21707 : case 0:
21708 : if (!(
21709 : #line 30254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21710 : (TARGET_AVX2) &&
21711 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21712 : (Pmode == SImode)))
21713 : return -1;
21714 : return 9767; /* *avx2_gathersiv4df */
21715 :
21716 : case 1:
21717 : if (!(
21718 : #line 30317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21719 : (TARGET_AVX2) &&
21720 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21721 : (Pmode == SImode)))
21722 : return -1;
21723 : return 9799; /* *avx2_gatherdiv4df */
21724 :
21725 : case 2:
21726 : if (!(
21727 : #line 30254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21728 : (TARGET_AVX2) &&
21729 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21730 : (Pmode == DImode)))
21731 : return -1;
21732 : return 9775; /* *avx2_gathersiv4df */
21733 :
21734 : case 3:
21735 : if (!(
21736 : #line 30317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21737 : (TARGET_AVX2) &&
21738 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21739 : (Pmode == DImode)))
21740 : return -1;
21741 : return 9807; /* *avx2_gatherdiv4df */
21742 :
21743 : default:
21744 : return -1;
21745 : }
21746 :
21747 : case E_V4SImode:
21748 : switch (pattern1813 (x3,
21749 : E_V4SImode,
21750 : E_SImode))
21751 : {
21752 : case 0:
21753 : if (!(
21754 : #line 30254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21755 : (TARGET_AVX2) &&
21756 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21757 : (Pmode == SImode)))
21758 : return -1;
21759 : return 9768; /* *avx2_gathersiv4si */
21760 :
21761 : case 1:
21762 : if (!(
21763 : #line 30317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21764 : (TARGET_AVX2) &&
21765 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21766 : (Pmode == SImode)))
21767 : return -1;
21768 : return 9800; /* *avx2_gatherdiv4si */
21769 :
21770 : case 2:
21771 : if (!(
21772 : #line 30254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21773 : (TARGET_AVX2) &&
21774 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21775 : (Pmode == DImode)))
21776 : return -1;
21777 : return 9776; /* *avx2_gathersiv4si */
21778 :
21779 : case 3:
21780 : if (!(
21781 : #line 30317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21782 : (TARGET_AVX2) &&
21783 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21784 : (Pmode == DImode)))
21785 : return -1;
21786 : return 9808; /* *avx2_gatherdiv4si */
21787 :
21788 : default:
21789 : return -1;
21790 : }
21791 :
21792 : case E_V4SFmode:
21793 : switch (pattern1813 (x3,
21794 : E_V4SFmode,
21795 : E_SFmode))
21796 : {
21797 : case 0:
21798 : if (!(
21799 : #line 30254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21800 : (TARGET_AVX2) &&
21801 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21802 : (Pmode == SImode)))
21803 : return -1;
21804 : return 9769; /* *avx2_gathersiv4sf */
21805 :
21806 : case 1:
21807 : if (!(
21808 : #line 30317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21809 : (TARGET_AVX2) &&
21810 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21811 : (Pmode == SImode)))
21812 : return -1;
21813 : return 9801; /* *avx2_gatherdiv4sf */
21814 :
21815 : case 2:
21816 : if (!(
21817 : #line 30254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21818 : (TARGET_AVX2) &&
21819 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21820 : (Pmode == DImode)))
21821 : return -1;
21822 : return 9777; /* *avx2_gathersiv4sf */
21823 :
21824 : case 3:
21825 : if (!(
21826 : #line 30317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21827 : (TARGET_AVX2) &&
21828 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21829 : (Pmode == DImode)))
21830 : return -1;
21831 : return 9809; /* *avx2_gatherdiv4sf */
21832 :
21833 : default:
21834 : return -1;
21835 : }
21836 :
21837 : case E_V8SImode:
21838 : if (pattern1816 (x3,
21839 : E_V8SImode,
21840 : E_SImode) != 0)
21841 : return -1;
21842 : switch (GET_MODE (operands[2]))
21843 : {
21844 : case E_V8SImode:
21845 : if (!register_operand (operands[2], E_V8SImode)
21846 : || !register_operand (operands[4], E_V8SImode))
21847 : return -1;
21848 : switch (pattern1866 (x10,
21849 : E_V8SImode))
21850 : {
21851 : case 0:
21852 : if (!(
21853 : #line 30254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21854 : (TARGET_AVX2) &&
21855 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21856 : (Pmode == SImode)))
21857 : return -1;
21858 : return 9770; /* *avx2_gathersiv8si */
21859 :
21860 : case 1:
21861 : if (!(
21862 : #line 30254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21863 : (TARGET_AVX2) &&
21864 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21865 : (Pmode == DImode)))
21866 : return -1;
21867 : return 9778; /* *avx2_gathersiv8si */
21868 :
21869 : default:
21870 : return -1;
21871 : }
21872 :
21873 : case E_V4SImode:
21874 : switch (pattern1867 (x10,
21875 : E_V4SImode,
21876 : E_V4DImode))
21877 : {
21878 : case 0:
21879 : if (!(
21880 : #line 30317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21881 : (TARGET_AVX2) &&
21882 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21883 : (Pmode == SImode)))
21884 : return -1;
21885 : return 9802; /* *avx2_gatherdiv8si */
21886 :
21887 : case 1:
21888 : if (!(
21889 : #line 30317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21890 : (TARGET_AVX2) &&
21891 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21892 : (Pmode == DImode)))
21893 : return -1;
21894 : return 9810; /* *avx2_gatherdiv8si */
21895 :
21896 : default:
21897 : return -1;
21898 : }
21899 :
21900 : default:
21901 : return -1;
21902 : }
21903 :
21904 : case E_V8SFmode:
21905 : if (pattern1816 (x3,
21906 : E_V8SFmode,
21907 : E_SFmode) != 0)
21908 : return -1;
21909 : switch (GET_MODE (operands[2]))
21910 : {
21911 : case E_V8SFmode:
21912 : switch (pattern1867 (x10,
21913 : E_V8SFmode,
21914 : E_V8SImode))
21915 : {
21916 : case 0:
21917 : if (!(
21918 : #line 30254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21919 : (TARGET_AVX2) &&
21920 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21921 : (Pmode == SImode)))
21922 : return -1;
21923 : return 9771; /* *avx2_gathersiv8sf */
21924 :
21925 : case 1:
21926 : if (!(
21927 : #line 30254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21928 : (TARGET_AVX2) &&
21929 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21930 : (Pmode == DImode)))
21931 : return -1;
21932 : return 9779; /* *avx2_gathersiv8sf */
21933 :
21934 : default:
21935 : return -1;
21936 : }
21937 :
21938 : case E_V4SFmode:
21939 : switch (pattern1867 (x10,
21940 : E_V4SFmode,
21941 : E_V4DImode))
21942 : {
21943 : case 0:
21944 : if (!(
21945 : #line 30317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21946 : (TARGET_AVX2) &&
21947 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21948 : (Pmode == SImode)))
21949 : return -1;
21950 : return 9803; /* *avx2_gatherdiv8sf */
21951 :
21952 : case 1:
21953 : if (!(
21954 : #line 30317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21955 : (TARGET_AVX2) &&
21956 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21957 : (Pmode == DImode)))
21958 : return -1;
21959 : return 9811; /* *avx2_gatherdiv8sf */
21960 :
21961 : default:
21962 : return -1;
21963 : }
21964 :
21965 : default:
21966 : return -1;
21967 : }
21968 :
21969 : default:
21970 : return -1;
21971 : }
21972 :
21973 : case PC:
21974 : operands[6] = x8;
21975 : x13 = XVECEXP (x10, 0, 0);
21976 : operands[2] = x13;
21977 : x14 = XVECEXP (x10, 0, 1);
21978 : operands[3] = x14;
21979 : operands[5] = x12;
21980 : x15 = XVECEXP (x3, 0, 3);
21981 : operands[4] = x15;
21982 : switch (GET_MODE (operands[0]))
21983 : {
21984 : case E_V2DImode:
21985 : switch (pattern1795 (x3,
21986 : E_V2DImode,
21987 : E_DImode))
21988 : {
21989 : case 0:
21990 : if (!(
21991 : #line 30275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21992 : (TARGET_AVX2) &&
21993 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21994 : (Pmode == SImode)))
21995 : return -1;
21996 : return 9780; /* *avx2_gathersiv2di_2 */
21997 :
21998 : case 1:
21999 : if (!(
22000 : #line 30338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22001 : (TARGET_AVX2) &&
22002 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22003 : (Pmode == SImode)))
22004 : return -1;
22005 : return 9812; /* *avx2_gatherdiv2di_2 */
22006 :
22007 : case 2:
22008 : if (!(
22009 : #line 30275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22010 : (TARGET_AVX2) &&
22011 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22012 : (Pmode == DImode)))
22013 : return -1;
22014 : return 9788; /* *avx2_gathersiv2di_2 */
22015 :
22016 : case 3:
22017 : if (!(
22018 : #line 30338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22019 : (TARGET_AVX2) &&
22020 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22021 : (Pmode == DImode)))
22022 : return -1;
22023 : return 9820; /* *avx2_gatherdiv2di_2 */
22024 :
22025 : default:
22026 : return -1;
22027 : }
22028 :
22029 : case E_V2DFmode:
22030 : switch (pattern1795 (x3,
22031 : E_V2DFmode,
22032 : E_DFmode))
22033 : {
22034 : case 0:
22035 : if (!(
22036 : #line 30275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22037 : (TARGET_AVX2) &&
22038 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22039 : (Pmode == SImode)))
22040 : return -1;
22041 : return 9781; /* *avx2_gathersiv2df_2 */
22042 :
22043 : case 1:
22044 : if (!(
22045 : #line 30338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22046 : (TARGET_AVX2) &&
22047 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22048 : (Pmode == SImode)))
22049 : return -1;
22050 : return 9813; /* *avx2_gatherdiv2df_2 */
22051 :
22052 : case 2:
22053 : if (!(
22054 : #line 30275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22055 : (TARGET_AVX2) &&
22056 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22057 : (Pmode == DImode)))
22058 : return -1;
22059 : return 9789; /* *avx2_gathersiv2df_2 */
22060 :
22061 : case 3:
22062 : if (!(
22063 : #line 30338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22064 : (TARGET_AVX2) &&
22065 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22066 : (Pmode == DImode)))
22067 : return -1;
22068 : return 9821; /* *avx2_gatherdiv2df_2 */
22069 :
22070 : default:
22071 : return -1;
22072 : }
22073 :
22074 : case E_V4DImode:
22075 : switch (pattern1797 (x3,
22076 : E_V4DImode,
22077 : E_DImode))
22078 : {
22079 : case 0:
22080 : if (!(
22081 : #line 30275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22082 : (TARGET_AVX2) &&
22083 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22084 : (Pmode == SImode)))
22085 : return -1;
22086 : return 9782; /* *avx2_gathersiv4di_2 */
22087 :
22088 : case 1:
22089 : if (!(
22090 : #line 30338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22091 : (TARGET_AVX2) &&
22092 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22093 : (Pmode == SImode)))
22094 : return -1;
22095 : return 9814; /* *avx2_gatherdiv4di_2 */
22096 :
22097 : case 2:
22098 : if (!(
22099 : #line 30275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22100 : (TARGET_AVX2) &&
22101 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22102 : (Pmode == DImode)))
22103 : return -1;
22104 : return 9790; /* *avx2_gathersiv4di_2 */
22105 :
22106 : case 3:
22107 : if (!(
22108 : #line 30338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22109 : (TARGET_AVX2) &&
22110 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22111 : (Pmode == DImode)))
22112 : return -1;
22113 : return 9822; /* *avx2_gatherdiv4di_2 */
22114 :
22115 : default:
22116 : return -1;
22117 : }
22118 :
22119 : case E_V4DFmode:
22120 : switch (pattern1797 (x3,
22121 : E_V4DFmode,
22122 : E_DFmode))
22123 : {
22124 : case 0:
22125 : if (!(
22126 : #line 30275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22127 : (TARGET_AVX2) &&
22128 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22129 : (Pmode == SImode)))
22130 : return -1;
22131 : return 9783; /* *avx2_gathersiv4df_2 */
22132 :
22133 : case 1:
22134 : if (!(
22135 : #line 30338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22136 : (TARGET_AVX2) &&
22137 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22138 : (Pmode == SImode)))
22139 : return -1;
22140 : return 9815; /* *avx2_gatherdiv4df_2 */
22141 :
22142 : case 2:
22143 : if (!(
22144 : #line 30275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22145 : (TARGET_AVX2) &&
22146 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22147 : (Pmode == DImode)))
22148 : return -1;
22149 : return 9791; /* *avx2_gathersiv4df_2 */
22150 :
22151 : case 3:
22152 : if (!(
22153 : #line 30338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22154 : (TARGET_AVX2) &&
22155 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22156 : (Pmode == DImode)))
22157 : return -1;
22158 : return 9823; /* *avx2_gatherdiv4df_2 */
22159 :
22160 : default:
22161 : return -1;
22162 : }
22163 :
22164 : case E_V4SImode:
22165 : switch (pattern1795 (x3,
22166 : E_V4SImode,
22167 : E_SImode))
22168 : {
22169 : case 0:
22170 : if (!(
22171 : #line 30275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22172 : (TARGET_AVX2) &&
22173 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22174 : (Pmode == SImode)))
22175 : return -1;
22176 : return 9784; /* *avx2_gathersiv4si_2 */
22177 :
22178 : case 1:
22179 : if (!(
22180 : #line 30338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22181 : (TARGET_AVX2) &&
22182 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22183 : (Pmode == SImode)))
22184 : return -1;
22185 : return 9816; /* *avx2_gatherdiv4si_2 */
22186 :
22187 : case 2:
22188 : if (!(
22189 : #line 30275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22190 : (TARGET_AVX2) &&
22191 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22192 : (Pmode == DImode)))
22193 : return -1;
22194 : return 9792; /* *avx2_gathersiv4si_2 */
22195 :
22196 : case 3:
22197 : if (!(
22198 : #line 30338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22199 : (TARGET_AVX2) &&
22200 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22201 : (Pmode == DImode)))
22202 : return -1;
22203 : return 9824; /* *avx2_gatherdiv4si_2 */
22204 :
22205 : default:
22206 : return -1;
22207 : }
22208 :
22209 : case E_V4SFmode:
22210 : switch (pattern1795 (x3,
22211 : E_V4SFmode,
22212 : E_SFmode))
22213 : {
22214 : case 0:
22215 : if (!(
22216 : #line 30275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22217 : (TARGET_AVX2) &&
22218 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22219 : (Pmode == SImode)))
22220 : return -1;
22221 : return 9785; /* *avx2_gathersiv4sf_2 */
22222 :
22223 : case 1:
22224 : if (!(
22225 : #line 30338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22226 : (TARGET_AVX2) &&
22227 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22228 : (Pmode == SImode)))
22229 : return -1;
22230 : return 9817; /* *avx2_gatherdiv4sf_2 */
22231 :
22232 : case 2:
22233 : if (!(
22234 : #line 30275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22235 : (TARGET_AVX2) &&
22236 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22237 : (Pmode == DImode)))
22238 : return -1;
22239 : return 9793; /* *avx2_gathersiv4sf_2 */
22240 :
22241 : case 3:
22242 : if (!(
22243 : #line 30338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22244 : (TARGET_AVX2) &&
22245 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22246 : (Pmode == DImode)))
22247 : return -1;
22248 : return 9825; /* *avx2_gatherdiv4sf_2 */
22249 :
22250 : default:
22251 : return -1;
22252 : }
22253 :
22254 : case E_V8SImode:
22255 : switch (pattern1798 (x3,
22256 : E_V8SImode,
22257 : E_SImode))
22258 : {
22259 : case 0:
22260 : switch (pattern1861 (
22261 : E_SImode))
22262 : {
22263 : case 0:
22264 : if (!(
22265 : #line 30275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22266 : (TARGET_AVX2) &&
22267 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22268 : (Pmode == SImode)))
22269 : return -1;
22270 : return 9786; /* *avx2_gathersiv8si_2 */
22271 :
22272 : case 1:
22273 : if (!(
22274 : #line 30338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22275 : (TARGET_AVX2) &&
22276 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22277 : (Pmode == SImode)))
22278 : return -1;
22279 : return 9818; /* *avx2_gatherdiv8si_2 */
22280 :
22281 : default:
22282 : return -1;
22283 : }
22284 :
22285 : case 1:
22286 : switch (pattern1861 (
22287 : E_DImode))
22288 : {
22289 : case 0:
22290 : if (!(
22291 : #line 30275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22292 : (TARGET_AVX2) &&
22293 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22294 : (Pmode == DImode)))
22295 : return -1;
22296 : return 9794; /* *avx2_gathersiv8si_2 */
22297 :
22298 : case 1:
22299 : if (!(
22300 : #line 30338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22301 : (TARGET_AVX2) &&
22302 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22303 : (Pmode == DImode)))
22304 : return -1;
22305 : return 9826; /* *avx2_gatherdiv8si_2 */
22306 :
22307 : default:
22308 : return -1;
22309 : }
22310 :
22311 : default:
22312 : return -1;
22313 : }
22314 :
22315 : case E_V8SFmode:
22316 : switch (pattern1798 (x3,
22317 : E_V8SFmode,
22318 : E_SFmode))
22319 : {
22320 : case 0:
22321 : switch (pattern1862 (
22322 : E_SImode))
22323 : {
22324 : case 0:
22325 : if (!(
22326 : #line 30275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22327 : (TARGET_AVX2) &&
22328 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22329 : (Pmode == SImode)))
22330 : return -1;
22331 : return 9787; /* *avx2_gathersiv8sf_2 */
22332 :
22333 : case 1:
22334 : if (!(
22335 : #line 30338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22336 : (TARGET_AVX2) &&
22337 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22338 : (Pmode == SImode)))
22339 : return -1;
22340 : return 9819; /* *avx2_gatherdiv8sf_2 */
22341 :
22342 : default:
22343 : return -1;
22344 : }
22345 :
22346 : case 1:
22347 : switch (pattern1862 (
22348 : E_DImode))
22349 : {
22350 : case 0:
22351 : if (!(
22352 : #line 30275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22353 : (TARGET_AVX2) &&
22354 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22355 : (Pmode == DImode)))
22356 : return -1;
22357 : return 9795; /* *avx2_gathersiv8sf_2 */
22358 :
22359 : case 1:
22360 : if (!(
22361 : #line 30338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22362 : (TARGET_AVX2) &&
22363 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22364 : (Pmode == DImode)))
22365 : return -1;
22366 : return 9827; /* *avx2_gatherdiv8sf_2 */
22367 :
22368 : default:
22369 : return -1;
22370 : }
22371 :
22372 : default:
22373 : return -1;
22374 : }
22375 :
22376 : default:
22377 : return -1;
22378 : }
22379 :
22380 : default:
22381 : return -1;
22382 : }
22383 :
22384 : default:
22385 : return -1;
22386 : }
22387 :
22388 : case 5:
22389 : if (XINT (x3, 1) != 132
22390 : || pattern558 (x1,
22391 : 132,
22392 : 5) != 0)
22393 : return -1;
22394 : x7 = XVECEXP (x3, 0, 0);
22395 : operands[1] = x7;
22396 : if (!register_operand (operands[1], E_V16QImode))
22397 : return -1;
22398 : x8 = XVECEXP (x3, 0, 1);
22399 : operands[2] = x8;
22400 : if (!register_operand (operands[2], E_SImode))
22401 : return -1;
22402 : x9 = XVECEXP (x3, 0, 2);
22403 : operands[3] = x9;
22404 : if (!nonimmediate_operand (operands[3], E_V16QImode))
22405 : return -1;
22406 : x15 = XVECEXP (x3, 0, 3);
22407 : operands[4] = x15;
22408 : if (!register_operand (operands[4], E_SImode))
22409 : return -1;
22410 : x16 = XVECEXP (x3, 0, 4);
22411 : operands[5] = x16;
22412 : if (!const_0_to_255_operand (operands[5], E_SImode))
22413 : return -1;
22414 : x4 = XVECEXP (x1, 0, 1);
22415 : x17 = XEXP (x4, 1);
22416 : x18 = XVECEXP (x17, 0, 0);
22417 : if (!rtx_equal_p (x18, operands[1]))
22418 : return -1;
22419 : x19 = XVECEXP (x17, 0, 1);
22420 : if (!rtx_equal_p (x19, operands[2]))
22421 : return -1;
22422 : x20 = XVECEXP (x17, 0, 2);
22423 : if (!rtx_equal_p (x20, operands[3]))
22424 : return -1;
22425 : x21 = XVECEXP (x17, 0, 3);
22426 : if (!rtx_equal_p (x21, operands[4]))
22427 : return -1;
22428 : x22 = XVECEXP (x17, 0, 4);
22429 : if (!rtx_equal_p (x22, operands[5]))
22430 : return -1;
22431 : switch (pattern1793 (x3))
22432 : {
22433 : case 0:
22434 : if (!
22435 : #line 26724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22436 : (TARGET_SSE4_2))
22437 : return -1;
22438 : return 9053; /* sse4_2_pcmpestri */
22439 :
22440 : case 1:
22441 : if (!
22442 : #line 26753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22443 : (TARGET_SSE4_2))
22444 : return -1;
22445 : return 9054; /* sse4_2_pcmpestrm */
22446 :
22447 : default:
22448 : return -1;
22449 : }
22450 :
22451 : default:
22452 : return -1;
22453 : }
22454 : }
22455 :
22456 : int
22457 : recog_399 (rtx x1 ATTRIBUTE_UNUSED,
22458 : rtx_insn *insn ATTRIBUTE_UNUSED,
22459 : int *pnum_clobbers ATTRIBUTE_UNUSED)
22460 : {
22461 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22462 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22463 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
22464 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
22465 : rtx x26, x27, x28, x29, x30;
22466 : int res ATTRIBUTE_UNUSED;
22467 : x2 = XVECEXP (x1, 0, 0);
22468 : x3 = XEXP (x2, 1);
22469 : x4 = XEXP (x3, 0);
22470 : switch (GET_CODE (x4))
22471 : {
22472 : case PLUS:
22473 : if (pattern698 (x1,
22474 : PLUS) != 0)
22475 : return -1;
22476 : x5 = XEXP (x4, 0);
22477 : switch (GET_CODE (x5))
22478 : {
22479 : case SIGN_EXTEND:
22480 : switch (pattern1572 (x1))
22481 : {
22482 : case 0:
22483 : if (!
22484 : #line 7827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22485 : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)))
22486 : return -1;
22487 : return 346; /* *addvqi4 */
22488 :
22489 : case 1:
22490 : if (!
22491 : #line 7827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22492 : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)))
22493 : return -1;
22494 : return 347; /* *addvhi4 */
22495 :
22496 : case 2:
22497 : if (!
22498 : #line 7827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22499 : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
22500 : return -1;
22501 : return 348; /* *addvsi4 */
22502 :
22503 : case 3:
22504 : if (x86_64_sext_operand (operands[2], E_DImode)
22505 : && (
22506 : #line 7827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22507 : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) &&
22508 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22509 : (TARGET_64BIT)))
22510 : return 349; /* *addvdi4 */
22511 : if (!nonimmediate_operand (operands[2], E_DImode)
22512 : || !(
22513 : #line 7890 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22514 : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) &&
22515 : #line 1239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22516 : (!TARGET_64BIT)))
22517 : return -1;
22518 : return 354; /* *addvdi4_doubleword */
22519 :
22520 : case 4:
22521 : if (!(
22522 : #line 7890 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22523 : (ix86_binary_operator_ok (PLUS, TImode, operands, TARGET_APX_NDD)) &&
22524 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22525 : (TARGET_64BIT)))
22526 : return -1;
22527 : return 355; /* *addvti4_doubleword */
22528 :
22529 : case 5:
22530 : if (!
22531 : #line 7854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22532 : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
22533 : && CONST_INT_P (operands[2])
22534 : && INTVAL (operands[2]) == INTVAL (operands[3])))
22535 : return -1;
22536 : return 350; /* addvqi4_1 */
22537 :
22538 : case 6:
22539 : if (!
22540 : #line 7854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22541 : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
22542 : && CONST_INT_P (operands[2])
22543 : && INTVAL (operands[2]) == INTVAL (operands[3])))
22544 : return -1;
22545 : return 351; /* addvhi4_1 */
22546 :
22547 : case 7:
22548 : if (!
22549 : #line 7854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22550 : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)
22551 : && CONST_INT_P (operands[2])
22552 : && INTVAL (operands[2]) == INTVAL (operands[3])))
22553 : return -1;
22554 : return 352; /* addvsi4_1 */
22555 :
22556 : case 8:
22557 : if (const_int_operand (operands[3], E_TImode)
22558 : && x86_64_immediate_operand (operands[2], E_DImode)
22559 : && (
22560 : #line 7854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22561 : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
22562 : && CONST_INT_P (operands[2])
22563 : && INTVAL (operands[2]) == INTVAL (operands[3])) &&
22564 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22565 : (TARGET_64BIT)))
22566 : return 353; /* addvdi4_1 */
22567 : if (!const_scalar_int_operand (operands[3], E_TImode)
22568 : || !x86_64_hilo_general_operand (operands[2], E_DImode)
22569 : || !(
22570 : #line 7940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22571 : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
22572 : && CONST_SCALAR_INT_P (operands[2])
22573 : && rtx_equal_p (operands[2], operands[3])) &&
22574 : #line 1239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22575 : (!TARGET_64BIT)))
22576 : return -1;
22577 : return 356; /* *addvdi4_doubleword_1 */
22578 :
22579 : case 9:
22580 : if (!(
22581 : #line 7940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22582 : (ix86_binary_operator_ok (PLUS, TImode, operands, TARGET_APX_NDD)
22583 : && CONST_SCALAR_INT_P (operands[2])
22584 : && rtx_equal_p (operands[2], operands[3])) &&
22585 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22586 : (TARGET_64BIT)))
22587 : return -1;
22588 : return 357; /* *addvti4_doubleword_1 */
22589 :
22590 : default:
22591 : return -1;
22592 : }
22593 :
22594 : case PLUS:
22595 : x6 = XEXP (x5, 0);
22596 : switch (GET_CODE (x6))
22597 : {
22598 : case LTU:
22599 : case UNLT:
22600 : operands[4] = x6;
22601 : x7 = XEXP (x6, 1);
22602 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22603 : return -1;
22604 : x8 = XEXP (x5, 1);
22605 : if (GET_CODE (x8) != SIGN_EXTEND)
22606 : return -1;
22607 : x9 = XEXP (x3, 1);
22608 : x10 = XEXP (x9, 0);
22609 : x11 = XEXP (x10, 0);
22610 : if (GET_CODE (x11) != PLUS)
22611 : return -1;
22612 : x12 = XEXP (x11, 0);
22613 : switch (GET_CODE (x12))
22614 : {
22615 : case LTU:
22616 : case UNLT:
22617 : operands[5] = x12;
22618 : x13 = XEXP (x12, 1);
22619 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22620 : return -1;
22621 : x14 = XVECEXP (x1, 0, 1);
22622 : x15 = XEXP (x14, 1);
22623 : x16 = XEXP (x15, 0);
22624 : if (GET_CODE (x16) != PLUS)
22625 : return -1;
22626 : x17 = XEXP (x16, 0);
22627 : switch (GET_CODE (x17))
22628 : {
22629 : case LTU:
22630 : case UNLT:
22631 : if (!rtx_equal_p (x17, operands[5]))
22632 : return -1;
22633 : x18 = XEXP (x6, 0);
22634 : operands[3] = x18;
22635 : if (!flags_reg_operand (operands[3], E_VOIDmode))
22636 : return -1;
22637 : x19 = XEXP (x8, 0);
22638 : operands[1] = x19;
22639 : x20 = XEXP (x12, 0);
22640 : if (!rtx_equal_p (x20, operands[3]))
22641 : return -1;
22642 : x21 = XEXP (x11, 1);
22643 : if (!rtx_equal_p (x21, operands[1]))
22644 : return -1;
22645 : x22 = XEXP (x16, 1);
22646 : if (!rtx_equal_p (x22, operands[1]))
22647 : return -1;
22648 : switch (pattern1883 (x1))
22649 : {
22650 : case 0:
22651 : if (pattern1899 (x1,
22652 : E_QImode,
22653 : E_HImode) != 0
22654 : || !
22655 : #line 8011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22656 : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)))
22657 : return -1;
22658 : return 358; /* *addvqi4_overflow_1 */
22659 :
22660 : case 1:
22661 : if (pattern1899 (x1,
22662 : E_HImode,
22663 : E_SImode) != 0
22664 : || !
22665 : #line 8011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22666 : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)))
22667 : return -1;
22668 : return 359; /* *addvhi4_overflow_1 */
22669 :
22670 : case 2:
22671 : if (pattern1900 (x1,
22672 : E_SImode,
22673 : E_DImode) != 0
22674 : || !
22675 : #line 8011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22676 : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
22677 : return -1;
22678 : return 360; /* *addvsi4_overflow_1 */
22679 :
22680 : case 3:
22681 : if (pattern1900 (x1,
22682 : E_DImode,
22683 : E_TImode) != 0
22684 : || !(
22685 : #line 8011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22686 : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) &&
22687 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22688 : (TARGET_64BIT)))
22689 : return -1;
22690 : return 361; /* *addvdi4_overflow_1 */
22691 :
22692 : case 4:
22693 : if (pattern1902 (x1,
22694 : E_QImode,
22695 : E_HImode) != 0
22696 : || !
22697 : #line 8049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22698 : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
22699 : && CONST_INT_P (operands[2])
22700 : && INTVAL (operands[2]) == INTVAL (operands[6])))
22701 : return -1;
22702 : return 362; /* *addvqi4_overflow_2 */
22703 :
22704 : case 5:
22705 : if (pattern1902 (x1,
22706 : E_HImode,
22707 : E_SImode) != 0
22708 : || !
22709 : #line 8049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22710 : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
22711 : && CONST_INT_P (operands[2])
22712 : && INTVAL (operands[2]) == INTVAL (operands[6])))
22713 : return -1;
22714 : return 363; /* *addvhi4_overflow_2 */
22715 :
22716 : case 6:
22717 : if (pattern1902 (x1,
22718 : E_SImode,
22719 : E_DImode) != 0
22720 : || !
22721 : #line 8049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22722 : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)
22723 : && CONST_INT_P (operands[2])
22724 : && INTVAL (operands[2]) == INTVAL (operands[6])))
22725 : return -1;
22726 : return 364; /* *addvsi4_overflow_2 */
22727 :
22728 : case 7:
22729 : if (pattern1902 (x1,
22730 : E_DImode,
22731 : E_TImode) != 0
22732 : || !(
22733 : #line 8049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22734 : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
22735 : && CONST_INT_P (operands[2])
22736 : && INTVAL (operands[2]) == INTVAL (operands[6])) &&
22737 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22738 : (TARGET_64BIT)))
22739 : return -1;
22740 : return 365; /* *addvdi4_overflow_2 */
22741 :
22742 : default:
22743 : return -1;
22744 : }
22745 :
22746 : default:
22747 : return -1;
22748 : }
22749 :
22750 : default:
22751 : return -1;
22752 : }
22753 :
22754 : default:
22755 : return -1;
22756 : }
22757 :
22758 : default:
22759 : return -1;
22760 : }
22761 :
22762 : case MINUS:
22763 : if (pattern698 (x1,
22764 : MINUS) != 0)
22765 : return -1;
22766 : x5 = XEXP (x4, 0);
22767 : switch (GET_CODE (x5))
22768 : {
22769 : case SIGN_EXTEND:
22770 : switch (pattern1572 (x1))
22771 : {
22772 : case 0:
22773 : if (!
22774 : #line 8654 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22775 : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)))
22776 : return -1;
22777 : return 429; /* *subvqi4 */
22778 :
22779 : case 1:
22780 : if (!
22781 : #line 8654 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22782 : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)))
22783 : return -1;
22784 : return 430; /* *subvhi4 */
22785 :
22786 : case 2:
22787 : if (!
22788 : #line 8654 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22789 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
22790 : return -1;
22791 : return 431; /* *subvsi4 */
22792 :
22793 : case 3:
22794 : if (x86_64_sext_operand (operands[2], E_DImode)
22795 : && (
22796 : #line 8654 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22797 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
22798 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22799 : (TARGET_64BIT)))
22800 : return 432; /* *subvdi4 */
22801 : if (!nonimmediate_operand (operands[2], E_DImode)
22802 : || !(
22803 : #line 8714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22804 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)) &&
22805 : #line 1239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22806 : (!TARGET_64BIT)))
22807 : return -1;
22808 : return 437; /* *subvdi4_doubleword */
22809 :
22810 : case 4:
22811 : if (!(
22812 : #line 8714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22813 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
22814 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22815 : (TARGET_64BIT)))
22816 : return -1;
22817 : return 438; /* *subvti4_doubleword */
22818 :
22819 : case 5:
22820 : if (!
22821 : #line 8681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22822 : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
22823 : && CONST_INT_P (operands[2])
22824 : && INTVAL (operands[2]) == INTVAL (operands[3])))
22825 : return -1;
22826 : return 433; /* subvqi4_1 */
22827 :
22828 : case 6:
22829 : if (!
22830 : #line 8681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22831 : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
22832 : && CONST_INT_P (operands[2])
22833 : && INTVAL (operands[2]) == INTVAL (operands[3])))
22834 : return -1;
22835 : return 434; /* subvhi4_1 */
22836 :
22837 : case 7:
22838 : if (!
22839 : #line 8681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22840 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
22841 : && CONST_INT_P (operands[2])
22842 : && INTVAL (operands[2]) == INTVAL (operands[3])))
22843 : return -1;
22844 : return 435; /* subvsi4_1 */
22845 :
22846 : case 8:
22847 : if (const_int_operand (operands[3], E_TImode)
22848 : && x86_64_immediate_operand (operands[2], E_DImode)
22849 : && (
22850 : #line 8681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22851 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
22852 : && CONST_INT_P (operands[2])
22853 : && INTVAL (operands[2]) == INTVAL (operands[3])) &&
22854 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22855 : (TARGET_64BIT)))
22856 : return 436; /* subvdi4_1 */
22857 : if (!const_scalar_int_operand (operands[3], E_TImode)
22858 : || !x86_64_hilo_general_operand (operands[2], E_DImode)
22859 : || !(
22860 : #line 8762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22861 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
22862 : && CONST_SCALAR_INT_P (operands[2])
22863 : && rtx_equal_p (operands[2], operands[3])) &&
22864 : #line 1239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22865 : (!TARGET_64BIT)))
22866 : return -1;
22867 : return 439; /* *subvdi4_doubleword_1 */
22868 :
22869 : case 9:
22870 : if (!(
22871 : #line 8762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22872 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
22873 : && CONST_SCALAR_INT_P (operands[2])
22874 : && rtx_equal_p (operands[2], operands[3])) &&
22875 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22876 : (TARGET_64BIT)))
22877 : return -1;
22878 : return 440; /* *subvti4_doubleword_1 */
22879 :
22880 : default:
22881 : return -1;
22882 : }
22883 :
22884 : case MINUS:
22885 : x6 = XEXP (x5, 0);
22886 : if (GET_CODE (x6) != SIGN_EXTEND)
22887 : return -1;
22888 : x8 = XEXP (x5, 1);
22889 : switch (GET_CODE (x8))
22890 : {
22891 : case LTU:
22892 : case UNLT:
22893 : operands[4] = x8;
22894 : x23 = XEXP (x8, 1);
22895 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22896 : return -1;
22897 : x9 = XEXP (x3, 1);
22898 : x10 = XEXP (x9, 0);
22899 : x11 = XEXP (x10, 0);
22900 : if (GET_CODE (x11) != MINUS)
22901 : return -1;
22902 : x21 = XEXP (x11, 1);
22903 : switch (GET_CODE (x21))
22904 : {
22905 : case LTU:
22906 : case UNLT:
22907 : operands[5] = x21;
22908 : x24 = XEXP (x21, 1);
22909 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22910 : return -1;
22911 : x14 = XVECEXP (x1, 0, 1);
22912 : x15 = XEXP (x14, 1);
22913 : x16 = XEXP (x15, 0);
22914 : if (GET_CODE (x16) != MINUS)
22915 : return -1;
22916 : x22 = XEXP (x16, 1);
22917 : switch (GET_CODE (x22))
22918 : {
22919 : case LTU:
22920 : case UNLT:
22921 : if (!rtx_equal_p (x22, operands[5]))
22922 : return -1;
22923 : x18 = XEXP (x6, 0);
22924 : operands[1] = x18;
22925 : x19 = XEXP (x8, 0);
22926 : operands[3] = x19;
22927 : if (!flags_reg_operand (operands[3], E_VOIDmode))
22928 : return -1;
22929 : x12 = XEXP (x11, 0);
22930 : if (!rtx_equal_p (x12, operands[1]))
22931 : return -1;
22932 : x25 = XEXP (x21, 0);
22933 : if (!rtx_equal_p (x25, operands[3]))
22934 : return -1;
22935 : x17 = XEXP (x16, 0);
22936 : if (!rtx_equal_p (x17, operands[1]))
22937 : return -1;
22938 : switch (pattern1883 (x1))
22939 : {
22940 : case 0:
22941 : if (pattern1904 (x1,
22942 : E_QImode,
22943 : E_HImode) != 0
22944 : || !
22945 : #line 8831 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22946 : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)))
22947 : return -1;
22948 : return 441; /* *subvqi4_overflow_1 */
22949 :
22950 : case 1:
22951 : if (pattern1904 (x1,
22952 : E_HImode,
22953 : E_SImode) != 0
22954 : || !
22955 : #line 8831 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22956 : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)))
22957 : return -1;
22958 : return 442; /* *subvhi4_overflow_1 */
22959 :
22960 : case 2:
22961 : if (pattern1905 (x1,
22962 : E_SImode,
22963 : E_DImode) != 0
22964 : || !
22965 : #line 8831 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22966 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
22967 : return -1;
22968 : return 443; /* *subvsi4_overflow_1 */
22969 :
22970 : case 3:
22971 : if (pattern1905 (x1,
22972 : E_DImode,
22973 : E_TImode) != 0
22974 : || !(
22975 : #line 8831 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22976 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
22977 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22978 : (TARGET_64BIT)))
22979 : return -1;
22980 : return 444; /* *subvdi4_overflow_1 */
22981 :
22982 : case 4:
22983 : if (pattern1906 (x1,
22984 : E_QImode,
22985 : E_HImode) != 0
22986 : || !
22987 : #line 8869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22988 : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
22989 : && CONST_INT_P (operands[2])
22990 : && INTVAL (operands[2]) == INTVAL (operands[6])))
22991 : return -1;
22992 : return 445; /* *subvqi4_overflow_2 */
22993 :
22994 : case 5:
22995 : if (pattern1906 (x1,
22996 : E_HImode,
22997 : E_SImode) != 0
22998 : || !
22999 : #line 8869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23000 : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
23001 : && CONST_INT_P (operands[2])
23002 : && INTVAL (operands[2]) == INTVAL (operands[6])))
23003 : return -1;
23004 : return 446; /* *subvhi4_overflow_2 */
23005 :
23006 : case 6:
23007 : if (pattern1906 (x1,
23008 : E_SImode,
23009 : E_DImode) != 0
23010 : || !
23011 : #line 8869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23012 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
23013 : && CONST_INT_P (operands[2])
23014 : && INTVAL (operands[2]) == INTVAL (operands[6])))
23015 : return -1;
23016 : return 447; /* *subvsi4_overflow_2 */
23017 :
23018 : case 7:
23019 : if (pattern1906 (x1,
23020 : E_DImode,
23021 : E_TImode) != 0
23022 : || !(
23023 : #line 8869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23024 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
23025 : && CONST_INT_P (operands[2])
23026 : && INTVAL (operands[2]) == INTVAL (operands[6])) &&
23027 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23028 : (TARGET_64BIT)))
23029 : return -1;
23030 : return 448; /* *subvdi4_overflow_2 */
23031 :
23032 : default:
23033 : return -1;
23034 : }
23035 :
23036 : default:
23037 : return -1;
23038 : }
23039 :
23040 : default:
23041 : return -1;
23042 : }
23043 :
23044 : default:
23045 : return -1;
23046 : }
23047 :
23048 : default:
23049 : return -1;
23050 : }
23051 :
23052 : case MULT:
23053 : if (pattern697 (x1,
23054 : MULT) != 0)
23055 : return -1;
23056 : x5 = XEXP (x4, 0);
23057 : switch (GET_CODE (x5))
23058 : {
23059 : case SIGN_EXTEND:
23060 : x9 = XEXP (x3, 1);
23061 : if (GET_CODE (x9) != SIGN_EXTEND)
23062 : return -1;
23063 : x10 = XEXP (x9, 0);
23064 : if (GET_CODE (x10) != MULT)
23065 : return -1;
23066 : x6 = XEXP (x5, 0);
23067 : operands[1] = x6;
23068 : x11 = XEXP (x10, 0);
23069 : if (!rtx_equal_p (x11, operands[1]))
23070 : return -1;
23071 : x14 = XVECEXP (x1, 0, 1);
23072 : x15 = XEXP (x14, 1);
23073 : x16 = XEXP (x15, 0);
23074 : if (!rtx_equal_p (x16, operands[1]))
23075 : return -1;
23076 : x26 = XEXP (x4, 1);
23077 : switch (GET_CODE (x26))
23078 : {
23079 : case SIGN_EXTEND:
23080 : x27 = XEXP (x26, 0);
23081 : operands[2] = x27;
23082 : x28 = XEXP (x10, 1);
23083 : if (!rtx_equal_p (x28, operands[2]))
23084 : return -1;
23085 : x29 = XEXP (x15, 1);
23086 : if (!rtx_equal_p (x29, operands[2]))
23087 : return -1;
23088 : switch (GET_MODE (x4))
23089 : {
23090 : case E_DImode:
23091 : if (pattern1824 (x1,
23092 : E_SImode,
23093 : E_DImode) != 0
23094 : || !
23095 : #line 11479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23096 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
23097 : return -1;
23098 : return 632; /* *mulvsi4 */
23099 :
23100 : case E_TImode:
23101 : if (pattern1824 (x1,
23102 : E_DImode,
23103 : E_TImode) != 0
23104 : || !(
23105 : #line 11479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23106 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
23107 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23108 : (TARGET_64BIT)))
23109 : return -1;
23110 : return 633; /* *mulvdi4 */
23111 :
23112 : case E_SImode:
23113 : if (pattern1825 (x1,
23114 : E_HImode,
23115 : E_SImode) != 0
23116 : || !
23117 : #line 11520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23118 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
23119 : return -1;
23120 : return 634; /* *mulvhi4 */
23121 :
23122 : case E_HImode:
23123 : if (pattern1825 (x1,
23124 : E_QImode,
23125 : E_HImode) != 0
23126 : || !
23127 : #line 11663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23128 : (TARGET_QIMODE_MATH
23129 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
23130 : return -1;
23131 : return 641; /* *mulvqi4 */
23132 :
23133 : default:
23134 : return -1;
23135 : }
23136 :
23137 : case CONST_INT:
23138 : operands[3] = x26;
23139 : x28 = XEXP (x10, 1);
23140 : operands[2] = x28;
23141 : x29 = XEXP (x15, 1);
23142 : if (!rtx_equal_p (x29, operands[2]))
23143 : return -1;
23144 : switch (GET_MODE (x4))
23145 : {
23146 : case E_SImode:
23147 : if (GET_MODE (x5) != E_SImode
23148 : || !nonimmediate_operand (operands[1], E_HImode)
23149 : || !const_int_operand (operands[3], E_SImode)
23150 : || GET_MODE (x9) != E_SImode
23151 : || GET_MODE (x10) != E_HImode
23152 : || !immediate_operand (operands[2], E_HImode)
23153 : || !register_operand (operands[0], E_HImode)
23154 : || GET_MODE (x15) != E_HImode
23155 : || !
23156 : #line 11549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23157 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
23158 : && CONST_INT_P (operands[2])
23159 : && INTVAL (operands[2]) == INTVAL (operands[3])))
23160 : return -1;
23161 : return 635; /* *mulvhi4_1 */
23162 :
23163 : case E_DImode:
23164 : if (pattern1826 (x1,
23165 : E_SImode,
23166 : E_DImode) != 0
23167 : || !
23168 : #line 11549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23169 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
23170 : && CONST_INT_P (operands[2])
23171 : && INTVAL (operands[2]) == INTVAL (operands[3])))
23172 : return -1;
23173 : return 636; /* *mulvsi4_1 */
23174 :
23175 : case E_TImode:
23176 : if (pattern1826 (x1,
23177 : E_DImode,
23178 : E_TImode) != 0
23179 : || !(
23180 : #line 11549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23181 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
23182 : && CONST_INT_P (operands[2])
23183 : && INTVAL (operands[2]) == INTVAL (operands[3])) &&
23184 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23185 : (TARGET_64BIT)))
23186 : return -1;
23187 : return 637; /* *mulvdi4_1 */
23188 :
23189 : default:
23190 : return -1;
23191 : }
23192 :
23193 : default:
23194 : return -1;
23195 : }
23196 :
23197 : case ZERO_EXTEND:
23198 : x26 = XEXP (x4, 1);
23199 : if (GET_CODE (x26) != ZERO_EXTEND)
23200 : return -1;
23201 : x9 = XEXP (x3, 1);
23202 : if (GET_CODE (x9) != ZERO_EXTEND)
23203 : return -1;
23204 : x10 = XEXP (x9, 0);
23205 : if (GET_CODE (x10) != MULT)
23206 : return -1;
23207 : x6 = XEXP (x5, 0);
23208 : operands[1] = x6;
23209 : x27 = XEXP (x26, 0);
23210 : operands[2] = x27;
23211 : x11 = XEXP (x10, 0);
23212 : if (!rtx_equal_p (x11, operands[1]))
23213 : return -1;
23214 : x28 = XEXP (x10, 1);
23215 : if (!rtx_equal_p (x28, operands[2]))
23216 : return -1;
23217 : x14 = XVECEXP (x1, 0, 1);
23218 : x15 = XEXP (x14, 1);
23219 : x16 = XEXP (x15, 0);
23220 : if (!rtx_equal_p (x16, operands[1]))
23221 : return -1;
23222 : x29 = XEXP (x15, 1);
23223 : if (!rtx_equal_p (x29, operands[2]))
23224 : return -1;
23225 : switch (GET_MODE (x4))
23226 : {
23227 : case E_SImode:
23228 : if (pnum_clobbers == NULL
23229 : || pattern1825 (x1,
23230 : E_HImode,
23231 : E_SImode) != 0
23232 : || !
23233 : #line 11619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23234 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
23235 : return -1;
23236 : *pnum_clobbers = 1;
23237 : return 638; /* *umulvhi4 */
23238 :
23239 : case E_DImode:
23240 : if (pnum_clobbers == NULL
23241 : || pattern1825 (x1,
23242 : E_SImode,
23243 : E_DImode) != 0
23244 : || !
23245 : #line 11619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23246 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
23247 : return -1;
23248 : *pnum_clobbers = 1;
23249 : return 639; /* *umulvsi4 */
23250 :
23251 : case E_TImode:
23252 : if (pnum_clobbers == NULL
23253 : || pattern1825 (x1,
23254 : E_DImode,
23255 : E_TImode) != 0
23256 : || !(
23257 : #line 11619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23258 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
23259 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23260 : (TARGET_64BIT)))
23261 : return -1;
23262 : *pnum_clobbers = 1;
23263 : return 640; /* *umulvdi4 */
23264 :
23265 : case E_HImode:
23266 : if (pattern1825 (x1,
23267 : E_QImode,
23268 : E_HImode) != 0
23269 : || !
23270 : #line 11663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23271 : (TARGET_QIMODE_MATH
23272 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
23273 : return -1;
23274 : return 642; /* *umulvqi4 */
23275 :
23276 : default:
23277 : return -1;
23278 : }
23279 :
23280 : default:
23281 : return -1;
23282 : }
23283 :
23284 : case ZERO_EXTRACT:
23285 : switch (pattern699 (x1))
23286 : {
23287 : case 0:
23288 : if (!
23289 : #line 20318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23290 : (TARGET_USE_BT && ix86_pre_reload_split ()))
23291 : return -1;
23292 : return 1464; /* *btsi_setncqi_2 */
23293 :
23294 : case 1:
23295 : if (!(
23296 : #line 20318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23297 : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
23298 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23299 : (TARGET_64BIT)))
23300 : return -1;
23301 : return 1465; /* *btdi_setncqi_2 */
23302 :
23303 : default:
23304 : return -1;
23305 : }
23306 :
23307 : case REG:
23308 : case SUBREG:
23309 : case MEM:
23310 : operands[1] = x4;
23311 : if (!nonimmediate_operand (operands[1], E_V2SFmode))
23312 : return -1;
23313 : x14 = XVECEXP (x1, 0, 1);
23314 : if (pattern386 (x14,
23315 : 111,
23316 : 0) != 0)
23317 : return -1;
23318 : x30 = XEXP (x2, 0);
23319 : operands[0] = x30;
23320 : if (!register_operand (operands[0], E_V2SImode)
23321 : || GET_MODE (x3) != E_V2SImode)
23322 : return -1;
23323 : x9 = XEXP (x3, 1);
23324 : operands[2] = x9;
23325 : if (!nonimmediate_operand (operands[2], E_V2SFmode)
23326 : || !
23327 : #line 1227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23328 : (TARGET_3DNOW && ix86_binary_operator_ok (EQ, V2SFmode, operands)))
23329 : return -1;
23330 : return 2117; /* *mmx_eqv2sf3 */
23331 :
23332 : default:
23333 : return -1;
23334 : }
23335 : }
23336 :
23337 : int
23338 : recog_429 (rtx x1 ATTRIBUTE_UNUSED,
23339 : rtx_insn *insn ATTRIBUTE_UNUSED,
23340 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23341 : {
23342 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23343 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23344 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
23345 : int res ATTRIBUTE_UNUSED;
23346 : x2 = XVECEXP (x1, 0, 0);
23347 : x3 = XEXP (x2, 1);
23348 : switch (XVECLEN (x3, 0))
23349 : {
23350 : case 1:
23351 : x4 = XEXP (x2, 0);
23352 : operands[0] = x4;
23353 : x5 = XVECEXP (x3, 0, 0);
23354 : operands[1] = x5;
23355 : switch (XINT (x3, 1))
23356 : {
23357 : case 107:
23358 : if (pattern548 (x1) != 0)
23359 : return -1;
23360 : x6 = XVECEXP (x1, 0, 2);
23361 : if (GET_CODE (x6) != UNSPEC
23362 : || XVECLEN (x6, 0) != 1
23363 : || XINT (x6, 1) != 109
23364 : || GET_MODE (x6) != E_DImode)
23365 : return -1;
23366 : x7 = XVECEXP (x6, 0, 0);
23367 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
23368 : || !register_operand (operands[0], E_DImode)
23369 : || !pop_operand (operands[1], E_TImode))
23370 : return -1;
23371 : x8 = XVECEXP (x1, 0, 1);
23372 : x9 = XEXP (x8, 0);
23373 : operands[2] = x9;
23374 : if (!register_operand (operands[2], E_DImode)
23375 : || !
23376 : #line 3979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23377 : (TARGET_APX_PUSH2POP2 && TARGET_APX_PPX))
23378 : return -1;
23379 : return 168; /* pop2p_di */
23380 :
23381 : case 98:
23382 : switch (pattern834 (x1))
23383 : {
23384 : case 0:
23385 : if (!
23386 : #line 22589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23387 : (TARGET_BMI))
23388 : return -1;
23389 : return 1584; /* *tzcnt_si_falsedep */
23390 :
23391 : case 1:
23392 : if (!((
23393 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23394 : (TARGET_64BIT) &&
23395 : #line 22589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23396 : (TARGET_BMI)) &&
23397 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23398 : (TARGET_64BIT)))
23399 : return -1;
23400 : return 1586; /* *tzcnt_di_falsedep */
23401 :
23402 : default:
23403 : return -1;
23404 : }
23405 :
23406 : case 97:
23407 : switch (pattern834 (x1))
23408 : {
23409 : case 0:
23410 : if (!
23411 : #line 22590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23412 : (TARGET_LZCNT))
23413 : return -1;
23414 : return 1585; /* *lzcnt_si_falsedep */
23415 :
23416 : case 1:
23417 : if (!((
23418 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23419 : (TARGET_64BIT) &&
23420 : #line 22590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23421 : (TARGET_LZCNT)) &&
23422 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23423 : (TARGET_64BIT)))
23424 : return -1;
23425 : return 1587; /* *lzcnt_di_falsedep */
23426 :
23427 : default:
23428 : return -1;
23429 : }
23430 :
23431 : case 75:
23432 : if (pattern835 (x1) != 0
23433 : || !
23434 : #line 26239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23435 : (TARGET_USE_FANCY_MATH_387
23436 : && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
23437 : return -1;
23438 : return 1766; /* frndintxf2_roundeven_i387 */
23439 :
23440 : case 76:
23441 : if (pattern835 (x1) != 0
23442 : || !
23443 : #line 26239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23444 : (TARGET_USE_FANCY_MATH_387
23445 : && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
23446 : return -1;
23447 : return 1767; /* frndintxf2_floor_i387 */
23448 :
23449 : case 77:
23450 : if (pattern835 (x1) != 0
23451 : || !
23452 : #line 26239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23453 : (TARGET_USE_FANCY_MATH_387
23454 : && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
23455 : return -1;
23456 : return 1768; /* frndintxf2_ceil_i387 */
23457 :
23458 : case 78:
23459 : if (pattern835 (x1) != 0
23460 : || !
23461 : #line 26239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23462 : (TARGET_USE_FANCY_MATH_387
23463 : && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
23464 : return -1;
23465 : return 1769; /* frndintxf2_trunc_i387 */
23466 :
23467 : case 79:
23468 : switch (pattern837 (x1, pnum_clobbers))
23469 : {
23470 : case 0:
23471 : if (!
23472 : #line 26357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23473 : (TARGET_USE_FANCY_MATH_387
23474 : && flag_unsafe_math_optimizations))
23475 : return -1;
23476 : *pnum_clobbers = 1;
23477 : return 1776; /* fistdi2_floor */
23478 :
23479 : case 1:
23480 : if (!
23481 : #line 26370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23482 : (TARGET_USE_FANCY_MATH_387
23483 : && flag_unsafe_math_optimizations))
23484 : return -1;
23485 : return 1778; /* fisthi2_floor */
23486 :
23487 : case 2:
23488 : if (!
23489 : #line 26370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23490 : (TARGET_USE_FANCY_MATH_387
23491 : && flag_unsafe_math_optimizations))
23492 : return -1;
23493 : return 1780; /* fistsi2_floor */
23494 :
23495 : default:
23496 : return -1;
23497 : }
23498 :
23499 : case 80:
23500 : switch (pattern837 (x1, pnum_clobbers))
23501 : {
23502 : case 0:
23503 : if (!
23504 : #line 26357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23505 : (TARGET_USE_FANCY_MATH_387
23506 : && flag_unsafe_math_optimizations))
23507 : return -1;
23508 : *pnum_clobbers = 1;
23509 : return 1777; /* fistdi2_ceil */
23510 :
23511 : case 1:
23512 : if (!
23513 : #line 26370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23514 : (TARGET_USE_FANCY_MATH_387
23515 : && flag_unsafe_math_optimizations))
23516 : return -1;
23517 : return 1779; /* fisthi2_ceil */
23518 :
23519 : case 2:
23520 : if (!
23521 : #line 26370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23522 : (TARGET_USE_FANCY_MATH_387
23523 : && flag_unsafe_math_optimizations))
23524 : return -1;
23525 : return 1781; /* fistsi2_ceil */
23526 :
23527 : default:
23528 : return -1;
23529 : }
23530 :
23531 : case 93:
23532 : x8 = XVECEXP (x1, 0, 1);
23533 : if (GET_CODE (x8) != SET)
23534 : return -1;
23535 : x10 = XEXP (x8, 1);
23536 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23537 : return -1;
23538 : x6 = XVECEXP (x1, 0, 2);
23539 : if (pattern955 (x6,
23540 : E_CCmode,
23541 : 17) != 0)
23542 : return -1;
23543 : switch (pattern1160 (x1))
23544 : {
23545 : case 0:
23546 : if (!(
23547 : #line 1412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23548 : (ptr_mode == SImode) &&
23549 : #line 1407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23550 : (word_mode == SImode)))
23551 : return -1;
23552 : return 1912; /* stack_protect_set_1_si_si */
23553 :
23554 : case 1:
23555 : if (!(
23556 : #line 1412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23557 : (ptr_mode == SImode) &&
23558 : #line 1407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23559 : (word_mode == DImode)))
23560 : return -1;
23561 : return 1914; /* stack_protect_set_1_si_di */
23562 :
23563 : case 2:
23564 : if (!(
23565 : #line 1412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23566 : (ptr_mode == DImode) &&
23567 : #line 1407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23568 : (word_mode == SImode)))
23569 : return -1;
23570 : return 1913; /* stack_protect_set_1_di_si */
23571 :
23572 : case 3:
23573 : if (!(
23574 : #line 1412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23575 : (ptr_mode == DImode) &&
23576 : #line 1407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23577 : (word_mode == DImode)))
23578 : return -1;
23579 : return 1915; /* stack_protect_set_1_di_di */
23580 :
23581 : default:
23582 : return -1;
23583 : }
23584 :
23585 : case 291:
23586 : if (GET_MODE (x3) != E_DImode)
23587 : return -1;
23588 : x8 = XVECEXP (x1, 0, 1);
23589 : if (GET_CODE (x8) != CLOBBER)
23590 : return -1;
23591 : x6 = XVECEXP (x1, 0, 2);
23592 : if (GET_CODE (x6) != CLOBBER
23593 : || !nonimmediate_operand (operands[0], E_DImode)
23594 : || !memory_operand (operands[1], E_DImode))
23595 : return -1;
23596 : x9 = XEXP (x8, 0);
23597 : operands[2] = x9;
23598 : if (!memory_operand (operands[2], E_DImode))
23599 : return -1;
23600 : x11 = XEXP (x6, 0);
23601 : operands[3] = x11;
23602 : if (!scratch_operand (operands[3], E_DFmode)
23603 : || !
23604 : #line 196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
23605 : (!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)))
23606 : return -1;
23607 : return 11084; /* atomic_loaddi_fpu */
23608 :
23609 : case 292:
23610 : if (GET_MODE (x3) != E_DImode)
23611 : return -1;
23612 : x8 = XVECEXP (x1, 0, 1);
23613 : if (GET_CODE (x8) != CLOBBER)
23614 : return -1;
23615 : x6 = XVECEXP (x1, 0, 2);
23616 : if (GET_CODE (x6) != CLOBBER
23617 : || !memory_operand (operands[0], E_DImode)
23618 : || !nonimmediate_operand (operands[1], E_DImode))
23619 : return -1;
23620 : x9 = XEXP (x8, 0);
23621 : operands[2] = x9;
23622 : if (!memory_operand (operands[2], E_DImode))
23623 : return -1;
23624 : x11 = XEXP (x6, 0);
23625 : operands[3] = x11;
23626 : if (!scratch_operand (operands[3], E_DFmode)
23627 : || !
23628 : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
23629 : (!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)))
23630 : return -1;
23631 : return 11089; /* atomic_storedi_fpu */
23632 :
23633 : default:
23634 : return -1;
23635 : }
23636 :
23637 : case 2:
23638 : x8 = XVECEXP (x1, 0, 1);
23639 : if (GET_CODE (x8) != SET)
23640 : return -1;
23641 : x10 = XEXP (x8, 1);
23642 : if (GET_CODE (x10) != UNSPEC
23643 : || XVECLEN (x10, 0) != 2
23644 : || GET_MODE (x10) != E_XFmode)
23645 : return -1;
23646 : x6 = XVECEXP (x1, 0, 2);
23647 : if (GET_CODE (x6) != SET)
23648 : return -1;
23649 : x12 = XEXP (x6, 1);
23650 : if (GET_CODE (x12) != UNSPEC
23651 : || XVECLEN (x12, 0) != 2
23652 : || XINT (x12, 1) != 91
23653 : || GET_MODE (x12) != E_CCFPmode)
23654 : return -1;
23655 : x11 = XEXP (x6, 0);
23656 : if (GET_CODE (x11) != REG
23657 : || REGNO (x11) != 18
23658 : || GET_MODE (x11) != E_CCFPmode)
23659 : return -1;
23660 : x4 = XEXP (x2, 0);
23661 : operands[0] = x4;
23662 : if (!register_operand (operands[0], E_XFmode)
23663 : || GET_MODE (x3) != E_XFmode
23664 : || pattern1431 (x1) != 0)
23665 : return -1;
23666 : x13 = XVECEXP (x12, 0, 0);
23667 : if (!rtx_equal_p (x13, operands[2]))
23668 : return -1;
23669 : x14 = XVECEXP (x12, 0, 1);
23670 : if (!rtx_equal_p (x14, operands[3]))
23671 : return -1;
23672 : switch (XINT (x3, 1))
23673 : {
23674 : case 87:
23675 : if (XINT (x10, 1) != 88
23676 : || !
23677 : #line 24864 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23678 : (TARGET_USE_FANCY_MATH_387))
23679 : return -1;
23680 : return 1741; /* fpremxf4_i387 */
23681 :
23682 : case 89:
23683 : if (XINT (x10, 1) != 90
23684 : || !
23685 : #line 24937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23686 : (TARGET_USE_FANCY_MATH_387))
23687 : return -1;
23688 : return 1742; /* fprem1xf4_i387 */
23689 :
23690 : default:
23691 : return -1;
23692 : }
23693 :
23694 : case 4:
23695 : if (XINT (x3, 1) != 24)
23696 : return -1;
23697 : x5 = XVECEXP (x3, 0, 0);
23698 : if (GET_CODE (x5) != MEM
23699 : || GET_MODE (x5) != E_BLKmode)
23700 : return -1;
23701 : x8 = XVECEXP (x1, 0, 1);
23702 : if (GET_CODE (x8) != CLOBBER
23703 : || pattern840 (x1) != 0)
23704 : return -1;
23705 : switch (pattern1162 (x1))
23706 : {
23707 : case 0:
23708 : if (!(
23709 : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23710 : (!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
23711 : && ix86_check_no_addr_space (insn)) &&
23712 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23713 : (Pmode == SImode)))
23714 : return -1;
23715 : return 1819; /* *strlenqi_1 */
23716 :
23717 : case 1:
23718 : if (!(
23719 : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23720 : (!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
23721 : && ix86_check_no_addr_space (insn)) &&
23722 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23723 : (Pmode == DImode)))
23724 : return -1;
23725 : return 1820; /* *strlenqi_1 */
23726 :
23727 : default:
23728 : return -1;
23729 : }
23730 :
23731 : case 5:
23732 : if (XINT (x3, 1) != 132)
23733 : return -1;
23734 : if (GET_MODE (x3) == E_SImode
23735 : && pattern719 (x1,
23736 : 132,
23737 : 5) == 0
23738 : && pattern1746 (x1) == 0
23739 : &&
23740 : #line 26671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23741 : (TARGET_SSE4_2
23742 : && ix86_pre_reload_split ()))
23743 : return 9052; /* sse4_2_pcmpestr */
23744 : if (GET_MODE (x3) != E_CCmode
23745 : || pattern720 (x1) != 0
23746 : || !register_operand (operands[3], E_SImode))
23747 : return -1;
23748 : x15 = XVECEXP (x3, 0, 2);
23749 : operands[4] = x15;
23750 : if (!nonimmediate_operand (operands[4], E_V16QImode))
23751 : return -1;
23752 : x16 = XVECEXP (x3, 0, 3);
23753 : operands[5] = x16;
23754 : if (!register_operand (operands[5], E_SImode))
23755 : return -1;
23756 : x17 = XVECEXP (x3, 0, 4);
23757 : operands[6] = x17;
23758 : if (!const_0_to_255_operand (operands[6], E_SImode))
23759 : return -1;
23760 : x8 = XVECEXP (x1, 0, 1);
23761 : x9 = XEXP (x8, 0);
23762 : operands[0] = x9;
23763 : if (!scratch_operand (operands[0], E_V16QImode))
23764 : return -1;
23765 : x6 = XVECEXP (x1, 0, 2);
23766 : x11 = XEXP (x6, 0);
23767 : operands[1] = x11;
23768 : if (!scratch_operand (operands[1], E_SImode)
23769 : || !
23770 : #line 26776 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23771 : (TARGET_SSE4_2))
23772 : return -1;
23773 : return 9055; /* sse4_2_pcmpestr_cconly */
23774 :
23775 : case 3:
23776 : if (XINT (x3, 1) != 133)
23777 : return -1;
23778 : if (GET_MODE (x3) == E_SImode
23779 : && pattern719 (x1,
23780 : 133,
23781 : 3) == 0
23782 : && pattern1747 (x1) == 0
23783 : &&
23784 : #line 26811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23785 : (TARGET_SSE4_2
23786 : && ix86_pre_reload_split ()))
23787 : return 9056; /* sse4_2_pcmpistr */
23788 : if (GET_MODE (x3) != E_CCmode
23789 : || pattern720 (x1) != 0
23790 : || !nonimmediate_operand (operands[3], E_V16QImode))
23791 : return -1;
23792 : x15 = XVECEXP (x3, 0, 2);
23793 : operands[4] = x15;
23794 : if (!const_0_to_255_operand (operands[4], E_SImode))
23795 : return -1;
23796 : x8 = XVECEXP (x1, 0, 1);
23797 : x9 = XEXP (x8, 0);
23798 : operands[0] = x9;
23799 : if (!scratch_operand (operands[0], E_V16QImode))
23800 : return -1;
23801 : x6 = XVECEXP (x1, 0, 2);
23802 : x11 = XEXP (x6, 0);
23803 : operands[1] = x11;
23804 : if (!scratch_operand (operands[1], E_SImode)
23805 : || !
23806 : #line 26904 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23807 : (TARGET_SSE4_2))
23808 : return -1;
23809 : return 9059; /* sse4_2_pcmpistr_cconly */
23810 :
23811 : default:
23812 : return -1;
23813 : }
23814 : }
23815 :
23816 : rtx_insn *
23817 : split_1 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
23818 : {
23819 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23820 : rtx x2;
23821 : rtx_insn *res ATTRIBUTE_UNUSED;
23822 : x2 = XEXP (x1, 0);
23823 : operands[0] = x2;
23824 : switch (GET_CODE (operands[0]))
23825 : {
23826 : case MEM:
23827 : switch (GET_MODE (operands[0]))
23828 : {
23829 : case E_V1TImode:
23830 : if (push_operand (operands[0], E_V1TImode)
23831 : && register_operand (operands[1], E_V1TImode))
23832 : {
23833 : if (((
23834 : #line 2187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23835 : (TARGET_64BIT && TARGET_STV) &&
23836 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23837 : (Pmode == SImode)) &&
23838 : #line 2189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23839 : ( reload_completed)))
23840 : return gen_split_3 (insn, operands);
23841 : if (((
23842 : #line 2187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23843 : (TARGET_64BIT && TARGET_STV) &&
23844 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23845 : (Pmode == DImode)) &&
23846 : #line 2189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23847 : ( reload_completed)))
23848 : return gen_split_4 (insn, operands);
23849 : }
23850 : break;
23851 :
23852 : case E_DImode:
23853 : if (push_operand (operands[0], E_DImode))
23854 : {
23855 : if (general_gr_operand (operands[1], E_DImode)
23856 : && (
23857 : #line 2211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23858 : (reload_completed) &&
23859 : #line 1199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23860 : (!TARGET_64BIT)))
23861 : return gen_split_5 (insn, operands);
23862 : if (immediate_operand (operands[1], E_DImode)
23863 : &&
23864 : #line 2244 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23865 : (TARGET_64BIT && epilogue_completed
23866 : && !symbolic_operand (operands[1], DImode)
23867 : && !x86_64_immediate_operand (operands[1], DImode)))
23868 : return gen_split_7 (insn, operands);
23869 : if (sse_reg_operand (operands[1], E_DImode))
23870 : {
23871 : if ((
23872 : #line 2281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23873 : (TARGET_SSE && reload_completed) &&
23874 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23875 : (Pmode == SImode)))
23876 : return gen_split_9 (insn, operands);
23877 : if ((
23878 : #line 2281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23879 : (TARGET_SSE && reload_completed) &&
23880 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23881 : (Pmode == DImode)))
23882 : return gen_split_12 (insn, operands);
23883 : }
23884 : }
23885 : break;
23886 :
23887 : case E_TImode:
23888 : if (push_operand (operands[0], E_TImode))
23889 : {
23890 : if (general_gr_operand (operands[1], E_TImode)
23891 : && (
23892 : #line 2211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23893 : (reload_completed) &&
23894 : #line 1200 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23895 : (TARGET_64BIT)))
23896 : return gen_split_6 (insn, operands);
23897 : if (sse_reg_operand (operands[1], E_TImode))
23898 : {
23899 : if ((
23900 : #line 2281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23901 : (TARGET_SSE && reload_completed) && (((
23902 : #line 1206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23903 : (TARGET_64BIT) &&
23904 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23905 : (Pmode == SImode)) &&
23906 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23907 : (Pmode == SImode)) &&
23908 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23909 : (Pmode == SImode))))
23910 : return gen_split_10 (insn, operands);
23911 : if ((
23912 : #line 2281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23913 : (TARGET_SSE && reload_completed) && (((
23914 : #line 1206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23915 : (TARGET_64BIT) &&
23916 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23917 : (Pmode == DImode)) &&
23918 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23919 : (Pmode == DImode)) &&
23920 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23921 : (Pmode == DImode))))
23922 : return gen_split_13 (insn, operands);
23923 : }
23924 : }
23925 : break;
23926 :
23927 : case E_SImode:
23928 : if (push_operand (operands[0], E_SImode)
23929 : && sse_reg_operand (operands[1], E_SImode))
23930 : {
23931 : if ((
23932 : #line 2281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23933 : (TARGET_SSE && reload_completed) &&
23934 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23935 : (Pmode == SImode)))
23936 : return gen_split_8 (insn, operands);
23937 : if ((
23938 : #line 2281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23939 : (TARGET_SSE && reload_completed) &&
23940 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23941 : (Pmode == DImode)))
23942 : return gen_split_11 (insn, operands);
23943 : }
23944 : break;
23945 :
23946 : case E_TFmode:
23947 : if (push_operand (operands[0], E_TFmode)
23948 : && sse_reg_operand (operands[1], E_TFmode))
23949 : {
23950 : if ((
23951 : #line 3817 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23952 : (TARGET_SSE && reload_completed) &&
23953 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23954 : (Pmode == SImode)))
23955 : return gen_split_37 (insn, operands);
23956 : if ((
23957 : #line 3817 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23958 : (TARGET_SSE && reload_completed) &&
23959 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23960 : (Pmode == DImode)))
23961 : return gen_split_38 (insn, operands);
23962 : }
23963 : break;
23964 :
23965 : case E_XFmode:
23966 : if (push_operand (operands[0], E_XFmode)
23967 : && fp_register_operand (operands[1], E_XFmode))
23968 : {
23969 : if ((
23970 : #line 3852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23971 : (reload_completed) &&
23972 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23973 : (Pmode == SImode)))
23974 : return gen_split_39 (insn, operands);
23975 : if ((
23976 : #line 3852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23977 : (reload_completed) &&
23978 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23979 : (Pmode == DImode)))
23980 : return gen_split_40 (insn, operands);
23981 : }
23982 : break;
23983 :
23984 : case E_DFmode:
23985 : if (push_operand (operands[0], E_DFmode)
23986 : && any_fp_register_operand (operands[1], E_DFmode))
23987 : {
23988 : if ((
23989 : #line 3886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23990 : (reload_completed) &&
23991 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23992 : (Pmode == SImode)))
23993 : return gen_split_41 (insn, operands);
23994 : if ((
23995 : #line 3886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23996 : (reload_completed) &&
23997 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23998 : (Pmode == DImode)))
23999 : return gen_split_42 (insn, operands);
24000 : }
24001 : break;
24002 :
24003 : case E_SFmode:
24004 : if (push_operand (operands[0], E_SFmode))
24005 : {
24006 : if (any_fp_register_operand (operands[1], E_SFmode))
24007 : {
24008 : if ((
24009 : #line 4017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24010 : (reload_completed) &&
24011 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24012 : (Pmode == SImode)))
24013 : return gen_split_43 (insn, operands);
24014 : if ((
24015 : #line 4017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24016 : (reload_completed) &&
24017 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24018 : (Pmode == DImode)))
24019 : return gen_split_46 (insn, operands);
24020 : }
24021 : if (memory_operand (operands[1], E_SFmode)
24022 : &&
24023 : #line 4040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24024 : (reload_completed
24025 : && find_constant_src (insn)))
24026 : return gen_split_49 (insn, operands);
24027 : }
24028 : break;
24029 :
24030 : case E_HFmode:
24031 : if (push_operand (operands[0], E_HFmode)
24032 : && any_fp_register_operand (operands[1], E_HFmode))
24033 : {
24034 : if ((
24035 : #line 4017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24036 : (reload_completed) &&
24037 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24038 : (Pmode == SImode)))
24039 : return gen_split_44 (insn, operands);
24040 : if ((
24041 : #line 4017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24042 : (reload_completed) &&
24043 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24044 : (Pmode == DImode)))
24045 : return gen_split_47 (insn, operands);
24046 : }
24047 : break;
24048 :
24049 : case E_BFmode:
24050 : if (push_operand (operands[0], E_BFmode)
24051 : && any_fp_register_operand (operands[1], E_BFmode))
24052 : {
24053 : if ((
24054 : #line 4017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24055 : (reload_completed) &&
24056 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24057 : (Pmode == SImode)))
24058 : return gen_split_45 (insn, operands);
24059 : if ((
24060 : #line 4017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24061 : (reload_completed) &&
24062 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24063 : (Pmode == DImode)))
24064 : return gen_split_48 (insn, operands);
24065 : }
24066 : break;
24067 :
24068 : default:
24069 : break;
24070 : }
24071 : break;
24072 :
24073 : case REG:
24074 : switch (GET_MODE (operands[0]))
24075 : {
24076 : case E_TImode:
24077 : if (sse_reg_operand (operands[0], E_TImode)
24078 : && general_reg_operand (operands[1], E_TImode)
24079 : &&
24080 : #line 2592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24081 : (TARGET_64BIT && TARGET_SSE4_1
24082 : && reload_completed))
24083 : return gen_split_20 (insn, operands);
24084 : if (general_reg_operand (operands[0], E_TImode)
24085 : && sse_reg_operand (operands[1], E_TImode)
24086 : && (
24087 : #line 2787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24088 : (TARGET_SSE4_1
24089 : && reload_completed) &&
24090 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24091 : (TARGET_64BIT)))
24092 : return gen_split_22 (insn, operands);
24093 : break;
24094 :
24095 : case E_DImode:
24096 : if (general_reg_operand (operands[0], E_DImode)
24097 : && sse_reg_operand (operands[1], E_DImode)
24098 : && (
24099 : #line 2787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24100 : (TARGET_SSE4_1
24101 : && reload_completed) &&
24102 : #line 1239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24103 : (!TARGET_64BIT)))
24104 : return gen_split_21 (insn, operands);
24105 : break;
24106 :
24107 : default:
24108 : break;
24109 : }
24110 : break;
24111 :
24112 : default:
24113 : break;
24114 : }
24115 : switch (GET_MODE (operands[0]))
24116 : {
24117 : case E_DImode:
24118 : if (nonimmediate_gr_operand (operands[0], E_DImode)
24119 : && general_gr_operand (operands[1], E_DImode)
24120 : && (
24121 : #line 2804 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24122 : (reload_completed) &&
24123 : #line 1199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24124 : (!TARGET_64BIT)))
24125 : return gen_split_23 (insn, operands);
24126 : if (sse_reg_operand (operands[0], E_DImode)
24127 : && general_reg_operand (operands[1], E_DImode)
24128 : &&
24129 : #line 2811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24130 : (!TARGET_64BIT && TARGET_SSE4_1
24131 : && reload_completed))
24132 : return gen_split_25 (insn, operands);
24133 : break;
24134 :
24135 : case E_TImode:
24136 : if (nonimmediate_gr_operand (operands[0], E_TImode)
24137 : && general_gr_operand (operands[1], E_TImode)
24138 : && (
24139 : #line 2804 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24140 : (reload_completed) &&
24141 : #line 1200 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24142 : (TARGET_64BIT)))
24143 : return gen_split_24 (insn, operands);
24144 : break;
24145 :
24146 : default:
24147 : break;
24148 : }
24149 : if (push_operand (operands[0], E_VOIDmode)
24150 : && general_gr_operand (operands[1], E_VOIDmode)
24151 : &&
24152 : #line 4048 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24153 : (reload_completed
24154 : && (GET_MODE (operands[0]) == TFmode
24155 : || GET_MODE (operands[0]) == XFmode
24156 : || GET_MODE (operands[0]) == DFmode)))
24157 : return gen_split_50 (insn, operands);
24158 : switch (GET_MODE (operands[0]))
24159 : {
24160 : case E_TFmode:
24161 : if (nonimmediate_gr_operand (operands[0], E_TFmode)
24162 : && general_gr_operand (operands[1], E_TFmode)
24163 : &&
24164 : #line 4122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24165 : (reload_completed))
24166 : return gen_split_51 (insn, operands);
24167 : break;
24168 :
24169 : case E_XFmode:
24170 : if (nonimmediate_gr_operand (operands[0], E_XFmode)
24171 : && general_gr_operand (operands[1], E_XFmode)
24172 : &&
24173 : #line 4195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24174 : (reload_completed))
24175 : return gen_split_52 (insn, operands);
24176 : break;
24177 :
24178 : case E_DFmode:
24179 : if (nonimmediate_gr_operand (operands[0], E_DFmode)
24180 : && general_gr_operand (operands[1], E_DFmode)
24181 : &&
24182 : #line 4377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24183 : (!TARGET_64BIT && reload_completed))
24184 : return gen_split_53 (insn, operands);
24185 : break;
24186 :
24187 : default:
24188 : break;
24189 : }
24190 : if (any_fp_register_operand (operands[0], E_VOIDmode)
24191 : && memory_operand (operands[1], E_VOIDmode)
24192 : &&
24193 : #line 4649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24194 : (reload_completed
24195 : && (GET_MODE (operands[0]) == TFmode
24196 : || GET_MODE (operands[0]) == XFmode
24197 : || GET_MODE (operands[0]) == DFmode
24198 : || GET_MODE (operands[0]) == SFmode)
24199 : && ix86_standard_x87sse_constant_load_p (insn, operands[0])))
24200 : return gen_split_54 (insn, operands);
24201 : if (fp_register_operand (operands[0], E_SFmode)
24202 : && immediate_operand (operands[1], E_SFmode)
24203 : &&
24204 : #line 4673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24205 : (reload_completed
24206 : && (standard_80387_constant_p (operands[1]) == 8
24207 : || standard_80387_constant_p (operands[1]) == 9)))
24208 : return gen_split_56 (insn, operands);
24209 : if (fp_register_operand (operands[0], E_DFmode)
24210 : && immediate_operand (operands[1], E_DFmode)
24211 : &&
24212 : #line 4673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24213 : (reload_completed
24214 : && (standard_80387_constant_p (operands[1]) == 8
24215 : || standard_80387_constant_p (operands[1]) == 9)))
24216 : return gen_split_57 (insn, operands);
24217 : if (!fp_register_operand (operands[0], E_XFmode)
24218 : || !immediate_operand (operands[1], E_XFmode)
24219 : || !
24220 : #line 4673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24221 : (reload_completed
24222 : && (standard_80387_constant_p (operands[1]) == 8
24223 : || standard_80387_constant_p (operands[1]) == 9)))
24224 : return NULL;
24225 : return gen_split_58 (insn, operands);
24226 : }
24227 :
24228 : rtx_insn *
24229 : split_10 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24230 : {
24231 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24232 : rtx x2, x3, x4, x5;
24233 : rtx_insn *res ATTRIBUTE_UNUSED;
24234 : x2 = XEXP (x1, 0);
24235 : operands[0] = x2;
24236 : x3 = XEXP (x1, 1);
24237 : x4 = XEXP (x3, 0);
24238 : operands[1] = x4;
24239 : switch (GET_CODE (operands[1]))
24240 : {
24241 : case CONST_INT:
24242 : switch (pattern586 (x3))
24243 : {
24244 : case 0:
24245 : if (!
24246 : #line 19085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24247 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode) - 1))
24248 : == GET_MODE_BITSIZE (QImode) - 1))
24249 : return NULL;
24250 : return gen_split_693 (insn, operands);
24251 :
24252 : case 1:
24253 : if (!
24254 : #line 19085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24255 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode) - 1))
24256 : == GET_MODE_BITSIZE (HImode) - 1))
24257 : return NULL;
24258 : return gen_split_695 (insn, operands);
24259 :
24260 : case 2:
24261 : if (!
24262 : #line 19085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24263 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1))
24264 : == GET_MODE_BITSIZE (SImode) - 1))
24265 : return NULL;
24266 : return gen_split_697 (insn, operands);
24267 :
24268 : case 3:
24269 : if (!(
24270 : #line 19085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24271 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1))
24272 : == GET_MODE_BITSIZE (DImode) - 1) &&
24273 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24274 : (TARGET_64BIT)))
24275 : return NULL;
24276 : return gen_split_699 (insn, operands);
24277 :
24278 : case 4:
24279 : if (!
24280 : #line 19169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24281 : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
24282 : return NULL;
24283 : return gen_split_725 (insn, operands);
24284 :
24285 : case 5:
24286 : if (!
24287 : #line 19169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24288 : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
24289 : return NULL;
24290 : return gen_split_727 (insn, operands);
24291 :
24292 : case 6:
24293 : if (!
24294 : #line 19169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24295 : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
24296 : return NULL;
24297 : return gen_split_729 (insn, operands);
24298 :
24299 : case 7:
24300 : if (!(
24301 : #line 19169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24302 : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
24303 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24304 : (TARGET_64BIT)))
24305 : return NULL;
24306 : return gen_split_731 (insn, operands);
24307 :
24308 : case 8:
24309 : if (!
24310 : #line 19238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24311 : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
24312 : return NULL;
24313 : return gen_split_757 (insn, operands);
24314 :
24315 : case 9:
24316 : if (!
24317 : #line 19238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24318 : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
24319 : return NULL;
24320 : return gen_split_759 (insn, operands);
24321 :
24322 : case 10:
24323 : if (!
24324 : #line 19238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24325 : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
24326 : return NULL;
24327 : return gen_split_761 (insn, operands);
24328 :
24329 : case 11:
24330 : if (!(
24331 : #line 19238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24332 : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
24333 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24334 : (TARGET_64BIT)))
24335 : return NULL;
24336 : return gen_split_763 (insn, operands);
24337 :
24338 : case 12:
24339 : if (!
24340 : #line 19130 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24341 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode) - 1))
24342 : == GET_MODE_BITSIZE (QImode) - 1))
24343 : return NULL;
24344 : return gen_split_709 (insn, operands);
24345 :
24346 : case 13:
24347 : if (!
24348 : #line 19130 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24349 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode) - 1))
24350 : == GET_MODE_BITSIZE (HImode) - 1))
24351 : return NULL;
24352 : return gen_split_711 (insn, operands);
24353 :
24354 : case 14:
24355 : if (!
24356 : #line 19130 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24357 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1))
24358 : == GET_MODE_BITSIZE (SImode) - 1))
24359 : return NULL;
24360 : return gen_split_713 (insn, operands);
24361 :
24362 : case 15:
24363 : if (!(
24364 : #line 19130 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24365 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1))
24366 : == GET_MODE_BITSIZE (DImode) - 1) &&
24367 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24368 : (TARGET_64BIT)))
24369 : return NULL;
24370 : return gen_split_715 (insn, operands);
24371 :
24372 : case 16:
24373 : if (!
24374 : #line 19201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24375 : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
24376 : return NULL;
24377 : return gen_split_741 (insn, operands);
24378 :
24379 : case 17:
24380 : if (!
24381 : #line 19201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24382 : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
24383 : return NULL;
24384 : return gen_split_743 (insn, operands);
24385 :
24386 : case 18:
24387 : if (!
24388 : #line 19201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24389 : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
24390 : return NULL;
24391 : return gen_split_745 (insn, operands);
24392 :
24393 : case 19:
24394 : if (!(
24395 : #line 19201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24396 : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
24397 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24398 : (TARGET_64BIT)))
24399 : return NULL;
24400 : return gen_split_747 (insn, operands);
24401 :
24402 : case 20:
24403 : if (!
24404 : #line 19270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24405 : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
24406 : return NULL;
24407 : return gen_split_773 (insn, operands);
24408 :
24409 : case 21:
24410 : if (!
24411 : #line 19270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24412 : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
24413 : return NULL;
24414 : return gen_split_775 (insn, operands);
24415 :
24416 : case 22:
24417 : if (!
24418 : #line 19270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24419 : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
24420 : return NULL;
24421 : return gen_split_777 (insn, operands);
24422 :
24423 : case 23:
24424 : if (!(
24425 : #line 19270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24426 : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
24427 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24428 : (TARGET_64BIT)))
24429 : return NULL;
24430 : return gen_split_779 (insn, operands);
24431 :
24432 : default:
24433 : return NULL;
24434 : }
24435 :
24436 : case REG:
24437 : case SUBREG:
24438 : x5 = XEXP (x3, 1);
24439 : if (GET_CODE (x5) != CONST_INT)
24440 : return NULL;
24441 : switch (XWINT (x5, 0))
24442 : {
24443 : case 32L:
24444 : if (!register_operand (operands[0], E_DImode)
24445 : || GET_MODE (x3) != E_DImode
24446 : || !register_operand (operands[1], E_DImode)
24447 : || !(
24448 : #line 19357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24449 : (!TARGET_64BIT) &&
24450 : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24451 : ( reload_completed)))
24452 : return NULL;
24453 : return gen_split_785 (insn, operands);
24454 :
24455 : case 64L:
24456 : if (!register_operand (operands[0], E_TImode)
24457 : || GET_MODE (x3) != E_TImode
24458 : || !register_operand (operands[1], E_TImode)
24459 : || !(
24460 : #line 19375 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24461 : (TARGET_64BIT) &&
24462 : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24463 : ( reload_completed)))
24464 : return NULL;
24465 : return gen_split_787 (insn, operands);
24466 :
24467 : default:
24468 : return NULL;
24469 : }
24470 :
24471 : default:
24472 : return NULL;
24473 : }
24474 : }
24475 :
24476 : rtx_insn *
24477 : split_14 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24478 : {
24479 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24480 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
24481 : rtx_insn *res ATTRIBUTE_UNUSED;
24482 : x2 = XEXP (x1, 1);
24483 : switch (GET_CODE (x2))
24484 : {
24485 : case COMPARE:
24486 : return split_5 (x1, insn);
24487 :
24488 : case CONST_INT:
24489 : case CONST_WIDE_INT:
24490 : case CONST_POLY_INT:
24491 : case CONST_FIXED:
24492 : case CONST_DOUBLE:
24493 : case CONST_VECTOR:
24494 : case CONST:
24495 : case REG:
24496 : case SUBREG:
24497 : case MEM:
24498 : case LABEL_REF:
24499 : case SYMBOL_REF:
24500 : case HIGH:
24501 : operands[1] = x2;
24502 : res = split_1 (x1, insn);
24503 : if (res != NULL_RTX)
24504 : return res;
24505 : switch (GET_CODE (x2))
24506 : {
24507 : case REG:
24508 : if (REGNO (x2) != 17
24509 : || pattern59 (x1,
24510 : E_CCCmode) != 0
24511 : || !(
24512 : #line 10574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24513 : (ix86_pre_reload_split ()) &&
24514 : #line 10576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24515 : ( 1)))
24516 : return NULL;
24517 : return gen_split_201 (insn, operands);
24518 :
24519 : case SUBREG:
24520 : if (maybe_ne (SUBREG_BYTE (x2), 0))
24521 : return NULL;
24522 : x3 = XEXP (x1, 0);
24523 : operands[0] = x3;
24524 : x4 = XEXP (x2, 0);
24525 : switch (GET_CODE (x4))
24526 : {
24527 : case LSHIFTRT:
24528 : switch (pattern297 (x2))
24529 : {
24530 : case 0:
24531 : if (!((
24532 : #line 17648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24533 : (TARGET_APX_NF && UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
24534 : #line 1239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24535 : (!TARGET_64BIT)) &&
24536 : #line 17650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24537 : ( reload_completed)))
24538 : return NULL;
24539 : return gen_split_607 (insn, operands);
24540 :
24541 : case 1:
24542 : if (!((
24543 : #line 17648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24544 : (TARGET_APX_NF && UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
24545 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24546 : (TARGET_64BIT)) &&
24547 : #line 17650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24548 : ( reload_completed)))
24549 : return NULL;
24550 : return gen_split_609 (insn, operands);
24551 :
24552 : default:
24553 : return NULL;
24554 : }
24555 :
24556 : case ASHIFTRT:
24557 : switch (pattern297 (x2))
24558 : {
24559 : case 0:
24560 : if (!((
24561 : #line 17648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24562 : (TARGET_APX_NF && UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
24563 : #line 1239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24564 : (!TARGET_64BIT)) &&
24565 : #line 17650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24566 : ( reload_completed)))
24567 : return NULL;
24568 : return gen_split_608 (insn, operands);
24569 :
24570 : case 1:
24571 : if (!((
24572 : #line 17648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24573 : (TARGET_APX_NF && UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
24574 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24575 : (TARGET_64BIT)) &&
24576 : #line 17650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24577 : ( reload_completed)))
24578 : return NULL;
24579 : return gen_split_610 (insn, operands);
24580 :
24581 : default:
24582 : return NULL;
24583 : }
24584 :
24585 : default:
24586 : return NULL;
24587 : }
24588 :
24589 : default:
24590 : return NULL;
24591 : }
24592 :
24593 : case PLUS:
24594 : return split_6 (x1, insn);
24595 :
24596 : case IOR:
24597 : return split_7 (x1, insn);
24598 :
24599 : case XOR:
24600 : return split_8 (x1, insn);
24601 :
24602 : case FLOAT_EXTEND:
24603 : x3 = XEXP (x1, 0);
24604 : operands[0] = x3;
24605 : x4 = XEXP (x2, 0);
24606 : operands[1] = x4;
24607 : switch (GET_CODE (operands[1]))
24608 : {
24609 : case SUBREG:
24610 : case MEM:
24611 : if (memory_operand (operands[1], E_VOIDmode)
24612 : && any_fp_register_operand (operands[0], E_VOIDmode)
24613 : &&
24614 : #line 4661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24615 : (reload_completed
24616 : && (GET_MODE (operands[0]) == TFmode
24617 : || GET_MODE (operands[0]) == XFmode
24618 : || GET_MODE (operands[0]) == DFmode)
24619 : && ix86_standard_x87sse_constant_load_p (insn, operands[0])))
24620 : return gen_split_55 (insn, operands);
24621 : break;
24622 :
24623 : case REG:
24624 : res = split_2 (x1, insn);
24625 : if (res != NULL_RTX)
24626 : return res;
24627 : break;
24628 :
24629 : default:
24630 : break;
24631 : }
24632 : if (!nonimmediate_operand (operands[1], E_SFmode)
24633 : || !sse_reg_operand (operands[0], E_DFmode)
24634 : || GET_MODE (x2) != E_DFmode)
24635 : return NULL;
24636 : if (
24637 : #line 5423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24638 : (TARGET_USE_VECTOR_FP_CONVERTS
24639 : && optimize_insn_for_speed_p ()
24640 : && reload_completed
24641 : && (!EXT_REX_SSE_REG_P (operands[0])
24642 : || TARGET_AVX512VL)))
24643 : return gen_split_76 (insn, operands);
24644 : if (!
24645 : #line 5486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24646 : (!TARGET_AVX
24647 : && TARGET_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY
24648 : && epilogue_completed
24649 : && optimize_function_for_speed_p (cfun)
24650 : && (!REG_P (operands[1])
24651 : || (!TARGET_AVX && REGNO (operands[0]) != REGNO (operands[1])))
24652 : && (!EXT_REX_SSE_REG_P (operands[0])
24653 : || TARGET_AVX512VL)))
24654 : return NULL;
24655 : return gen_split_77 (insn, operands);
24656 :
24657 : case ZERO_EXTEND:
24658 : x3 = XEXP (x1, 0);
24659 : operands[0] = x3;
24660 : x4 = XEXP (x2, 0);
24661 : switch (GET_CODE (x4))
24662 : {
24663 : case REG:
24664 : case SUBREG:
24665 : case MEM:
24666 : operands[1] = x4;
24667 : switch (GET_MODE (operands[0]))
24668 : {
24669 : case E_TImode:
24670 : if (!nonimmediate_operand (operands[0], E_TImode)
24671 : || GET_MODE (x2) != E_TImode
24672 : || !nonimmediate_operand (operands[1], E_DImode)
24673 : || !(
24674 : #line 4707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24675 : (TARGET_64BIT) &&
24676 : #line 4709 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24677 : ( reload_completed)))
24678 : return NULL;
24679 : return gen_split_59 (insn, operands);
24680 :
24681 : case E_DImode:
24682 : if (GET_MODE (x2) != E_DImode)
24683 : return NULL;
24684 : if (memory_operand (operands[0], E_DImode)
24685 : && memory_operand (operands[1], E_SImode)
24686 : &&
24687 : #line 4835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24688 : (reload_completed))
24689 : return gen_split_60 (insn, operands);
24690 : if (general_reg_operand (operands[0], E_DImode)
24691 : && general_reg_operand (operands[1], E_SImode)
24692 : &&
24693 : #line 4842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24694 : (!TARGET_64BIT && reload_completed
24695 : && REGNO (operands[0]) == REGNO (operands[1])))
24696 : return gen_split_61 (insn, operands);
24697 : if (!nonimmediate_gr_operand (operands[0], E_DImode)
24698 : || !nonimmediate_operand (operands[1], E_SImode)
24699 : || !
24700 : #line 4850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24701 : (!TARGET_64BIT && reload_completed
24702 : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
24703 : return NULL;
24704 : return gen_split_62 (insn, operands);
24705 :
24706 : default:
24707 : return NULL;
24708 : }
24709 :
24710 : case UNSPEC:
24711 : if (XVECLEN (x4, 0) != 1
24712 : || XINT (x4, 1) != 20
24713 : || GET_MODE (x4) != E_SImode)
24714 : return NULL;
24715 : x5 = XVECEXP (x4, 0, 0);
24716 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
24717 : || !register_operand (operands[0], E_DImode)
24718 : || GET_MODE (x2) != E_DImode
24719 : || !(
24720 : #line 24182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24721 : (TARGET_X32) &&
24722 : #line 24184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24723 : ( 1)))
24724 : return NULL;
24725 : return gen_split_921 (insn, operands);
24726 :
24727 : default:
24728 : return NULL;
24729 : }
24730 :
24731 : case FLOAT_TRUNCATE:
24732 : if (GET_MODE (x2) != E_SFmode)
24733 : return NULL;
24734 : x3 = XEXP (x1, 0);
24735 : operands[0] = x3;
24736 : if (!sse_reg_operand (operands[0], E_SFmode))
24737 : return NULL;
24738 : x4 = XEXP (x2, 0);
24739 : operands[1] = x4;
24740 : if (!nonimmediate_operand (operands[1], E_DFmode))
24741 : return NULL;
24742 : if (
24743 : #line 5662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24744 : (TARGET_USE_VECTOR_FP_CONVERTS
24745 : && optimize_insn_for_speed_p ()
24746 : && reload_completed
24747 : && (!EXT_REX_SSE_REG_P (operands[0])
24748 : || TARGET_AVX512VL)))
24749 : return gen_split_78 (insn, operands);
24750 : if (!
24751 : #line 5716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24752 : (!TARGET_AVX
24753 : && TARGET_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY
24754 : && epilogue_completed
24755 : && optimize_function_for_speed_p (cfun)
24756 : && (!REG_P (operands[1])
24757 : || (!TARGET_AVX && REGNO (operands[0]) != REGNO (operands[1])))
24758 : && (!EXT_REX_SSE_REG_P (operands[0])
24759 : || TARGET_AVX512VL)))
24760 : return NULL;
24761 : return gen_split_79 (insn, operands);
24762 :
24763 : case FLOAT:
24764 : return split_13 (x1, insn);
24765 :
24766 : case MULT:
24767 : x3 = XEXP (x1, 0);
24768 : operands[0] = x3;
24769 : x6 = XEXP (x2, 1);
24770 : operands[1] = x6;
24771 : x4 = XEXP (x2, 0);
24772 : if (!rtx_equal_p (x4, operands[0]))
24773 : return NULL;
24774 : switch (GET_MODE (operands[0]))
24775 : {
24776 : case E_SImode:
24777 : if (!general_reg_operand (operands[0], E_SImode)
24778 : || GET_MODE (x2) != E_SImode
24779 : || !const1248_operand (operands[1], E_SImode)
24780 : || !
24781 : #line 6516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24782 : (TARGET_APX_NF && reload_completed))
24783 : return NULL;
24784 : return gen_split_102 (insn, operands);
24785 :
24786 : case E_DImode:
24787 : if (!general_reg_operand (operands[0], E_DImode)
24788 : || GET_MODE (x2) != E_DImode
24789 : || !const1248_operand (operands[1], E_DImode)
24790 : || !(
24791 : #line 6516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24792 : (TARGET_APX_NF && reload_completed) &&
24793 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24794 : (TARGET_64BIT)))
24795 : return NULL;
24796 : return gen_split_103 (insn, operands);
24797 :
24798 : default:
24799 : return NULL;
24800 : }
24801 :
24802 : case UNSPEC:
24803 : switch (XVECLEN (x2, 0))
24804 : {
24805 : case 2:
24806 : switch (XINT (x2, 1))
24807 : {
24808 : case 41:
24809 : if (GET_MODE (x2) != E_CCCmode)
24810 : return NULL;
24811 : x7 = XVECEXP (x2, 0, 0);
24812 : if (GET_CODE (x7) != LTU
24813 : || pattern726 (x7) != 0
24814 : || pattern256 (x1) != 0)
24815 : return NULL;
24816 : x8 = XEXP (x7, 0);
24817 : switch (GET_MODE (x8))
24818 : {
24819 : case E_CCmode:
24820 : if (!(
24821 : #line 10595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24822 : (ix86_pre_reload_split ()) &&
24823 : #line 10597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24824 : ( 1)))
24825 : return NULL;
24826 : return gen_split_204 (insn, operands);
24827 :
24828 : case E_CCCmode:
24829 : if (!(
24830 : #line 10595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24831 : (ix86_pre_reload_split ()) &&
24832 : #line 10597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24833 : ( 1)))
24834 : return NULL;
24835 : return gen_split_205 (insn, operands);
24836 :
24837 : default:
24838 : return NULL;
24839 : }
24840 :
24841 : case 46:
24842 : if (pattern301 (x2) != 0)
24843 : return NULL;
24844 : x3 = XEXP (x1, 0);
24845 : operands[0] = x3;
24846 : if (!register_operand (operands[0], E_SImode))
24847 : return NULL;
24848 : x9 = XVECEXP (x2, 0, 1);
24849 : operands[2] = x9;
24850 : if (!register_operand (operands[2], E_SImode)
24851 : || !(
24852 : #line 20503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24853 : (ix86_pre_reload_split ()) &&
24854 : #line 20505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24855 : ( 1)))
24856 : return NULL;
24857 : return gen_split_854 (insn, operands);
24858 :
24859 : default:
24860 : return NULL;
24861 : }
24862 :
24863 : case 1:
24864 : x3 = XEXP (x1, 0);
24865 : operands[0] = x3;
24866 : switch (XINT (x2, 1))
24867 : {
24868 : case 98:
24869 : switch (pattern305 (x2))
24870 : {
24871 : case 0:
24872 : if (!((
24873 : #line 22607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24874 : (TARGET_APX_NF) &&
24875 : #line 22589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24876 : (TARGET_BMI)) &&
24877 : #line 22609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24878 : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
24879 : && optimize_function_for_speed_p (cfun)
24880 : && !reg_mentioned_p (operands[0], operands[1]))))
24881 : return NULL;
24882 : return gen_split_892 (insn, operands);
24883 :
24884 : case 1:
24885 : if (!((
24886 : #line 22607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24887 : (TARGET_APX_NF) && (((
24888 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24889 : (TARGET_64BIT) &&
24890 : #line 22589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24891 : (TARGET_BMI)) &&
24892 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24893 : (TARGET_64BIT)) &&
24894 : #line 22589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24895 : (TARGET_BMI))) &&
24896 : #line 22609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24897 : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
24898 : && optimize_function_for_speed_p (cfun)
24899 : && !reg_mentioned_p (operands[0], operands[1]))))
24900 : return NULL;
24901 : return gen_split_894 (insn, operands);
24902 :
24903 : default:
24904 : return NULL;
24905 : }
24906 :
24907 : case 97:
24908 : switch (pattern305 (x2))
24909 : {
24910 : case 0:
24911 : if (!((
24912 : #line 22607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24913 : (TARGET_APX_NF) &&
24914 : #line 22590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24915 : (TARGET_LZCNT)) &&
24916 : #line 22609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24917 : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
24918 : && optimize_function_for_speed_p (cfun)
24919 : && !reg_mentioned_p (operands[0], operands[1]))))
24920 : return NULL;
24921 : return gen_split_893 (insn, operands);
24922 :
24923 : case 1:
24924 : if (!((
24925 : #line 22607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24926 : (TARGET_APX_NF) && (((
24927 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24928 : (TARGET_64BIT) &&
24929 : #line 22590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24930 : (TARGET_LZCNT)) &&
24931 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24932 : (TARGET_64BIT)) &&
24933 : #line 22590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24934 : (TARGET_LZCNT))) &&
24935 : #line 22609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24936 : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
24937 : && optimize_function_for_speed_p (cfun)
24938 : && !reg_mentioned_p (operands[0], operands[1]))))
24939 : return NULL;
24940 : return gen_split_895 (insn, operands);
24941 :
24942 : default:
24943 : return NULL;
24944 : }
24945 :
24946 : case 20:
24947 : x7 = XVECEXP (x2, 0, 0);
24948 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
24949 : return NULL;
24950 : switch (pattern24 (x2))
24951 : {
24952 : case 0:
24953 : if (!
24954 : #line 1412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24955 : (ptr_mode == SImode))
24956 : return NULL;
24957 : return gen_split_919 (insn, operands);
24958 :
24959 : case 1:
24960 : if (!
24961 : #line 1412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24962 : (ptr_mode == DImode))
24963 : return NULL;
24964 : return gen_split_920 (insn, operands);
24965 :
24966 : default:
24967 : return NULL;
24968 : }
24969 :
24970 : default:
24971 : return NULL;
24972 : }
24973 :
24974 : default:
24975 : return NULL;
24976 : }
24977 :
24978 : case SIGN_EXTEND:
24979 : x3 = XEXP (x1, 0);
24980 : operands[0] = x3;
24981 : x4 = XEXP (x2, 0);
24982 : switch (GET_CODE (x4))
24983 : {
24984 : case AND:
24985 : switch (pattern408 (x2))
24986 : {
24987 : case 0:
24988 : return gen_split_406 (insn, operands);
24989 :
24990 : case 1:
24991 : return gen_split_409 (insn, operands);
24992 :
24993 : case 2:
24994 : return gen_split_415 (insn, operands);
24995 :
24996 : case 3:
24997 : if (!
24998 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24999 : (TARGET_64BIT))
25000 : return NULL;
25001 : return gen_split_412 (insn, operands);
25002 :
25003 : case 4:
25004 : if (!
25005 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25006 : (TARGET_64BIT))
25007 : return NULL;
25008 : return gen_split_418 (insn, operands);
25009 :
25010 : case 5:
25011 : if (!
25012 : #line 14692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25013 : (TARGET_64BIT))
25014 : return NULL;
25015 : return gen_split_421 (insn, operands);
25016 :
25017 : default:
25018 : return NULL;
25019 : }
25020 :
25021 : case IOR:
25022 : switch (pattern408 (x2))
25023 : {
25024 : case 0:
25025 : return gen_split_407 (insn, operands);
25026 :
25027 : case 1:
25028 : return gen_split_410 (insn, operands);
25029 :
25030 : case 2:
25031 : return gen_split_416 (insn, operands);
25032 :
25033 : case 3:
25034 : if (!
25035 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25036 : (TARGET_64BIT))
25037 : return NULL;
25038 : return gen_split_413 (insn, operands);
25039 :
25040 : case 4:
25041 : if (!
25042 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25043 : (TARGET_64BIT))
25044 : return NULL;
25045 : return gen_split_419 (insn, operands);
25046 :
25047 : case 5:
25048 : if (!
25049 : #line 14692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25050 : (TARGET_64BIT))
25051 : return NULL;
25052 : return gen_split_422 (insn, operands);
25053 :
25054 : default:
25055 : return NULL;
25056 : }
25057 :
25058 : case XOR:
25059 : switch (pattern408 (x2))
25060 : {
25061 : case 0:
25062 : return gen_split_408 (insn, operands);
25063 :
25064 : case 1:
25065 : return gen_split_411 (insn, operands);
25066 :
25067 : case 2:
25068 : return gen_split_417 (insn, operands);
25069 :
25070 : case 3:
25071 : if (!
25072 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25073 : (TARGET_64BIT))
25074 : return NULL;
25075 : return gen_split_414 (insn, operands);
25076 :
25077 : case 4:
25078 : if (!
25079 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25080 : (TARGET_64BIT))
25081 : return NULL;
25082 : return gen_split_420 (insn, operands);
25083 :
25084 : case 5:
25085 : if (!
25086 : #line 14692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25087 : (TARGET_64BIT))
25088 : return NULL;
25089 : return gen_split_423 (insn, operands);
25090 :
25091 : default:
25092 : return NULL;
25093 : }
25094 :
25095 : default:
25096 : return NULL;
25097 : }
25098 :
25099 : case NOT:
25100 : x4 = XEXP (x2, 0);
25101 : switch (GET_CODE (x4))
25102 : {
25103 : case REG:
25104 : case SUBREG:
25105 : case MEM:
25106 : switch (pattern42 (x1))
25107 : {
25108 : case 0:
25109 : switch (GET_MODE (operands[0]))
25110 : {
25111 : case E_DImode:
25112 : if (!nonimmediate_operand (operands[0], E_DImode)
25113 : || GET_MODE (x2) != E_DImode
25114 : || !nonimmediate_operand (operands[1], E_DImode)
25115 : || !((
25116 : #line 15882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25117 : (ix86_unary_operator_ok (NOT, DImode, operands, TARGET_APX_NDD)) &&
25118 : #line 1239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25119 : (!TARGET_64BIT)) &&
25120 : #line 15884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25121 : ( reload_completed)))
25122 : return NULL;
25123 : return gen_split_546 (insn, operands);
25124 :
25125 : case E_TImode:
25126 : if (!nonimmediate_operand (operands[0], E_TImode)
25127 : || GET_MODE (x2) != E_TImode
25128 : || !nonimmediate_operand (operands[1], E_TImode)
25129 : || !((
25130 : #line 15882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25131 : (ix86_unary_operator_ok (NOT, TImode, operands, TARGET_APX_NDD)) &&
25132 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25133 : (TARGET_64BIT)) &&
25134 : #line 15884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25135 : ( reload_completed)))
25136 : return NULL;
25137 : return gen_split_547 (insn, operands);
25138 :
25139 : default:
25140 : return NULL;
25141 : }
25142 :
25143 : case 1:
25144 : if (!(
25145 : #line 15992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25146 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25147 : #line 15996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25148 : ( reload_completed
25149 : && !(rtx_equal_p (operands[0], operands[1])))))
25150 : return NULL;
25151 : return gen_split_548 (insn, operands);
25152 :
25153 : case 2:
25154 : if (!(
25155 : #line 15992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25156 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25157 : #line 15996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25158 : ( reload_completed
25159 : && !(rtx_equal_p (operands[0], operands[1])))))
25160 : return NULL;
25161 : return gen_split_549 (insn, operands);
25162 :
25163 : default:
25164 : return NULL;
25165 : }
25166 :
25167 : case ASHIFTRT:
25168 : case LSHIFTRT:
25169 : case SIGN_EXTRACT:
25170 : case ZERO_EXTRACT:
25171 : operands[2] = x4;
25172 : switch (pattern90 (x1))
25173 : {
25174 : case 0:
25175 : if (!
25176 : #line 16080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25177 : (reload_completed
25178 : && !(rtx_equal_p (operands[0], operands[1]))))
25179 : return NULL;
25180 : return gen_split_555 (insn, operands);
25181 :
25182 : case 1:
25183 : if (!
25184 : #line 16080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25185 : (reload_completed
25186 : && !(rtx_equal_p (operands[0], operands[1]))))
25187 : return NULL;
25188 : return gen_split_556 (insn, operands);
25189 :
25190 : case 2:
25191 : if (!(
25192 : #line 16080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25193 : (reload_completed
25194 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25195 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25196 : (TARGET_64BIT)))
25197 : return NULL;
25198 : return gen_split_557 (insn, operands);
25199 :
25200 : default:
25201 : return NULL;
25202 : }
25203 :
25204 : default:
25205 : return NULL;
25206 : }
25207 :
25208 : case ASHIFT:
25209 : x3 = XEXP (x1, 0);
25210 : operands[0] = x3;
25211 : x4 = XEXP (x2, 0);
25212 : operands[1] = x4;
25213 : x6 = XEXP (x2, 1);
25214 : operands[2] = x6;
25215 : switch (GET_CODE (operands[2]))
25216 : {
25217 : case REG:
25218 : case SUBREG:
25219 : if (!register_operand (operands[2], E_QImode))
25220 : return NULL;
25221 : switch (pattern132 (x2))
25222 : {
25223 : case 0:
25224 : if (!
25225 : #line 16927 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25226 : (TARGET_BMI2 && reload_completed))
25227 : return NULL;
25228 : return gen_split_576 (insn, operands);
25229 :
25230 : case 1:
25231 : if (!(
25232 : #line 16927 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25233 : (TARGET_BMI2 && reload_completed) &&
25234 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25235 : (TARGET_64BIT)))
25236 : return NULL;
25237 : return gen_split_577 (insn, operands);
25238 :
25239 : default:
25240 : return NULL;
25241 : }
25242 :
25243 : case CONST_INT:
25244 : if (!const_0_to_3_operand (operands[2], E_VOIDmode))
25245 : return NULL;
25246 : switch (GET_MODE (operands[0]))
25247 : {
25248 : case E_QImode:
25249 : if (!general_reg_operand (operands[0], E_QImode)
25250 : || GET_MODE (x2) != E_QImode
25251 : || !index_reg_operand (operands[1], E_QImode)
25252 : || !
25253 : #line 17235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25254 : (reload_completed
25255 : && REGNO (operands[0]) != REGNO (operands[1])
25256 : && !TARGET_APX_NDD))
25257 : return NULL;
25258 : return gen_split_587 (insn, operands);
25259 :
25260 : case E_HImode:
25261 : if (!general_reg_operand (operands[0], E_HImode)
25262 : || GET_MODE (x2) != E_HImode
25263 : || !index_reg_operand (operands[1], E_HImode)
25264 : || !
25265 : #line 17235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25266 : (reload_completed
25267 : && REGNO (operands[0]) != REGNO (operands[1])
25268 : && !TARGET_APX_NDD))
25269 : return NULL;
25270 : return gen_split_588 (insn, operands);
25271 :
25272 : case E_SImode:
25273 : if (!general_reg_operand (operands[0], E_SImode)
25274 : || GET_MODE (x2) != E_SImode
25275 : || !index_reg_operand (operands[1], E_SImode)
25276 : || !
25277 : #line 17235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25278 : (reload_completed
25279 : && REGNO (operands[0]) != REGNO (operands[1])
25280 : && !TARGET_APX_NDD))
25281 : return NULL;
25282 : return gen_split_589 (insn, operands);
25283 :
25284 : case E_DImode:
25285 : if (!general_reg_operand (operands[0], E_DImode)
25286 : || GET_MODE (x2) != E_DImode
25287 : || !index_reg_operand (operands[1], E_DImode)
25288 : || !(
25289 : #line 17235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25290 : (reload_completed
25291 : && REGNO (operands[0]) != REGNO (operands[1])
25292 : && !TARGET_APX_NDD) &&
25293 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25294 : (TARGET_64BIT)))
25295 : return NULL;
25296 : return gen_split_590 (insn, operands);
25297 :
25298 : default:
25299 : return NULL;
25300 : }
25301 :
25302 : default:
25303 : return NULL;
25304 : }
25305 :
25306 : case LSHIFTRT:
25307 : x3 = XEXP (x1, 0);
25308 : operands[0] = x3;
25309 : switch (pattern239 (x2))
25310 : {
25311 : case 0:
25312 : if (!
25313 : #line 18361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25314 : (TARGET_BMI2 && reload_completed))
25315 : return NULL;
25316 : return gen_split_624 (insn, operands);
25317 :
25318 : case 1:
25319 : if (!(
25320 : #line 18361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25321 : (TARGET_BMI2 && reload_completed) &&
25322 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25323 : (TARGET_64BIT)))
25324 : return NULL;
25325 : return gen_split_626 (insn, operands);
25326 :
25327 : default:
25328 : return NULL;
25329 : }
25330 :
25331 : case ASHIFTRT:
25332 : x3 = XEXP (x1, 0);
25333 : operands[0] = x3;
25334 : x4 = XEXP (x2, 0);
25335 : switch (GET_CODE (x4))
25336 : {
25337 : case REG:
25338 : case SUBREG:
25339 : case MEM:
25340 : switch (pattern239 (x2))
25341 : {
25342 : case 0:
25343 : if (!
25344 : #line 18361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25345 : (TARGET_BMI2 && reload_completed))
25346 : return NULL;
25347 : return gen_split_625 (insn, operands);
25348 :
25349 : case 1:
25350 : if (!(
25351 : #line 18361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25352 : (TARGET_BMI2 && reload_completed) &&
25353 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25354 : (TARGET_64BIT)))
25355 : return NULL;
25356 : return gen_split_627 (insn, operands);
25357 :
25358 : default:
25359 : return NULL;
25360 : }
25361 :
25362 : case ASHIFT:
25363 : if (pattern295 (x2,
25364 : E_V2DImode) != 0)
25365 : return NULL;
25366 : if ((
25367 : #line 18918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25368 : (!TARGET_64BIT && TARGET_STV && TARGET_AVX512VL
25369 : && INTVAL (operands[2]) == INTVAL (operands[3])
25370 : && UINTVAL (operands[2]) < 32) &&
25371 : #line 18922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25372 : ( reload_completed)))
25373 : return gen_split_682 (insn, operands);
25374 : if (!(
25375 : #line 18935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25376 : (!TARGET_AVX512VL
25377 : && INTVAL (operands[2]) == INTVAL (operands[3])
25378 : && UINTVAL (operands[2]) < 32
25379 : && ix86_pre_reload_split ()) &&
25380 : #line 18940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25381 : ( 1)))
25382 : return NULL;
25383 : return gen_split_683 (insn, operands);
25384 :
25385 : default:
25386 : return NULL;
25387 : }
25388 :
25389 : case ROTATE:
25390 : return split_9 (x1, insn);
25391 :
25392 : case ROTATERT:
25393 : return split_10 (x1, insn);
25394 :
25395 : case IF_THEN_ELSE:
25396 : return split_11 (x1, insn);
25397 :
25398 : case NE:
25399 : case EQ:
25400 : case GE:
25401 : case GT:
25402 : case LE:
25403 : case LT:
25404 : case LTGT:
25405 : case GEU:
25406 : case GTU:
25407 : case LEU:
25408 : case LTU:
25409 : case UNORDERED:
25410 : case ORDERED:
25411 : case UNEQ:
25412 : case UNGE:
25413 : case UNGT:
25414 : case UNLE:
25415 : case UNLT:
25416 : switch (GET_CODE (x2))
25417 : {
25418 : case GEU:
25419 : case LTU:
25420 : res = split_4 (x1, insn);
25421 : if (res != NULL_RTX)
25422 : return res;
25423 : break;
25424 :
25425 : case GTU:
25426 : case LEU:
25427 : operands[1] = x2;
25428 : if (shr_comparison_operator (operands[1], E_QImode))
25429 : {
25430 : x3 = XEXP (x1, 0);
25431 : operands[0] = x3;
25432 : if (nonimmediate_operand (operands[0], E_QImode))
25433 : {
25434 : x4 = XEXP (x2, 0);
25435 : operands[2] = x4;
25436 : if (register_operand (operands[2], E_DImode))
25437 : {
25438 : x6 = XEXP (x2, 1);
25439 : operands[3] = x6;
25440 : if (const_int_operand (operands[3], E_VOIDmode)
25441 : &&
25442 : #line 20377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25443 : (TARGET_64BIT
25444 : && IN_RANGE (exact_log2 (UINTVAL (operands[3]) + 1), 32, 63)))
25445 : return gen_split_848 (insn, operands);
25446 : }
25447 : }
25448 : }
25449 : break;
25450 :
25451 : case NE:
25452 : switch (pattern240 (x1))
25453 : {
25454 : case 0:
25455 : return gen_split_855 (insn, operands);
25456 :
25457 : case 1:
25458 : return gen_split_856 (insn, operands);
25459 :
25460 : default:
25461 : break;
25462 : }
25463 : break;
25464 :
25465 : case EQ:
25466 : switch (pattern240 (x1))
25467 : {
25468 : case 0:
25469 : return gen_split_857 (insn, operands);
25470 :
25471 : case 1:
25472 : return gen_split_858 (insn, operands);
25473 :
25474 : default:
25475 : break;
25476 : }
25477 : break;
25478 :
25479 : default:
25480 : break;
25481 : }
25482 : operands[1] = x2;
25483 : x4 = XEXP (x2, 0);
25484 : if (GET_CODE (x4) != REG
25485 : || REGNO (x4) != 17)
25486 : return NULL;
25487 : x6 = XEXP (x2, 1);
25488 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
25489 : return NULL;
25490 : x3 = XEXP (x1, 0);
25491 : operands[0] = x3;
25492 : switch (GET_MODE (operands[0]))
25493 : {
25494 : case E_DImode:
25495 : if (!register_operand (operands[0], E_DImode)
25496 : || !ix86_comparison_operator (operands[1], E_DImode)
25497 : || !(
25498 : #line 20415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25499 : ((!TARGET_APX_ZU || TARGET_DISABLE_SETZUCC)
25500 : && TARGET_64BIT && !TARGET_PARTIAL_REG_STALL) &&
25501 : #line 20418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25502 : ( reload_completed)))
25503 : return NULL;
25504 : return gen_split_849 (insn, operands);
25505 :
25506 : case E_HImode:
25507 : if (!register_operand (operands[0], E_HImode)
25508 : || !ix86_comparison_operator (operands[1], E_HImode)
25509 : || !(
25510 : #line 20449 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25511 : ((!TARGET_APX_ZU || TARGET_DISABLE_SETZUCC) && !TARGET_PARTIAL_REG_STALL
25512 : && (!TARGET_ZERO_EXTEND_WITH_AND || optimize_function_for_size_p (cfun))) &&
25513 : #line 20452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25514 : ( reload_completed)))
25515 : return NULL;
25516 : return gen_split_852 (insn, operands);
25517 :
25518 : case E_SImode:
25519 : if (!register_operand (operands[0], E_SImode)
25520 : || !ix86_comparison_operator (operands[1], E_SImode)
25521 : || !(
25522 : #line 20449 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25523 : ((!TARGET_APX_ZU || TARGET_DISABLE_SETZUCC) && !TARGET_PARTIAL_REG_STALL
25524 : && (!TARGET_ZERO_EXTEND_WITH_AND || optimize_function_for_size_p (cfun))) &&
25525 : #line 20452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25526 : ( reload_completed)))
25527 : return NULL;
25528 : return gen_split_853 (insn, operands);
25529 :
25530 : default:
25531 : return NULL;
25532 : }
25533 :
25534 : case MINUS:
25535 : return split_12 (x1, insn);
25536 :
25537 : case CLZ:
25538 : x3 = XEXP (x1, 0);
25539 : operands[0] = x3;
25540 : x4 = XEXP (x2, 0);
25541 : operands[1] = x4;
25542 : switch (pattern132 (x2))
25543 : {
25544 : case 0:
25545 : if (!(
25546 : #line 22445 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25547 : (TARGET_APX_NF && TARGET_LZCNT) &&
25548 : #line 22447 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25549 : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
25550 : && optimize_function_for_speed_p (cfun)
25551 : && !reg_mentioned_p (operands[0], operands[1]))))
25552 : return NULL;
25553 : return gen_split_886 (insn, operands);
25554 :
25555 : case 1:
25556 : if (!((
25557 : #line 22445 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25558 : (TARGET_APX_NF && TARGET_LZCNT) &&
25559 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25560 : (TARGET_64BIT)) &&
25561 : #line 22447 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25562 : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
25563 : && optimize_function_for_speed_p (cfun)
25564 : && !reg_mentioned_p (operands[0], operands[1]))))
25565 : return NULL;
25566 : return gen_split_887 (insn, operands);
25567 :
25568 : default:
25569 : return NULL;
25570 : }
25571 :
25572 : case POPCOUNT:
25573 : x3 = XEXP (x1, 0);
25574 : operands[0] = x3;
25575 : x4 = XEXP (x2, 0);
25576 : operands[1] = x4;
25577 : switch (pattern132 (x2))
25578 : {
25579 : case 0:
25580 : if (!(
25581 : #line 23248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25582 : (TARGET_APX_NF && TARGET_POPCNT) &&
25583 : #line 23256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25584 : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
25585 : && optimize_function_for_speed_p (cfun)
25586 : && !reg_mentioned_p (operands[0], operands[1]))))
25587 : return NULL;
25588 : return gen_split_910 (insn, operands);
25589 :
25590 : case 1:
25591 : if (!((
25592 : #line 23248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25593 : (TARGET_APX_NF && TARGET_POPCNT) &&
25594 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25595 : (TARGET_64BIT)) &&
25596 : #line 23256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25597 : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
25598 : && optimize_function_for_speed_p (cfun)
25599 : && !reg_mentioned_p (operands[0], operands[1]))))
25600 : return NULL;
25601 : return gen_split_911 (insn, operands);
25602 :
25603 : default:
25604 : return NULL;
25605 : }
25606 :
25607 : default:
25608 : return NULL;
25609 : }
25610 : }
25611 :
25612 : rtx_insn *
25613 : split_43 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25614 : {
25615 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25616 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
25617 : rtx x10, x11, x12, x13, x14, x15, x16;
25618 : rtx_insn *res ATTRIBUTE_UNUSED;
25619 : x2 = XEXP (x1, 1);
25620 : x3 = XEXP (x2, 0);
25621 : switch (GET_CODE (x3))
25622 : {
25623 : case NE:
25624 : case EQ:
25625 : case GE:
25626 : case GT:
25627 : case LE:
25628 : case LT:
25629 : case LTGT:
25630 : case GEU:
25631 : case GTU:
25632 : case LEU:
25633 : case LTU:
25634 : case UNORDERED:
25635 : case ORDERED:
25636 : case UNEQ:
25637 : case UNGE:
25638 : case UNGT:
25639 : case UNLE:
25640 : case UNLT:
25641 : operands[1] = x3;
25642 : res = split_42 (x1, insn);
25643 : if (res != NULL_RTX)
25644 : return res;
25645 : if (!bt_comparison_operator (x3, E_VOIDmode))
25646 : return NULL;
25647 : operands[3] = x3;
25648 : x4 = XEXP (x3, 0);
25649 : if (pattern89 (x4,
25650 : E_CCZmode,
25651 : 131,
25652 : 2) != 0)
25653 : return NULL;
25654 : x5 = XVECEXP (x4, 0, 0);
25655 : if (GET_CODE (x5) != AND)
25656 : return NULL;
25657 : x6 = XEXP (x5, 0);
25658 : if (GET_CODE (x6) != NOT)
25659 : return NULL;
25660 : x7 = XVECEXP (x4, 0, 1);
25661 : if (GET_CODE (x7) != AND)
25662 : return NULL;
25663 : x8 = XEXP (x7, 0);
25664 : if (GET_CODE (x8) != NOT)
25665 : return NULL;
25666 : x9 = XEXP (x3, 1);
25667 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
25668 : return NULL;
25669 : x10 = XEXP (x2, 2);
25670 : if (GET_CODE (x10) != PC)
25671 : return NULL;
25672 : x11 = XEXP (x1, 0);
25673 : if (GET_CODE (x11) != PC)
25674 : return NULL;
25675 : x12 = XEXP (x6, 0);
25676 : operands[1] = x12;
25677 : x13 = XEXP (x5, 1);
25678 : operands[2] = x13;
25679 : x14 = XEXP (x2, 1);
25680 : operands[0] = x14;
25681 : x15 = XEXP (x8, 0);
25682 : if (!rtx_equal_p (x15, operands[1]))
25683 : return NULL;
25684 : x16 = XEXP (x7, 1);
25685 : if (!rtx_equal_p (x16, operands[2]))
25686 : return NULL;
25687 : switch (GET_MODE (x5))
25688 : {
25689 : case E_V16QImode:
25690 : if (pattern1783 (x4,
25691 : E_V16QImode) != 0
25692 : || !
25693 : #line 26234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25694 : (TARGET_SSE4_1))
25695 : return NULL;
25696 : return gen_split_3785 (insn, operands);
25697 :
25698 : case E_V8HImode:
25699 : if (pattern1783 (x4,
25700 : E_V8HImode) != 0
25701 : || !
25702 : #line 26234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25703 : (TARGET_SSE4_1))
25704 : return NULL;
25705 : return gen_split_3786 (insn, operands);
25706 :
25707 : case E_V4SImode:
25708 : if (pattern1783 (x4,
25709 : E_V4SImode) != 0
25710 : || !
25711 : #line 26234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25712 : (TARGET_SSE4_1))
25713 : return NULL;
25714 : return gen_split_3787 (insn, operands);
25715 :
25716 : case E_V2DImode:
25717 : if (pattern1783 (x4,
25718 : E_V2DImode) != 0
25719 : || !
25720 : #line 26234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25721 : (TARGET_SSE4_1))
25722 : return NULL;
25723 : return gen_split_3788 (insn, operands);
25724 :
25725 : case E_V1TImode:
25726 : if (pattern1783 (x4,
25727 : E_V1TImode) != 0
25728 : || !
25729 : #line 26234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25730 : (TARGET_SSE4_1))
25731 : return NULL;
25732 : return gen_split_3789 (insn, operands);
25733 :
25734 : case E_V4SFmode:
25735 : if (pattern1783 (x4,
25736 : E_V4SFmode) != 0
25737 : || !
25738 : #line 26234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25739 : (TARGET_SSE4_1))
25740 : return NULL;
25741 : return gen_split_3790 (insn, operands);
25742 :
25743 : case E_V2DFmode:
25744 : if (pattern1783 (x4,
25745 : E_V2DFmode) != 0
25746 : || !
25747 : #line 26234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25748 : (TARGET_SSE4_1))
25749 : return NULL;
25750 : return gen_split_3791 (insn, operands);
25751 :
25752 : case E_V32QImode:
25753 : if (pattern1783 (x4,
25754 : E_V32QImode) != 0
25755 : || !(
25756 : #line 26234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25757 : (TARGET_SSE4_1) &&
25758 : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25759 : (TARGET_AVX)))
25760 : return NULL;
25761 : return gen_split_3792 (insn, operands);
25762 :
25763 : case E_V16HImode:
25764 : if (pattern1783 (x4,
25765 : E_V16HImode) != 0
25766 : || !(
25767 : #line 26234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25768 : (TARGET_SSE4_1) &&
25769 : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25770 : (TARGET_AVX)))
25771 : return NULL;
25772 : return gen_split_3793 (insn, operands);
25773 :
25774 : case E_V8SImode:
25775 : if (pattern1783 (x4,
25776 : E_V8SImode) != 0
25777 : || !(
25778 : #line 26234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25779 : (TARGET_SSE4_1) &&
25780 : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25781 : (TARGET_AVX)))
25782 : return NULL;
25783 : return gen_split_3794 (insn, operands);
25784 :
25785 : case E_V4DImode:
25786 : if (pattern1783 (x4,
25787 : E_V4DImode) != 0
25788 : || !(
25789 : #line 26234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25790 : (TARGET_SSE4_1) &&
25791 : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25792 : (TARGET_AVX)))
25793 : return NULL;
25794 : return gen_split_3795 (insn, operands);
25795 :
25796 : case E_V2TImode:
25797 : if (pattern1783 (x4,
25798 : E_V2TImode) != 0
25799 : || !(
25800 : #line 26234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25801 : (TARGET_SSE4_1) &&
25802 : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25803 : (TARGET_AVX)))
25804 : return NULL;
25805 : return gen_split_3796 (insn, operands);
25806 :
25807 : case E_V8SFmode:
25808 : if (pattern1783 (x4,
25809 : E_V8SFmode) != 0
25810 : || !(
25811 : #line 26234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25812 : (TARGET_SSE4_1) &&
25813 : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25814 : (TARGET_AVX)))
25815 : return NULL;
25816 : return gen_split_3797 (insn, operands);
25817 :
25818 : case E_V4DFmode:
25819 : if (pattern1783 (x4,
25820 : E_V4DFmode) != 0
25821 : || !(
25822 : #line 26234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25823 : (TARGET_SSE4_1) &&
25824 : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25825 : (TARGET_AVX)))
25826 : return NULL;
25827 : return gen_split_3798 (insn, operands);
25828 :
25829 : default:
25830 : return NULL;
25831 : }
25832 :
25833 : default:
25834 : return NULL;
25835 : }
25836 : }
25837 :
25838 : rtx_insn *
25839 : split_48 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25840 : {
25841 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25842 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
25843 : rtx x10;
25844 : rtx_insn *res ATTRIBUTE_UNUSED;
25845 : x2 = XEXP (x1, 1);
25846 : x3 = XEXP (x2, 0);
25847 : if (GET_CODE (x3) != VEC_SELECT)
25848 : return NULL;
25849 : switch (pattern97 (x1))
25850 : {
25851 : case 0:
25852 : x4 = XEXP (x3, 0);
25853 : operands[1] = x4;
25854 : if (!nonimmediate_operand (operands[1], E_V2SFmode))
25855 : return NULL;
25856 : x5 = XEXP (x3, 1);
25857 : if (XVECLEN (x5, 0) != 1)
25858 : return NULL;
25859 : x6 = XEXP (x2, 1);
25860 : x7 = XEXP (x6, 1);
25861 : if (XVECLEN (x7, 0) != 1
25862 : || !register_operand (operands[0], E_SFmode)
25863 : || GET_MODE (x2) != E_SFmode
25864 : || GET_MODE (x3) != E_SFmode)
25865 : return NULL;
25866 : x8 = XVECEXP (x5, 0, 0);
25867 : operands[2] = x8;
25868 : if (!const_0_to_1_operand (operands[2], E_SImode)
25869 : || GET_MODE (x6) != E_SFmode)
25870 : return NULL;
25871 : x9 = XVECEXP (x7, 0, 0);
25872 : operands[3] = x9;
25873 : if (!const_0_to_1_operand (operands[3], E_SImode))
25874 : return NULL;
25875 : x10 = XEXP (x6, 0);
25876 : if (!rtx_equal_p (x10, operands[1])
25877 : || !(
25878 : #line 1036 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25879 : (TARGET_SSE3 && TARGET_MMX_WITH_SSE && ix86_partial_vec_fp_math
25880 : && INTVAL (operands[2]) != INTVAL (operands[3])
25881 : && ix86_pre_reload_split ()) &&
25882 : #line 1040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25883 : ( 1)))
25884 : return NULL;
25885 : return gen_split_1064 (insn, operands);
25886 :
25887 : case 1:
25888 : switch (pattern866 (x2))
25889 : {
25890 : case 0:
25891 : if (!
25892 : #line 23132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25893 : (TARGET_SSSE3 && reload_completed
25894 : && SSE_REGNO_P (REGNO (operands[0]))))
25895 : return NULL;
25896 : return gen_split_3572 (insn, operands);
25897 :
25898 : case 1:
25899 : if (!
25900 : #line 23222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25901 : (TARGET_SSSE3 && reload_completed
25902 : && SSE_REGNO_P (REGNO (operands[0]))))
25903 : return NULL;
25904 : return gen_split_3576 (insn, operands);
25905 :
25906 : default:
25907 : return NULL;
25908 : }
25909 :
25910 : default:
25911 : return NULL;
25912 : }
25913 : }
25914 :
25915 : rtx_insn *
25916 : split_50 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25917 : {
25918 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25919 : rtx x2, x3, x4, x5;
25920 : rtx_insn *res ATTRIBUTE_UNUSED;
25921 : x2 = XEXP (x1, 1);
25922 : x3 = XEXP (x2, 1);
25923 : x4 = XVECEXP (x3, 0, 0);
25924 : if (GET_CODE (x4) != CONST_INT)
25925 : return NULL;
25926 : x5 = XEXP (x2, 0);
25927 : operands[1] = x5;
25928 : switch (XWINT (x4, 0))
25929 : {
25930 : case 0L:
25931 : switch (GET_MODE (operands[0]))
25932 : {
25933 : case E_SFmode:
25934 : switch (pattern979 (x2))
25935 : {
25936 : case 0:
25937 : if ((
25938 : #line 1809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25939 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
25940 : && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
25941 : #line 1812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25942 : ( reload_completed)))
25943 : return gen_split_1068 (insn, operands);
25944 : break;
25945 :
25946 : case 1:
25947 : if ((
25948 : #line 12709 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25949 : (TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
25950 : #line 12711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25951 : ( reload_completed)))
25952 : return gen_split_1630 (insn, operands);
25953 : break;
25954 :
25955 : default:
25956 : break;
25957 : }
25958 : break;
25959 :
25960 : case E_SImode:
25961 : if (nonimmediate_operand (operands[0], E_SImode)
25962 : && GET_MODE (x2) == E_SImode)
25963 : {
25964 : switch (GET_MODE (operands[1]))
25965 : {
25966 : case E_V2SImode:
25967 : if (nonimmediate_operand (operands[1], E_V2SImode)
25968 : && (
25969 : #line 5777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25970 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
25971 : && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
25972 : #line 5780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25973 : ( reload_completed)))
25974 : return gen_split_1154 (insn, operands);
25975 : break;
25976 :
25977 : case E_V4SImode:
25978 : if (register_operand (operands[1], E_V4SImode)
25979 : &&
25980 : #line 21676 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25981 : (TARGET_SSE && reload_completed))
25982 : return gen_split_3496 (insn, operands);
25983 : break;
25984 :
25985 : default:
25986 : break;
25987 : }
25988 : }
25989 : break;
25990 :
25991 : case E_HFmode:
25992 : switch (pattern980 (x2))
25993 : {
25994 : case 0:
25995 : if ((
25996 : #line 13615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25997 : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
25998 : #line 13617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25999 : ( reload_completed)))
26000 : return gen_split_1653 (insn, operands);
26001 : break;
26002 :
26003 : case 1:
26004 : if ((
26005 : #line 13615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26006 : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26007 : #line 13617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26008 : ( reload_completed)))
26009 : return gen_split_1654 (insn, operands);
26010 : break;
26011 :
26012 : case 2:
26013 : if ((
26014 : #line 13615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26015 : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26016 : #line 13617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26017 : ( reload_completed)))
26018 : return gen_split_1655 (insn, operands);
26019 : break;
26020 :
26021 : default:
26022 : break;
26023 : }
26024 : break;
26025 :
26026 : case E_BFmode:
26027 : switch (pattern981 (x2))
26028 : {
26029 : case 0:
26030 : if ((
26031 : #line 13615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26032 : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26033 : #line 13617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26034 : ( reload_completed)))
26035 : return gen_split_1656 (insn, operands);
26036 : break;
26037 :
26038 : case 1:
26039 : if ((
26040 : #line 13615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26041 : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26042 : #line 13617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26043 : ( reload_completed)))
26044 : return gen_split_1657 (insn, operands);
26045 : break;
26046 :
26047 : case 2:
26048 : if ((
26049 : #line 13615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26050 : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26051 : #line 13617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26052 : ( reload_completed)))
26053 : return gen_split_1658 (insn, operands);
26054 : break;
26055 :
26056 : default:
26057 : break;
26058 : }
26059 : break;
26060 :
26061 : case E_DFmode:
26062 : if (register_operand (operands[0], E_DFmode)
26063 : && GET_MODE (x2) == E_DFmode
26064 : && nonimmediate_operand (operands[1], E_V2DFmode)
26065 : &&
26066 : #line 15055 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26067 : (TARGET_SSE2 && reload_completed))
26068 : return gen_split_3247 (insn, operands);
26069 : break;
26070 :
26071 : case E_QImode:
26072 : if (memory_operand (operands[0], E_QImode)
26073 : && GET_MODE (x2) == E_QImode
26074 : && register_operand (operands[1], E_V16QImode)
26075 : && ((
26076 : #line 21533 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26077 : (TARGET_SSE2
26078 : && !TARGET_SSE4_1
26079 : && (TARGET_INTER_UNIT_MOVES_FROM_VEC
26080 : || optimize_function_for_speed_p (cfun))
26081 : && ix86_pre_reload_split ()) &&
26082 : #line 21526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26083 : (TARGET_SSE4_1)) &&
26084 : #line 21539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26085 : ( 1)))
26086 : return gen_split_3493 (insn, operands);
26087 : break;
26088 :
26089 : case E_HImode:
26090 : if (memory_operand (operands[0], E_HImode)
26091 : && GET_MODE (x2) == E_HImode
26092 : && register_operand (operands[1], E_V8HImode)
26093 : && (
26094 : #line 21533 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26095 : (TARGET_SSE2
26096 : && !TARGET_SSE4_1
26097 : && (TARGET_INTER_UNIT_MOVES_FROM_VEC
26098 : || optimize_function_for_speed_p (cfun))
26099 : && ix86_pre_reload_split ()) &&
26100 : #line 21539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26101 : ( 1)))
26102 : return gen_split_3494 (insn, operands);
26103 : break;
26104 :
26105 : case E_TImode:
26106 : if (nonimmediate_operand (operands[0], E_TImode)
26107 : && GET_MODE (x2) == E_TImode)
26108 : {
26109 : switch (GET_MODE (operands[1]))
26110 : {
26111 : case E_V4TImode:
26112 : if (register_operand (operands[1], E_V4TImode)
26113 : && (
26114 : #line 21916 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26115 : (TARGET_AVX
26116 : && reload_completed
26117 : && (TARGET_AVX512VL || !EXT_REX_SSE_REG_P (operands[1]))) &&
26118 : #line 21909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26119 : (TARGET_AVX512F)))
26120 : return gen_split_3504 (insn, operands);
26121 : break;
26122 :
26123 : case E_V2TImode:
26124 : if (register_operand (operands[1], E_V2TImode)
26125 : &&
26126 : #line 21916 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26127 : (TARGET_AVX
26128 : && reload_completed
26129 : && (TARGET_AVX512VL || !EXT_REX_SSE_REG_P (operands[1]))))
26130 : return gen_split_3505 (insn, operands);
26131 : break;
26132 :
26133 : default:
26134 : break;
26135 : }
26136 : }
26137 : break;
26138 :
26139 : default:
26140 : break;
26141 : }
26142 : break;
26143 :
26144 : case 1L:
26145 : switch (GET_MODE (operands[0]))
26146 : {
26147 : case E_SFmode:
26148 : if (register_operand (operands[0], E_SFmode)
26149 : && GET_MODE (x2) == E_SFmode
26150 : && memory_operand (operands[1], E_V2SFmode)
26151 : &&
26152 : #line 1853 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26153 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && reload_completed))
26154 : return gen_split_1069 (insn, operands);
26155 : break;
26156 :
26157 : case E_SImode:
26158 : if (register_operand (operands[0], E_SImode)
26159 : && GET_MODE (x2) == E_SImode
26160 : && memory_operand (operands[1], E_V2SImode)
26161 : &&
26162 : #line 5865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26163 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && reload_completed))
26164 : return gen_split_1156 (insn, operands);
26165 : break;
26166 :
26167 : case E_DFmode:
26168 : if (register_operand (operands[0], E_DFmode)
26169 : && GET_MODE (x2) == E_DFmode
26170 : && memory_operand (operands[1], E_V2DFmode)
26171 : &&
26172 : #line 15002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26173 : (TARGET_SSE2 && reload_completed))
26174 : return gen_split_3245 (insn, operands);
26175 : break;
26176 :
26177 : default:
26178 : break;
26179 : }
26180 : break;
26181 :
26182 : default:
26183 : break;
26184 : }
26185 : operands[2] = x4;
26186 : switch (GET_MODE (operands[0]))
26187 : {
26188 : case E_SFmode:
26189 : if (GET_MODE (x2) != E_SFmode)
26190 : return NULL;
26191 : if (nonimmediate_operand (operands[0], E_SFmode)
26192 : && register_operand (operands[1], E_V4SFmode)
26193 : && const_0_to_3_operand (operands[2], E_SImode)
26194 : && (
26195 : #line 12720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26196 : (TARGET_SSE4_1) &&
26197 : #line 12727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26198 : ( reload_completed && SSE_REG_P (operands[0]))))
26199 : return gen_split_1631 (insn, operands);
26200 : if (!register_operand (operands[0], E_SFmode)
26201 : || !memory_operand (operands[1], E_V4SFmode)
26202 : || !const_0_to_3_operand (operands[2], E_VOIDmode)
26203 : || !(
26204 : #line 12764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26205 : (TARGET_SSE) &&
26206 : #line 12766 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26207 : ( reload_completed)))
26208 : return NULL;
26209 : return gen_split_1632 (insn, operands);
26210 :
26211 : case E_QImode:
26212 : if (!register_operand (operands[0], E_QImode)
26213 : || GET_MODE (x2) != E_QImode
26214 : || !memory_operand (operands[1], E_V16QImode)
26215 : || !const_0_to_15_operand (operands[2], E_VOIDmode)
26216 : || !
26217 : #line 21869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26218 : (TARGET_SSE && reload_completed))
26219 : return NULL;
26220 : return gen_split_3500 (insn, operands);
26221 :
26222 : case E_HImode:
26223 : if (!register_operand (operands[0], E_HImode)
26224 : || GET_MODE (x2) != E_HImode
26225 : || !memory_operand (operands[1], E_V8HImode)
26226 : || !const_0_to_7_operand (operands[2], E_VOIDmode)
26227 : || !
26228 : #line 21869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26229 : (TARGET_SSE && reload_completed))
26230 : return NULL;
26231 : return gen_split_3501 (insn, operands);
26232 :
26233 : case E_SImode:
26234 : if (!register_operand (operands[0], E_SImode)
26235 : || GET_MODE (x2) != E_SImode
26236 : || !memory_operand (operands[1], E_V4SImode)
26237 : || !const_0_to_3_operand (operands[2], E_VOIDmode)
26238 : || !
26239 : #line 21869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26240 : (TARGET_SSE && reload_completed))
26241 : return NULL;
26242 : return gen_split_3502 (insn, operands);
26243 :
26244 : default:
26245 : return NULL;
26246 : }
26247 : }
26248 :
26249 : rtx_insn *
26250 : split_58 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26251 : {
26252 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26253 : rtx x2, x3, x4, x5, x6;
26254 : rtx_insn *res ATTRIBUTE_UNUSED;
26255 : x2 = XEXP (x1, 1);
26256 : if (XINT (x2, 1) != 165)
26257 : return NULL;
26258 : x3 = XVECEXP (x2, 0, 0);
26259 : operands[1] = x3;
26260 : x4 = XVECEXP (x2, 0, 1);
26261 : operands[2] = x4;
26262 : x5 = XVECEXP (x2, 0, 2);
26263 : operands[3] = x5;
26264 : x6 = XVECEXP (x2, 0, 3);
26265 : operands[4] = x6;
26266 : if (!const_0_to_255_operand (operands[4], E_SImode))
26267 : return NULL;
26268 : switch (GET_MODE (operands[0]))
26269 : {
26270 : case E_V64QImode:
26271 : if (pattern973 (x2,
26272 : E_V64QImode) != 0)
26273 : return NULL;
26274 : if (memory_operand (operands[3], E_V64QImode)
26275 : && (
26276 : #line 14083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26277 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) &&
26278 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26279 : (TARGET_AVX512F)))
26280 : return gen_split_1661 (insn, operands);
26281 : if (!nonimmediate_operand (operands[3], E_V64QImode)
26282 : || !(
26283 : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26284 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) &&
26285 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26286 : (TARGET_AVX512F)))
26287 : return NULL;
26288 : return gen_split_1685 (insn, operands);
26289 :
26290 : case E_V32QImode:
26291 : if (pattern973 (x2,
26292 : E_V32QImode) != 0)
26293 : return NULL;
26294 : if (memory_operand (operands[3], E_V32QImode)
26295 : && (
26296 : #line 14083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26297 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) &&
26298 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26299 : (TARGET_AVX)))
26300 : return gen_split_1662 (insn, operands);
26301 : if (!nonimmediate_operand (operands[3], E_V32QImode)
26302 : || !(
26303 : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26304 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) &&
26305 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26306 : (TARGET_AVX)))
26307 : return NULL;
26308 : return gen_split_1686 (insn, operands);
26309 :
26310 : case E_V16QImode:
26311 : if (pattern973 (x2,
26312 : E_V16QImode) != 0)
26313 : return NULL;
26314 : if (memory_operand (operands[3], E_V16QImode)
26315 : &&
26316 : #line 14083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26317 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3))
26318 : return gen_split_1663 (insn, operands);
26319 : if (!nonimmediate_operand (operands[3], E_V16QImode)
26320 : || !
26321 : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26322 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0))
26323 : return NULL;
26324 : return gen_split_1687 (insn, operands);
26325 :
26326 : case E_V32HImode:
26327 : if (pattern973 (x2,
26328 : E_V32HImode) != 0)
26329 : return NULL;
26330 : if (memory_operand (operands[3], E_V32HImode)
26331 : && (
26332 : #line 14083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26333 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) &&
26334 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26335 : (TARGET_AVX512F)))
26336 : return gen_split_1664 (insn, operands);
26337 : if (!nonimmediate_operand (operands[3], E_V32HImode)
26338 : || !(
26339 : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26340 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) &&
26341 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26342 : (TARGET_AVX512F)))
26343 : return NULL;
26344 : return gen_split_1688 (insn, operands);
26345 :
26346 : case E_V16HImode:
26347 : if (pattern973 (x2,
26348 : E_V16HImode) != 0)
26349 : return NULL;
26350 : if (memory_operand (operands[3], E_V16HImode)
26351 : && (
26352 : #line 14083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26353 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) &&
26354 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26355 : (TARGET_AVX)))
26356 : return gen_split_1665 (insn, operands);
26357 : if (!nonimmediate_operand (operands[3], E_V16HImode)
26358 : || !(
26359 : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26360 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) &&
26361 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26362 : (TARGET_AVX)))
26363 : return NULL;
26364 : return gen_split_1689 (insn, operands);
26365 :
26366 : case E_V8HImode:
26367 : if (pattern973 (x2,
26368 : E_V8HImode) != 0)
26369 : return NULL;
26370 : if (memory_operand (operands[3], E_V8HImode)
26371 : &&
26372 : #line 14083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26373 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3))
26374 : return gen_split_1666 (insn, operands);
26375 : if (!nonimmediate_operand (operands[3], E_V8HImode)
26376 : || !
26377 : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26378 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0))
26379 : return NULL;
26380 : return gen_split_1690 (insn, operands);
26381 :
26382 : case E_V16SImode:
26383 : if (pattern973 (x2,
26384 : E_V16SImode) != 0)
26385 : return NULL;
26386 : if (memory_operand (operands[3], E_V16SImode)
26387 : && (
26388 : #line 14083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26389 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) &&
26390 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26391 : (TARGET_AVX512F)))
26392 : return gen_split_1667 (insn, operands);
26393 : if (!nonimmediate_operand (operands[3], E_V16SImode)
26394 : || !(
26395 : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26396 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) &&
26397 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26398 : (TARGET_AVX512F)))
26399 : return NULL;
26400 : return gen_split_1691 (insn, operands);
26401 :
26402 : case E_V8SImode:
26403 : if (pattern973 (x2,
26404 : E_V8SImode) != 0)
26405 : return NULL;
26406 : if (memory_operand (operands[3], E_V8SImode)
26407 : && (
26408 : #line 14083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26409 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) &&
26410 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26411 : (TARGET_AVX)))
26412 : return gen_split_1668 (insn, operands);
26413 : if (!nonimmediate_operand (operands[3], E_V8SImode)
26414 : || !(
26415 : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26416 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) &&
26417 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26418 : (TARGET_AVX)))
26419 : return NULL;
26420 : return gen_split_1692 (insn, operands);
26421 :
26422 : case E_V4SImode:
26423 : if (pattern973 (x2,
26424 : E_V4SImode) != 0)
26425 : return NULL;
26426 : if (memory_operand (operands[3], E_V4SImode)
26427 : &&
26428 : #line 14083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26429 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3))
26430 : return gen_split_1669 (insn, operands);
26431 : if (!nonimmediate_operand (operands[3], E_V4SImode)
26432 : || !
26433 : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26434 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0))
26435 : return NULL;
26436 : return gen_split_1693 (insn, operands);
26437 :
26438 : case E_V8DImode:
26439 : if (pattern973 (x2,
26440 : E_V8DImode) != 0)
26441 : return NULL;
26442 : if (memory_operand (operands[3], E_V8DImode)
26443 : && (
26444 : #line 14083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26445 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) &&
26446 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26447 : (TARGET_AVX512F)))
26448 : return gen_split_1670 (insn, operands);
26449 : if (!nonimmediate_operand (operands[3], E_V8DImode)
26450 : || !(
26451 : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26452 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) &&
26453 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26454 : (TARGET_AVX512F)))
26455 : return NULL;
26456 : return gen_split_1694 (insn, operands);
26457 :
26458 : case E_V4DImode:
26459 : if (pattern973 (x2,
26460 : E_V4DImode) != 0)
26461 : return NULL;
26462 : if (memory_operand (operands[3], E_V4DImode)
26463 : && (
26464 : #line 14083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26465 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) &&
26466 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26467 : (TARGET_AVX)))
26468 : return gen_split_1671 (insn, operands);
26469 : if (!nonimmediate_operand (operands[3], E_V4DImode)
26470 : || !(
26471 : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26472 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) &&
26473 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26474 : (TARGET_AVX)))
26475 : return NULL;
26476 : return gen_split_1695 (insn, operands);
26477 :
26478 : case E_V2DImode:
26479 : if (pattern973 (x2,
26480 : E_V2DImode) != 0)
26481 : return NULL;
26482 : if (memory_operand (operands[3], E_V2DImode)
26483 : &&
26484 : #line 14083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26485 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3))
26486 : return gen_split_1672 (insn, operands);
26487 : if (!nonimmediate_operand (operands[3], E_V2DImode)
26488 : || !
26489 : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26490 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0))
26491 : return NULL;
26492 : return gen_split_1696 (insn, operands);
26493 :
26494 : case E_V32HFmode:
26495 : if (pattern973 (x2,
26496 : E_V32HFmode) != 0)
26497 : return NULL;
26498 : if (memory_operand (operands[3], E_V32HFmode)
26499 : && (
26500 : #line 14083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26501 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) &&
26502 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26503 : (TARGET_AVX512F)))
26504 : return gen_split_1673 (insn, operands);
26505 : if (!nonimmediate_operand (operands[3], E_V32HFmode)
26506 : || !(
26507 : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26508 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) &&
26509 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26510 : (TARGET_AVX512F)))
26511 : return NULL;
26512 : return gen_split_1697 (insn, operands);
26513 :
26514 : case E_V16HFmode:
26515 : if (pattern973 (x2,
26516 : E_V16HFmode) != 0)
26517 : return NULL;
26518 : if (memory_operand (operands[3], E_V16HFmode)
26519 : && (
26520 : #line 14083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26521 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) &&
26522 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26523 : (TARGET_AVX)))
26524 : return gen_split_1674 (insn, operands);
26525 : if (!nonimmediate_operand (operands[3], E_V16HFmode)
26526 : || !(
26527 : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26528 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) &&
26529 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26530 : (TARGET_AVX)))
26531 : return NULL;
26532 : return gen_split_1698 (insn, operands);
26533 :
26534 : case E_V8HFmode:
26535 : if (pattern973 (x2,
26536 : E_V8HFmode) != 0)
26537 : return NULL;
26538 : if (memory_operand (operands[3], E_V8HFmode)
26539 : &&
26540 : #line 14083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26541 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3))
26542 : return gen_split_1675 (insn, operands);
26543 : if (!nonimmediate_operand (operands[3], E_V8HFmode)
26544 : || !
26545 : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26546 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0))
26547 : return NULL;
26548 : return gen_split_1699 (insn, operands);
26549 :
26550 : case E_V32BFmode:
26551 : if (pattern973 (x2,
26552 : E_V32BFmode) != 0)
26553 : return NULL;
26554 : if (memory_operand (operands[3], E_V32BFmode)
26555 : && (
26556 : #line 14083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26557 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) &&
26558 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26559 : (TARGET_AVX512F)))
26560 : return gen_split_1676 (insn, operands);
26561 : if (!nonimmediate_operand (operands[3], E_V32BFmode)
26562 : || !(
26563 : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26564 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) &&
26565 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26566 : (TARGET_AVX512F)))
26567 : return NULL;
26568 : return gen_split_1700 (insn, operands);
26569 :
26570 : case E_V16BFmode:
26571 : if (pattern973 (x2,
26572 : E_V16BFmode) != 0)
26573 : return NULL;
26574 : if (memory_operand (operands[3], E_V16BFmode)
26575 : && (
26576 : #line 14083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26577 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) &&
26578 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26579 : (TARGET_AVX)))
26580 : return gen_split_1677 (insn, operands);
26581 : if (!nonimmediate_operand (operands[3], E_V16BFmode)
26582 : || !(
26583 : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26584 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) &&
26585 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26586 : (TARGET_AVX)))
26587 : return NULL;
26588 : return gen_split_1701 (insn, operands);
26589 :
26590 : case E_V8BFmode:
26591 : if (pattern973 (x2,
26592 : E_V8BFmode) != 0)
26593 : return NULL;
26594 : if (memory_operand (operands[3], E_V8BFmode)
26595 : &&
26596 : #line 14083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26597 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3))
26598 : return gen_split_1678 (insn, operands);
26599 : if (!nonimmediate_operand (operands[3], E_V8BFmode)
26600 : || !
26601 : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26602 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0))
26603 : return NULL;
26604 : return gen_split_1702 (insn, operands);
26605 :
26606 : case E_V16SFmode:
26607 : if (pattern973 (x2,
26608 : E_V16SFmode) != 0)
26609 : return NULL;
26610 : if (memory_operand (operands[3], E_V16SFmode)
26611 : && (
26612 : #line 14083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26613 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) &&
26614 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26615 : (TARGET_AVX512F)))
26616 : return gen_split_1679 (insn, operands);
26617 : if (!nonimmediate_operand (operands[3], E_V16SFmode)
26618 : || !(
26619 : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26620 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) &&
26621 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26622 : (TARGET_AVX512F)))
26623 : return NULL;
26624 : return gen_split_1703 (insn, operands);
26625 :
26626 : case E_V8SFmode:
26627 : if (pattern973 (x2,
26628 : E_V8SFmode) != 0)
26629 : return NULL;
26630 : if (memory_operand (operands[3], E_V8SFmode)
26631 : && (
26632 : #line 14083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26633 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) &&
26634 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26635 : (TARGET_AVX)))
26636 : return gen_split_1680 (insn, operands);
26637 : if (!nonimmediate_operand (operands[3], E_V8SFmode)
26638 : || !(
26639 : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26640 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) &&
26641 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26642 : (TARGET_AVX)))
26643 : return NULL;
26644 : return gen_split_1704 (insn, operands);
26645 :
26646 : case E_V4SFmode:
26647 : if (pattern973 (x2,
26648 : E_V4SFmode) != 0)
26649 : return NULL;
26650 : if (memory_operand (operands[3], E_V4SFmode)
26651 : &&
26652 : #line 14083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26653 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3))
26654 : return gen_split_1681 (insn, operands);
26655 : if (!nonimmediate_operand (operands[3], E_V4SFmode)
26656 : || !
26657 : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26658 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0))
26659 : return NULL;
26660 : return gen_split_1705 (insn, operands);
26661 :
26662 : case E_V8DFmode:
26663 : if (pattern973 (x2,
26664 : E_V8DFmode) != 0)
26665 : return NULL;
26666 : if (memory_operand (operands[3], E_V8DFmode)
26667 : && (
26668 : #line 14083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26669 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) &&
26670 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26671 : (TARGET_AVX512F)))
26672 : return gen_split_1682 (insn, operands);
26673 : if (!nonimmediate_operand (operands[3], E_V8DFmode)
26674 : || !(
26675 : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26676 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) &&
26677 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26678 : (TARGET_AVX512F)))
26679 : return NULL;
26680 : return gen_split_1706 (insn, operands);
26681 :
26682 : case E_V4DFmode:
26683 : if (pattern973 (x2,
26684 : E_V4DFmode) != 0)
26685 : return NULL;
26686 : if (memory_operand (operands[3], E_V4DFmode)
26687 : && (
26688 : #line 14083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26689 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) &&
26690 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26691 : (TARGET_AVX)))
26692 : return gen_split_1683 (insn, operands);
26693 : if (!nonimmediate_operand (operands[3], E_V4DFmode)
26694 : || !(
26695 : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26696 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) &&
26697 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26698 : (TARGET_AVX)))
26699 : return NULL;
26700 : return gen_split_1707 (insn, operands);
26701 :
26702 : case E_V2DFmode:
26703 : if (pattern973 (x2,
26704 : E_V2DFmode) != 0)
26705 : return NULL;
26706 : if (memory_operand (operands[3], E_V2DFmode)
26707 : && (
26708 : #line 14083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26709 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) == 3) &&
26710 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26711 : (TARGET_SSE2)))
26712 : return gen_split_1684 (insn, operands);
26713 : if (!nonimmediate_operand (operands[3], E_V2DFmode)
26714 : || !(
26715 : #line 14104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26716 : (!reload_completed && vpternlog_redundant_operand_mask (operands[4]) != 0) &&
26717 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26718 : (TARGET_SSE2)))
26719 : return NULL;
26720 : return gen_split_1708 (insn, operands);
26721 :
26722 : default:
26723 : return NULL;
26724 : }
26725 : }
26726 :
26727 : rtx_insn *
26728 : split_65 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26729 : {
26730 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26731 : rtx x2, x3, x4;
26732 : rtx_insn *res ATTRIBUTE_UNUSED;
26733 : x2 = XEXP (x1, 1);
26734 : x3 = XEXP (x2, 0);
26735 : x4 = XEXP (x3, 0);
26736 : switch (GET_CODE (x4))
26737 : {
26738 : case REG:
26739 : case SUBREG:
26740 : case MEM:
26741 : case NOT:
26742 : switch (pattern537 (x2))
26743 : {
26744 : case 0:
26745 : if (!((
26746 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26747 : ((64 == 64 || TARGET_AVX512VL
26748 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26749 : && ix86_pre_reload_split ()
26750 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26751 : STRIP_UNARY (operands[4]))
26752 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26753 : STRIP_UNARY (operands[4]))
26754 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26755 : STRIP_UNARY (operands[3]))
26756 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26757 : STRIP_UNARY (operands[3])))) &&
26758 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26759 : (TARGET_AVX512F)) &&
26760 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26761 : ( 1)))
26762 : return NULL;
26763 : return gen_split_1752 (insn, operands);
26764 :
26765 : case 1:
26766 : if (!((
26767 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26768 : ((32 == 64 || TARGET_AVX512VL
26769 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26770 : && ix86_pre_reload_split ()
26771 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26772 : STRIP_UNARY (operands[4]))
26773 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26774 : STRIP_UNARY (operands[4]))
26775 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26776 : STRIP_UNARY (operands[3]))
26777 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26778 : STRIP_UNARY (operands[3])))) &&
26779 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26780 : (TARGET_AVX)) &&
26781 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26782 : ( 1)))
26783 : return NULL;
26784 : return gen_split_1779 (insn, operands);
26785 :
26786 : case 2:
26787 : if (!(
26788 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26789 : ((16 == 64 || TARGET_AVX512VL
26790 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26791 : && ix86_pre_reload_split ()
26792 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26793 : STRIP_UNARY (operands[4]))
26794 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26795 : STRIP_UNARY (operands[4]))
26796 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26797 : STRIP_UNARY (operands[3]))
26798 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26799 : STRIP_UNARY (operands[3])))) &&
26800 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26801 : ( 1)))
26802 : return NULL;
26803 : return gen_split_1806 (insn, operands);
26804 :
26805 : case 3:
26806 : if (!((
26807 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26808 : ((64 == 64 || TARGET_AVX512VL
26809 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26810 : && ix86_pre_reload_split ()
26811 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26812 : STRIP_UNARY (operands[4]))
26813 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26814 : STRIP_UNARY (operands[4]))
26815 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26816 : STRIP_UNARY (operands[3]))
26817 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26818 : STRIP_UNARY (operands[3])))) &&
26819 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26820 : (TARGET_AVX512F)) &&
26821 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26822 : ( 1)))
26823 : return NULL;
26824 : return gen_split_1833 (insn, operands);
26825 :
26826 : case 4:
26827 : if (!((
26828 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26829 : ((32 == 64 || TARGET_AVX512VL
26830 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26831 : && ix86_pre_reload_split ()
26832 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26833 : STRIP_UNARY (operands[4]))
26834 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26835 : STRIP_UNARY (operands[4]))
26836 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26837 : STRIP_UNARY (operands[3]))
26838 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26839 : STRIP_UNARY (operands[3])))) &&
26840 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26841 : (TARGET_AVX)) &&
26842 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26843 : ( 1)))
26844 : return NULL;
26845 : return gen_split_1860 (insn, operands);
26846 :
26847 : case 5:
26848 : if (!(
26849 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26850 : ((16 == 64 || TARGET_AVX512VL
26851 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26852 : && ix86_pre_reload_split ()
26853 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26854 : STRIP_UNARY (operands[4]))
26855 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26856 : STRIP_UNARY (operands[4]))
26857 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26858 : STRIP_UNARY (operands[3]))
26859 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26860 : STRIP_UNARY (operands[3])))) &&
26861 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26862 : ( 1)))
26863 : return NULL;
26864 : return gen_split_1887 (insn, operands);
26865 :
26866 : case 6:
26867 : if (!((
26868 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26869 : ((64 == 64 || TARGET_AVX512VL
26870 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26871 : && ix86_pre_reload_split ()
26872 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26873 : STRIP_UNARY (operands[4]))
26874 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26875 : STRIP_UNARY (operands[4]))
26876 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26877 : STRIP_UNARY (operands[3]))
26878 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26879 : STRIP_UNARY (operands[3])))) &&
26880 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26881 : (TARGET_AVX512F)) &&
26882 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26883 : ( 1)))
26884 : return NULL;
26885 : return gen_split_1914 (insn, operands);
26886 :
26887 : case 7:
26888 : if (!((
26889 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26890 : ((32 == 64 || TARGET_AVX512VL
26891 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26892 : && ix86_pre_reload_split ()
26893 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26894 : STRIP_UNARY (operands[4]))
26895 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26896 : STRIP_UNARY (operands[4]))
26897 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26898 : STRIP_UNARY (operands[3]))
26899 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26900 : STRIP_UNARY (operands[3])))) &&
26901 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26902 : (TARGET_AVX)) &&
26903 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26904 : ( 1)))
26905 : return NULL;
26906 : return gen_split_1941 (insn, operands);
26907 :
26908 : case 8:
26909 : if (!(
26910 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26911 : ((16 == 64 || TARGET_AVX512VL
26912 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26913 : && ix86_pre_reload_split ()
26914 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26915 : STRIP_UNARY (operands[4]))
26916 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26917 : STRIP_UNARY (operands[4]))
26918 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26919 : STRIP_UNARY (operands[3]))
26920 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26921 : STRIP_UNARY (operands[3])))) &&
26922 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26923 : ( 1)))
26924 : return NULL;
26925 : return gen_split_1968 (insn, operands);
26926 :
26927 : case 9:
26928 : if (!((
26929 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26930 : ((64 == 64 || TARGET_AVX512VL
26931 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26932 : && ix86_pre_reload_split ()
26933 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26934 : STRIP_UNARY (operands[4]))
26935 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26936 : STRIP_UNARY (operands[4]))
26937 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26938 : STRIP_UNARY (operands[3]))
26939 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26940 : STRIP_UNARY (operands[3])))) &&
26941 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26942 : (TARGET_AVX512F)) &&
26943 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26944 : ( 1)))
26945 : return NULL;
26946 : return gen_split_1995 (insn, operands);
26947 :
26948 : case 10:
26949 : if (!((
26950 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26951 : ((32 == 64 || TARGET_AVX512VL
26952 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26953 : && ix86_pre_reload_split ()
26954 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26955 : STRIP_UNARY (operands[4]))
26956 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26957 : STRIP_UNARY (operands[4]))
26958 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26959 : STRIP_UNARY (operands[3]))
26960 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26961 : STRIP_UNARY (operands[3])))) &&
26962 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26963 : (TARGET_AVX)) &&
26964 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26965 : ( 1)))
26966 : return NULL;
26967 : return gen_split_2022 (insn, operands);
26968 :
26969 : case 11:
26970 : if (!(
26971 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26972 : ((16 == 64 || TARGET_AVX512VL
26973 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26974 : && ix86_pre_reload_split ()
26975 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26976 : STRIP_UNARY (operands[4]))
26977 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26978 : STRIP_UNARY (operands[4]))
26979 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26980 : STRIP_UNARY (operands[3]))
26981 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26982 : STRIP_UNARY (operands[3])))) &&
26983 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26984 : ( 1)))
26985 : return NULL;
26986 : return gen_split_2049 (insn, operands);
26987 :
26988 : case 12:
26989 : if (!((
26990 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26991 : ((64 == 64 || TARGET_AVX512VL
26992 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26993 : && ix86_pre_reload_split ()
26994 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26995 : STRIP_UNARY (operands[4]))
26996 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26997 : STRIP_UNARY (operands[4]))
26998 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26999 : STRIP_UNARY (operands[3]))
27000 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27001 : STRIP_UNARY (operands[3])))) &&
27002 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27003 : (TARGET_AVX512F)) &&
27004 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27005 : ( 1)))
27006 : return NULL;
27007 : return gen_split_1755 (insn, operands);
27008 :
27009 : case 13:
27010 : if (!((
27011 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27012 : ((32 == 64 || TARGET_AVX512VL
27013 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27014 : && ix86_pre_reload_split ()
27015 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27016 : STRIP_UNARY (operands[4]))
27017 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27018 : STRIP_UNARY (operands[4]))
27019 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27020 : STRIP_UNARY (operands[3]))
27021 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27022 : STRIP_UNARY (operands[3])))) &&
27023 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27024 : (TARGET_AVX)) &&
27025 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27026 : ( 1)))
27027 : return NULL;
27028 : return gen_split_1782 (insn, operands);
27029 :
27030 : case 14:
27031 : if (!(
27032 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27033 : ((16 == 64 || TARGET_AVX512VL
27034 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27035 : && ix86_pre_reload_split ()
27036 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27037 : STRIP_UNARY (operands[4]))
27038 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27039 : STRIP_UNARY (operands[4]))
27040 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27041 : STRIP_UNARY (operands[3]))
27042 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27043 : STRIP_UNARY (operands[3])))) &&
27044 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27045 : ( 1)))
27046 : return NULL;
27047 : return gen_split_1809 (insn, operands);
27048 :
27049 : case 15:
27050 : if (!((
27051 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27052 : ((64 == 64 || TARGET_AVX512VL
27053 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27054 : && ix86_pre_reload_split ()
27055 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27056 : STRIP_UNARY (operands[4]))
27057 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27058 : STRIP_UNARY (operands[4]))
27059 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27060 : STRIP_UNARY (operands[3]))
27061 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27062 : STRIP_UNARY (operands[3])))) &&
27063 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27064 : (TARGET_AVX512F)) &&
27065 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27066 : ( 1)))
27067 : return NULL;
27068 : return gen_split_1836 (insn, operands);
27069 :
27070 : case 16:
27071 : if (!((
27072 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27073 : ((32 == 64 || TARGET_AVX512VL
27074 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27075 : && ix86_pre_reload_split ()
27076 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27077 : STRIP_UNARY (operands[4]))
27078 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27079 : STRIP_UNARY (operands[4]))
27080 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27081 : STRIP_UNARY (operands[3]))
27082 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27083 : STRIP_UNARY (operands[3])))) &&
27084 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27085 : (TARGET_AVX)) &&
27086 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27087 : ( 1)))
27088 : return NULL;
27089 : return gen_split_1863 (insn, operands);
27090 :
27091 : case 17:
27092 : if (!(
27093 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27094 : ((16 == 64 || TARGET_AVX512VL
27095 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27096 : && ix86_pre_reload_split ()
27097 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27098 : STRIP_UNARY (operands[4]))
27099 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27100 : STRIP_UNARY (operands[4]))
27101 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27102 : STRIP_UNARY (operands[3]))
27103 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27104 : STRIP_UNARY (operands[3])))) &&
27105 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27106 : ( 1)))
27107 : return NULL;
27108 : return gen_split_1890 (insn, operands);
27109 :
27110 : case 18:
27111 : if (!((
27112 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27113 : ((64 == 64 || TARGET_AVX512VL
27114 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27115 : && ix86_pre_reload_split ()
27116 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27117 : STRIP_UNARY (operands[4]))
27118 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27119 : STRIP_UNARY (operands[4]))
27120 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27121 : STRIP_UNARY (operands[3]))
27122 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27123 : STRIP_UNARY (operands[3])))) &&
27124 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27125 : (TARGET_AVX512F)) &&
27126 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27127 : ( 1)))
27128 : return NULL;
27129 : return gen_split_1917 (insn, operands);
27130 :
27131 : case 19:
27132 : if (!((
27133 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27134 : ((32 == 64 || TARGET_AVX512VL
27135 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27136 : && ix86_pre_reload_split ()
27137 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27138 : STRIP_UNARY (operands[4]))
27139 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27140 : STRIP_UNARY (operands[4]))
27141 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27142 : STRIP_UNARY (operands[3]))
27143 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27144 : STRIP_UNARY (operands[3])))) &&
27145 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27146 : (TARGET_AVX)) &&
27147 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27148 : ( 1)))
27149 : return NULL;
27150 : return gen_split_1944 (insn, operands);
27151 :
27152 : case 20:
27153 : if (!(
27154 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27155 : ((16 == 64 || TARGET_AVX512VL
27156 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27157 : && ix86_pre_reload_split ()
27158 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27159 : STRIP_UNARY (operands[4]))
27160 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27161 : STRIP_UNARY (operands[4]))
27162 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27163 : STRIP_UNARY (operands[3]))
27164 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27165 : STRIP_UNARY (operands[3])))) &&
27166 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27167 : ( 1)))
27168 : return NULL;
27169 : return gen_split_1971 (insn, operands);
27170 :
27171 : case 21:
27172 : if (!((
27173 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27174 : ((64 == 64 || TARGET_AVX512VL
27175 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27176 : && ix86_pre_reload_split ()
27177 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27178 : STRIP_UNARY (operands[4]))
27179 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27180 : STRIP_UNARY (operands[4]))
27181 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27182 : STRIP_UNARY (operands[3]))
27183 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27184 : STRIP_UNARY (operands[3])))) &&
27185 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27186 : (TARGET_AVX512F)) &&
27187 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27188 : ( 1)))
27189 : return NULL;
27190 : return gen_split_1998 (insn, operands);
27191 :
27192 : case 22:
27193 : if (!((
27194 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27195 : ((32 == 64 || TARGET_AVX512VL
27196 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27197 : && ix86_pre_reload_split ()
27198 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27199 : STRIP_UNARY (operands[4]))
27200 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27201 : STRIP_UNARY (operands[4]))
27202 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27203 : STRIP_UNARY (operands[3]))
27204 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27205 : STRIP_UNARY (operands[3])))) &&
27206 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27207 : (TARGET_AVX)) &&
27208 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27209 : ( 1)))
27210 : return NULL;
27211 : return gen_split_2025 (insn, operands);
27212 :
27213 : case 23:
27214 : if (!(
27215 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27216 : ((16 == 64 || TARGET_AVX512VL
27217 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27218 : && ix86_pre_reload_split ()
27219 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27220 : STRIP_UNARY (operands[4]))
27221 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27222 : STRIP_UNARY (operands[4]))
27223 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27224 : STRIP_UNARY (operands[3]))
27225 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27226 : STRIP_UNARY (operands[3])))) &&
27227 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27228 : ( 1)))
27229 : return NULL;
27230 : return gen_split_2052 (insn, operands);
27231 :
27232 : case 24:
27233 : if (!((
27234 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27235 : ((64 == 64 || TARGET_AVX512VL
27236 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27237 : && ix86_pre_reload_split ()
27238 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27239 : STRIP_UNARY (operands[4]))
27240 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27241 : STRIP_UNARY (operands[4]))
27242 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27243 : STRIP_UNARY (operands[3]))
27244 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27245 : STRIP_UNARY (operands[3])))) &&
27246 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27247 : (TARGET_AVX512F)) &&
27248 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27249 : ( 1)))
27250 : return NULL;
27251 : return gen_split_1758 (insn, operands);
27252 :
27253 : case 25:
27254 : if (!((
27255 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27256 : ((32 == 64 || TARGET_AVX512VL
27257 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27258 : && ix86_pre_reload_split ()
27259 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27260 : STRIP_UNARY (operands[4]))
27261 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27262 : STRIP_UNARY (operands[4]))
27263 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27264 : STRIP_UNARY (operands[3]))
27265 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27266 : STRIP_UNARY (operands[3])))) &&
27267 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27268 : (TARGET_AVX)) &&
27269 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27270 : ( 1)))
27271 : return NULL;
27272 : return gen_split_1785 (insn, operands);
27273 :
27274 : case 26:
27275 : if (!(
27276 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27277 : ((16 == 64 || TARGET_AVX512VL
27278 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27279 : && ix86_pre_reload_split ()
27280 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27281 : STRIP_UNARY (operands[4]))
27282 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27283 : STRIP_UNARY (operands[4]))
27284 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27285 : STRIP_UNARY (operands[3]))
27286 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27287 : STRIP_UNARY (operands[3])))) &&
27288 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27289 : ( 1)))
27290 : return NULL;
27291 : return gen_split_1812 (insn, operands);
27292 :
27293 : case 27:
27294 : if (!((
27295 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27296 : ((64 == 64 || TARGET_AVX512VL
27297 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27298 : && ix86_pre_reload_split ()
27299 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27300 : STRIP_UNARY (operands[4]))
27301 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27302 : STRIP_UNARY (operands[4]))
27303 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27304 : STRIP_UNARY (operands[3]))
27305 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27306 : STRIP_UNARY (operands[3])))) &&
27307 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27308 : (TARGET_AVX512F)) &&
27309 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27310 : ( 1)))
27311 : return NULL;
27312 : return gen_split_1839 (insn, operands);
27313 :
27314 : case 28:
27315 : if (!((
27316 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27317 : ((32 == 64 || TARGET_AVX512VL
27318 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27319 : && ix86_pre_reload_split ()
27320 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27321 : STRIP_UNARY (operands[4]))
27322 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27323 : STRIP_UNARY (operands[4]))
27324 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27325 : STRIP_UNARY (operands[3]))
27326 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27327 : STRIP_UNARY (operands[3])))) &&
27328 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27329 : (TARGET_AVX)) &&
27330 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27331 : ( 1)))
27332 : return NULL;
27333 : return gen_split_1866 (insn, operands);
27334 :
27335 : case 29:
27336 : if (!(
27337 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27338 : ((16 == 64 || TARGET_AVX512VL
27339 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27340 : && ix86_pre_reload_split ()
27341 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27342 : STRIP_UNARY (operands[4]))
27343 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27344 : STRIP_UNARY (operands[4]))
27345 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27346 : STRIP_UNARY (operands[3]))
27347 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27348 : STRIP_UNARY (operands[3])))) &&
27349 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27350 : ( 1)))
27351 : return NULL;
27352 : return gen_split_1893 (insn, operands);
27353 :
27354 : case 30:
27355 : if (!((
27356 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27357 : ((64 == 64 || TARGET_AVX512VL
27358 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27359 : && ix86_pre_reload_split ()
27360 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27361 : STRIP_UNARY (operands[4]))
27362 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27363 : STRIP_UNARY (operands[4]))
27364 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27365 : STRIP_UNARY (operands[3]))
27366 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27367 : STRIP_UNARY (operands[3])))) &&
27368 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27369 : (TARGET_AVX512F)) &&
27370 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27371 : ( 1)))
27372 : return NULL;
27373 : return gen_split_1920 (insn, operands);
27374 :
27375 : case 31:
27376 : if (!((
27377 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27378 : ((32 == 64 || TARGET_AVX512VL
27379 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27380 : && ix86_pre_reload_split ()
27381 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27382 : STRIP_UNARY (operands[4]))
27383 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27384 : STRIP_UNARY (operands[4]))
27385 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27386 : STRIP_UNARY (operands[3]))
27387 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27388 : STRIP_UNARY (operands[3])))) &&
27389 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27390 : (TARGET_AVX)) &&
27391 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27392 : ( 1)))
27393 : return NULL;
27394 : return gen_split_1947 (insn, operands);
27395 :
27396 : case 32:
27397 : if (!(
27398 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27399 : ((16 == 64 || TARGET_AVX512VL
27400 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27401 : && ix86_pre_reload_split ()
27402 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27403 : STRIP_UNARY (operands[4]))
27404 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27405 : STRIP_UNARY (operands[4]))
27406 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27407 : STRIP_UNARY (operands[3]))
27408 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27409 : STRIP_UNARY (operands[3])))) &&
27410 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27411 : ( 1)))
27412 : return NULL;
27413 : return gen_split_1974 (insn, operands);
27414 :
27415 : case 33:
27416 : if (!((
27417 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27418 : ((64 == 64 || TARGET_AVX512VL
27419 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27420 : && ix86_pre_reload_split ()
27421 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27422 : STRIP_UNARY (operands[4]))
27423 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27424 : STRIP_UNARY (operands[4]))
27425 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27426 : STRIP_UNARY (operands[3]))
27427 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27428 : STRIP_UNARY (operands[3])))) &&
27429 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27430 : (TARGET_AVX512F)) &&
27431 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27432 : ( 1)))
27433 : return NULL;
27434 : return gen_split_2001 (insn, operands);
27435 :
27436 : case 34:
27437 : if (!((
27438 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27439 : ((32 == 64 || TARGET_AVX512VL
27440 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27441 : && ix86_pre_reload_split ()
27442 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27443 : STRIP_UNARY (operands[4]))
27444 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27445 : STRIP_UNARY (operands[4]))
27446 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27447 : STRIP_UNARY (operands[3]))
27448 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27449 : STRIP_UNARY (operands[3])))) &&
27450 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27451 : (TARGET_AVX)) &&
27452 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27453 : ( 1)))
27454 : return NULL;
27455 : return gen_split_2028 (insn, operands);
27456 :
27457 : case 35:
27458 : if (!(
27459 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27460 : ((16 == 64 || TARGET_AVX512VL
27461 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27462 : && ix86_pre_reload_split ()
27463 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27464 : STRIP_UNARY (operands[4]))
27465 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27466 : STRIP_UNARY (operands[4]))
27467 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27468 : STRIP_UNARY (operands[3]))
27469 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27470 : STRIP_UNARY (operands[3])))) &&
27471 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27472 : ( 1)))
27473 : return NULL;
27474 : return gen_split_2055 (insn, operands);
27475 :
27476 : case 36:
27477 : if (!((
27478 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27479 : ((64 == 64 || TARGET_AVX512VL
27480 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27481 : && ix86_pre_reload_split ()) &&
27482 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27483 : (TARGET_AVX512F)) &&
27484 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27485 : ( 1)))
27486 : return NULL;
27487 : return gen_split_3036 (insn, operands);
27488 :
27489 : case 37:
27490 : if (!((
27491 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27492 : ((32 == 64 || TARGET_AVX512VL
27493 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27494 : && ix86_pre_reload_split ()) &&
27495 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27496 : (TARGET_AVX)) &&
27497 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27498 : ( 1)))
27499 : return NULL;
27500 : return gen_split_3045 (insn, operands);
27501 :
27502 : case 38:
27503 : if (!(
27504 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27505 : ((16 == 64 || TARGET_AVX512VL
27506 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27507 : && ix86_pre_reload_split ()) &&
27508 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27509 : ( 1)))
27510 : return NULL;
27511 : return gen_split_3054 (insn, operands);
27512 :
27513 : case 39:
27514 : if (!((
27515 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27516 : ((64 == 64 || TARGET_AVX512VL
27517 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27518 : && ix86_pre_reload_split ()) &&
27519 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27520 : (TARGET_AVX512F)) &&
27521 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27522 : ( 1)))
27523 : return NULL;
27524 : return gen_split_3063 (insn, operands);
27525 :
27526 : case 40:
27527 : if (!((
27528 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27529 : ((32 == 64 || TARGET_AVX512VL
27530 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27531 : && ix86_pre_reload_split ()) &&
27532 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27533 : (TARGET_AVX)) &&
27534 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27535 : ( 1)))
27536 : return NULL;
27537 : return gen_split_3072 (insn, operands);
27538 :
27539 : case 41:
27540 : if (!(
27541 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27542 : ((16 == 64 || TARGET_AVX512VL
27543 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27544 : && ix86_pre_reload_split ()) &&
27545 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27546 : ( 1)))
27547 : return NULL;
27548 : return gen_split_3081 (insn, operands);
27549 :
27550 : case 42:
27551 : if (!((
27552 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27553 : ((64 == 64 || TARGET_AVX512VL
27554 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27555 : && ix86_pre_reload_split ()) &&
27556 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27557 : (TARGET_AVX512F)) &&
27558 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27559 : ( 1)))
27560 : return NULL;
27561 : return gen_split_3090 (insn, operands);
27562 :
27563 : case 43:
27564 : if (!((
27565 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27566 : ((32 == 64 || TARGET_AVX512VL
27567 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27568 : && ix86_pre_reload_split ()) &&
27569 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27570 : (TARGET_AVX)) &&
27571 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27572 : ( 1)))
27573 : return NULL;
27574 : return gen_split_3099 (insn, operands);
27575 :
27576 : case 44:
27577 : if (!(
27578 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27579 : ((16 == 64 || TARGET_AVX512VL
27580 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27581 : && ix86_pre_reload_split ()) &&
27582 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27583 : ( 1)))
27584 : return NULL;
27585 : return gen_split_3108 (insn, operands);
27586 :
27587 : case 45:
27588 : if (!((
27589 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27590 : ((64 == 64 || TARGET_AVX512VL
27591 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27592 : && ix86_pre_reload_split ()) &&
27593 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27594 : (TARGET_AVX512F)) &&
27595 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27596 : ( 1)))
27597 : return NULL;
27598 : return gen_split_3117 (insn, operands);
27599 :
27600 : case 46:
27601 : if (!((
27602 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27603 : ((32 == 64 || TARGET_AVX512VL
27604 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27605 : && ix86_pre_reload_split ()) &&
27606 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27607 : (TARGET_AVX)) &&
27608 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27609 : ( 1)))
27610 : return NULL;
27611 : return gen_split_3126 (insn, operands);
27612 :
27613 : case 47:
27614 : if (!(
27615 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27616 : ((16 == 64 || TARGET_AVX512VL
27617 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27618 : && ix86_pre_reload_split ()) &&
27619 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27620 : ( 1)))
27621 : return NULL;
27622 : return gen_split_3135 (insn, operands);
27623 :
27624 : default:
27625 : return NULL;
27626 : }
27627 :
27628 : case AND:
27629 : switch (pattern539 (x2))
27630 : {
27631 : case 0:
27632 : if (!((
27633 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27634 : ((64 == 64 || TARGET_AVX512VL
27635 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27636 : && ix86_pre_reload_split ()
27637 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27638 : STRIP_UNARY (operands[4]))
27639 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27640 : STRIP_UNARY (operands[4]))
27641 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27642 : STRIP_UNARY (operands[3]))
27643 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27644 : STRIP_UNARY (operands[3])))) &&
27645 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27646 : (TARGET_AVX512F)) &&
27647 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27648 : ( 1)))
27649 : return NULL;
27650 : return gen_split_2400 (insn, operands);
27651 :
27652 : case 1:
27653 : if (!((
27654 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27655 : ((32 == 64 || TARGET_AVX512VL
27656 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27657 : && ix86_pre_reload_split ()
27658 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27659 : STRIP_UNARY (operands[4]))
27660 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27661 : STRIP_UNARY (operands[4]))
27662 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27663 : STRIP_UNARY (operands[3]))
27664 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27665 : STRIP_UNARY (operands[3])))) &&
27666 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27667 : (TARGET_AVX)) &&
27668 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27669 : ( 1)))
27670 : return NULL;
27671 : return gen_split_2427 (insn, operands);
27672 :
27673 : case 2:
27674 : if (!(
27675 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27676 : ((16 == 64 || TARGET_AVX512VL
27677 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27678 : && ix86_pre_reload_split ()
27679 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27680 : STRIP_UNARY (operands[4]))
27681 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27682 : STRIP_UNARY (operands[4]))
27683 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27684 : STRIP_UNARY (operands[3]))
27685 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27686 : STRIP_UNARY (operands[3])))) &&
27687 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27688 : ( 1)))
27689 : return NULL;
27690 : return gen_split_2454 (insn, operands);
27691 :
27692 : case 3:
27693 : if (!((
27694 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27695 : ((64 == 64 || TARGET_AVX512VL
27696 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27697 : && ix86_pre_reload_split ()
27698 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27699 : STRIP_UNARY (operands[4]))
27700 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27701 : STRIP_UNARY (operands[4]))
27702 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27703 : STRIP_UNARY (operands[3]))
27704 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27705 : STRIP_UNARY (operands[3])))) &&
27706 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27707 : (TARGET_AVX512F)) &&
27708 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27709 : ( 1)))
27710 : return NULL;
27711 : return gen_split_2481 (insn, operands);
27712 :
27713 : case 4:
27714 : if (!((
27715 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27716 : ((32 == 64 || TARGET_AVX512VL
27717 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27718 : && ix86_pre_reload_split ()
27719 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27720 : STRIP_UNARY (operands[4]))
27721 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27722 : STRIP_UNARY (operands[4]))
27723 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27724 : STRIP_UNARY (operands[3]))
27725 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27726 : STRIP_UNARY (operands[3])))) &&
27727 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27728 : (TARGET_AVX)) &&
27729 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27730 : ( 1)))
27731 : return NULL;
27732 : return gen_split_2508 (insn, operands);
27733 :
27734 : case 5:
27735 : if (!(
27736 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27737 : ((16 == 64 || TARGET_AVX512VL
27738 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27739 : && ix86_pre_reload_split ()
27740 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27741 : STRIP_UNARY (operands[4]))
27742 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27743 : STRIP_UNARY (operands[4]))
27744 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27745 : STRIP_UNARY (operands[3]))
27746 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27747 : STRIP_UNARY (operands[3])))) &&
27748 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27749 : ( 1)))
27750 : return NULL;
27751 : return gen_split_2535 (insn, operands);
27752 :
27753 : case 6:
27754 : if (!((
27755 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27756 : ((64 == 64 || TARGET_AVX512VL
27757 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27758 : && ix86_pre_reload_split ()
27759 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27760 : STRIP_UNARY (operands[4]))
27761 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27762 : STRIP_UNARY (operands[4]))
27763 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27764 : STRIP_UNARY (operands[3]))
27765 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27766 : STRIP_UNARY (operands[3])))) &&
27767 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27768 : (TARGET_AVX512F)) &&
27769 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27770 : ( 1)))
27771 : return NULL;
27772 : return gen_split_2562 (insn, operands);
27773 :
27774 : case 7:
27775 : if (!((
27776 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27777 : ((32 == 64 || TARGET_AVX512VL
27778 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27779 : && ix86_pre_reload_split ()
27780 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27781 : STRIP_UNARY (operands[4]))
27782 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27783 : STRIP_UNARY (operands[4]))
27784 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27785 : STRIP_UNARY (operands[3]))
27786 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27787 : STRIP_UNARY (operands[3])))) &&
27788 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27789 : (TARGET_AVX)) &&
27790 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27791 : ( 1)))
27792 : return NULL;
27793 : return gen_split_2589 (insn, operands);
27794 :
27795 : case 8:
27796 : if (!(
27797 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27798 : ((16 == 64 || TARGET_AVX512VL
27799 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27800 : && ix86_pre_reload_split ()
27801 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27802 : STRIP_UNARY (operands[4]))
27803 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27804 : STRIP_UNARY (operands[4]))
27805 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27806 : STRIP_UNARY (operands[3]))
27807 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27808 : STRIP_UNARY (operands[3])))) &&
27809 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27810 : ( 1)))
27811 : return NULL;
27812 : return gen_split_2616 (insn, operands);
27813 :
27814 : case 9:
27815 : if (!((
27816 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27817 : ((64 == 64 || TARGET_AVX512VL
27818 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27819 : && ix86_pre_reload_split ()
27820 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27821 : STRIP_UNARY (operands[4]))
27822 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27823 : STRIP_UNARY (operands[4]))
27824 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27825 : STRIP_UNARY (operands[3]))
27826 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27827 : STRIP_UNARY (operands[3])))) &&
27828 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27829 : (TARGET_AVX512F)) &&
27830 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27831 : ( 1)))
27832 : return NULL;
27833 : return gen_split_2643 (insn, operands);
27834 :
27835 : case 10:
27836 : if (!((
27837 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27838 : ((32 == 64 || TARGET_AVX512VL
27839 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27840 : && ix86_pre_reload_split ()
27841 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27842 : STRIP_UNARY (operands[4]))
27843 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27844 : STRIP_UNARY (operands[4]))
27845 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27846 : STRIP_UNARY (operands[3]))
27847 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27848 : STRIP_UNARY (operands[3])))) &&
27849 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27850 : (TARGET_AVX)) &&
27851 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27852 : ( 1)))
27853 : return NULL;
27854 : return gen_split_2670 (insn, operands);
27855 :
27856 : case 11:
27857 : if (!(
27858 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27859 : ((16 == 64 || TARGET_AVX512VL
27860 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27861 : && ix86_pre_reload_split ()
27862 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27863 : STRIP_UNARY (operands[4]))
27864 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27865 : STRIP_UNARY (operands[4]))
27866 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27867 : STRIP_UNARY (operands[3]))
27868 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27869 : STRIP_UNARY (operands[3])))) &&
27870 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27871 : ( 1)))
27872 : return NULL;
27873 : return gen_split_2697 (insn, operands);
27874 :
27875 : default:
27876 : return NULL;
27877 : }
27878 :
27879 : case IOR:
27880 : switch (pattern539 (x2))
27881 : {
27882 : case 0:
27883 : if (!((
27884 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27885 : ((64 == 64 || TARGET_AVX512VL
27886 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27887 : && ix86_pre_reload_split ()
27888 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27889 : STRIP_UNARY (operands[4]))
27890 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27891 : STRIP_UNARY (operands[4]))
27892 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27893 : STRIP_UNARY (operands[3]))
27894 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27895 : STRIP_UNARY (operands[3])))) &&
27896 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27897 : (TARGET_AVX512F)) &&
27898 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27899 : ( 1)))
27900 : return NULL;
27901 : return gen_split_2403 (insn, operands);
27902 :
27903 : case 1:
27904 : if (!((
27905 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27906 : ((32 == 64 || TARGET_AVX512VL
27907 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27908 : && ix86_pre_reload_split ()
27909 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27910 : STRIP_UNARY (operands[4]))
27911 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27912 : STRIP_UNARY (operands[4]))
27913 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27914 : STRIP_UNARY (operands[3]))
27915 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27916 : STRIP_UNARY (operands[3])))) &&
27917 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27918 : (TARGET_AVX)) &&
27919 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27920 : ( 1)))
27921 : return NULL;
27922 : return gen_split_2430 (insn, operands);
27923 :
27924 : case 2:
27925 : if (!(
27926 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27927 : ((16 == 64 || TARGET_AVX512VL
27928 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27929 : && ix86_pre_reload_split ()
27930 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27931 : STRIP_UNARY (operands[4]))
27932 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27933 : STRIP_UNARY (operands[4]))
27934 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27935 : STRIP_UNARY (operands[3]))
27936 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27937 : STRIP_UNARY (operands[3])))) &&
27938 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27939 : ( 1)))
27940 : return NULL;
27941 : return gen_split_2457 (insn, operands);
27942 :
27943 : case 3:
27944 : if (!((
27945 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27946 : ((64 == 64 || TARGET_AVX512VL
27947 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27948 : && ix86_pre_reload_split ()
27949 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27950 : STRIP_UNARY (operands[4]))
27951 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27952 : STRIP_UNARY (operands[4]))
27953 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27954 : STRIP_UNARY (operands[3]))
27955 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27956 : STRIP_UNARY (operands[3])))) &&
27957 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27958 : (TARGET_AVX512F)) &&
27959 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27960 : ( 1)))
27961 : return NULL;
27962 : return gen_split_2484 (insn, operands);
27963 :
27964 : case 4:
27965 : if (!((
27966 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27967 : ((32 == 64 || TARGET_AVX512VL
27968 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27969 : && ix86_pre_reload_split ()
27970 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27971 : STRIP_UNARY (operands[4]))
27972 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27973 : STRIP_UNARY (operands[4]))
27974 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27975 : STRIP_UNARY (operands[3]))
27976 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27977 : STRIP_UNARY (operands[3])))) &&
27978 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27979 : (TARGET_AVX)) &&
27980 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27981 : ( 1)))
27982 : return NULL;
27983 : return gen_split_2511 (insn, operands);
27984 :
27985 : case 5:
27986 : if (!(
27987 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27988 : ((16 == 64 || TARGET_AVX512VL
27989 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27990 : && ix86_pre_reload_split ()
27991 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27992 : STRIP_UNARY (operands[4]))
27993 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27994 : STRIP_UNARY (operands[4]))
27995 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27996 : STRIP_UNARY (operands[3]))
27997 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27998 : STRIP_UNARY (operands[3])))) &&
27999 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28000 : ( 1)))
28001 : return NULL;
28002 : return gen_split_2538 (insn, operands);
28003 :
28004 : case 6:
28005 : if (!((
28006 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28007 : ((64 == 64 || TARGET_AVX512VL
28008 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28009 : && ix86_pre_reload_split ()
28010 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28011 : STRIP_UNARY (operands[4]))
28012 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28013 : STRIP_UNARY (operands[4]))
28014 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28015 : STRIP_UNARY (operands[3]))
28016 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28017 : STRIP_UNARY (operands[3])))) &&
28018 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28019 : (TARGET_AVX512F)) &&
28020 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28021 : ( 1)))
28022 : return NULL;
28023 : return gen_split_2565 (insn, operands);
28024 :
28025 : case 7:
28026 : if (!((
28027 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28028 : ((32 == 64 || TARGET_AVX512VL
28029 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28030 : && ix86_pre_reload_split ()
28031 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28032 : STRIP_UNARY (operands[4]))
28033 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28034 : STRIP_UNARY (operands[4]))
28035 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28036 : STRIP_UNARY (operands[3]))
28037 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28038 : STRIP_UNARY (operands[3])))) &&
28039 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28040 : (TARGET_AVX)) &&
28041 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28042 : ( 1)))
28043 : return NULL;
28044 : return gen_split_2592 (insn, operands);
28045 :
28046 : case 8:
28047 : if (!(
28048 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28049 : ((16 == 64 || TARGET_AVX512VL
28050 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28051 : && ix86_pre_reload_split ()
28052 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28053 : STRIP_UNARY (operands[4]))
28054 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28055 : STRIP_UNARY (operands[4]))
28056 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28057 : STRIP_UNARY (operands[3]))
28058 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28059 : STRIP_UNARY (operands[3])))) &&
28060 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28061 : ( 1)))
28062 : return NULL;
28063 : return gen_split_2619 (insn, operands);
28064 :
28065 : case 9:
28066 : if (!((
28067 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28068 : ((64 == 64 || TARGET_AVX512VL
28069 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28070 : && ix86_pre_reload_split ()
28071 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28072 : STRIP_UNARY (operands[4]))
28073 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28074 : STRIP_UNARY (operands[4]))
28075 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28076 : STRIP_UNARY (operands[3]))
28077 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28078 : STRIP_UNARY (operands[3])))) &&
28079 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28080 : (TARGET_AVX512F)) &&
28081 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28082 : ( 1)))
28083 : return NULL;
28084 : return gen_split_2646 (insn, operands);
28085 :
28086 : case 10:
28087 : if (!((
28088 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28089 : ((32 == 64 || TARGET_AVX512VL
28090 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28091 : && ix86_pre_reload_split ()
28092 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28093 : STRIP_UNARY (operands[4]))
28094 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28095 : STRIP_UNARY (operands[4]))
28096 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28097 : STRIP_UNARY (operands[3]))
28098 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28099 : STRIP_UNARY (operands[3])))) &&
28100 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28101 : (TARGET_AVX)) &&
28102 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28103 : ( 1)))
28104 : return NULL;
28105 : return gen_split_2673 (insn, operands);
28106 :
28107 : case 11:
28108 : if (!(
28109 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28110 : ((16 == 64 || TARGET_AVX512VL
28111 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28112 : && ix86_pre_reload_split ()
28113 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28114 : STRIP_UNARY (operands[4]))
28115 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28116 : STRIP_UNARY (operands[4]))
28117 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28118 : STRIP_UNARY (operands[3]))
28119 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28120 : STRIP_UNARY (operands[3])))) &&
28121 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28122 : ( 1)))
28123 : return NULL;
28124 : return gen_split_2700 (insn, operands);
28125 :
28126 : default:
28127 : return NULL;
28128 : }
28129 :
28130 : case XOR:
28131 : switch (pattern539 (x2))
28132 : {
28133 : case 0:
28134 : if (!((
28135 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28136 : ((64 == 64 || TARGET_AVX512VL
28137 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28138 : && ix86_pre_reload_split ()
28139 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28140 : STRIP_UNARY (operands[4]))
28141 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28142 : STRIP_UNARY (operands[4]))
28143 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28144 : STRIP_UNARY (operands[3]))
28145 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28146 : STRIP_UNARY (operands[3])))) &&
28147 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28148 : (TARGET_AVX512F)) &&
28149 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28150 : ( 1)))
28151 : return NULL;
28152 : return gen_split_2406 (insn, operands);
28153 :
28154 : case 1:
28155 : if (!((
28156 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28157 : ((32 == 64 || TARGET_AVX512VL
28158 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28159 : && ix86_pre_reload_split ()
28160 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28161 : STRIP_UNARY (operands[4]))
28162 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28163 : STRIP_UNARY (operands[4]))
28164 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28165 : STRIP_UNARY (operands[3]))
28166 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28167 : STRIP_UNARY (operands[3])))) &&
28168 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28169 : (TARGET_AVX)) &&
28170 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28171 : ( 1)))
28172 : return NULL;
28173 : return gen_split_2433 (insn, operands);
28174 :
28175 : case 2:
28176 : if (!(
28177 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28178 : ((16 == 64 || TARGET_AVX512VL
28179 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28180 : && ix86_pre_reload_split ()
28181 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28182 : STRIP_UNARY (operands[4]))
28183 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28184 : STRIP_UNARY (operands[4]))
28185 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28186 : STRIP_UNARY (operands[3]))
28187 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28188 : STRIP_UNARY (operands[3])))) &&
28189 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28190 : ( 1)))
28191 : return NULL;
28192 : return gen_split_2460 (insn, operands);
28193 :
28194 : case 3:
28195 : if (!((
28196 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28197 : ((64 == 64 || TARGET_AVX512VL
28198 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28199 : && ix86_pre_reload_split ()
28200 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28201 : STRIP_UNARY (operands[4]))
28202 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28203 : STRIP_UNARY (operands[4]))
28204 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28205 : STRIP_UNARY (operands[3]))
28206 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28207 : STRIP_UNARY (operands[3])))) &&
28208 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28209 : (TARGET_AVX512F)) &&
28210 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28211 : ( 1)))
28212 : return NULL;
28213 : return gen_split_2487 (insn, operands);
28214 :
28215 : case 4:
28216 : if (!((
28217 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28218 : ((32 == 64 || TARGET_AVX512VL
28219 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28220 : && ix86_pre_reload_split ()
28221 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28222 : STRIP_UNARY (operands[4]))
28223 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28224 : STRIP_UNARY (operands[4]))
28225 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28226 : STRIP_UNARY (operands[3]))
28227 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28228 : STRIP_UNARY (operands[3])))) &&
28229 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28230 : (TARGET_AVX)) &&
28231 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28232 : ( 1)))
28233 : return NULL;
28234 : return gen_split_2514 (insn, operands);
28235 :
28236 : case 5:
28237 : if (!(
28238 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28239 : ((16 == 64 || TARGET_AVX512VL
28240 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28241 : && ix86_pre_reload_split ()
28242 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28243 : STRIP_UNARY (operands[4]))
28244 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28245 : STRIP_UNARY (operands[4]))
28246 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28247 : STRIP_UNARY (operands[3]))
28248 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28249 : STRIP_UNARY (operands[3])))) &&
28250 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28251 : ( 1)))
28252 : return NULL;
28253 : return gen_split_2541 (insn, operands);
28254 :
28255 : case 6:
28256 : if (!((
28257 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28258 : ((64 == 64 || TARGET_AVX512VL
28259 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28260 : && ix86_pre_reload_split ()
28261 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28262 : STRIP_UNARY (operands[4]))
28263 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28264 : STRIP_UNARY (operands[4]))
28265 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28266 : STRIP_UNARY (operands[3]))
28267 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28268 : STRIP_UNARY (operands[3])))) &&
28269 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28270 : (TARGET_AVX512F)) &&
28271 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28272 : ( 1)))
28273 : return NULL;
28274 : return gen_split_2568 (insn, operands);
28275 :
28276 : case 7:
28277 : if (!((
28278 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28279 : ((32 == 64 || TARGET_AVX512VL
28280 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28281 : && ix86_pre_reload_split ()
28282 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28283 : STRIP_UNARY (operands[4]))
28284 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28285 : STRIP_UNARY (operands[4]))
28286 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28287 : STRIP_UNARY (operands[3]))
28288 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28289 : STRIP_UNARY (operands[3])))) &&
28290 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28291 : (TARGET_AVX)) &&
28292 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28293 : ( 1)))
28294 : return NULL;
28295 : return gen_split_2595 (insn, operands);
28296 :
28297 : case 8:
28298 : if (!(
28299 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28300 : ((16 == 64 || TARGET_AVX512VL
28301 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28302 : && ix86_pre_reload_split ()
28303 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28304 : STRIP_UNARY (operands[4]))
28305 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28306 : STRIP_UNARY (operands[4]))
28307 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28308 : STRIP_UNARY (operands[3]))
28309 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28310 : STRIP_UNARY (operands[3])))) &&
28311 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28312 : ( 1)))
28313 : return NULL;
28314 : return gen_split_2622 (insn, operands);
28315 :
28316 : case 9:
28317 : if (!((
28318 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28319 : ((64 == 64 || TARGET_AVX512VL
28320 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28321 : && ix86_pre_reload_split ()
28322 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28323 : STRIP_UNARY (operands[4]))
28324 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28325 : STRIP_UNARY (operands[4]))
28326 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28327 : STRIP_UNARY (operands[3]))
28328 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28329 : STRIP_UNARY (operands[3])))) &&
28330 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28331 : (TARGET_AVX512F)) &&
28332 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28333 : ( 1)))
28334 : return NULL;
28335 : return gen_split_2649 (insn, operands);
28336 :
28337 : case 10:
28338 : if (!((
28339 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28340 : ((32 == 64 || TARGET_AVX512VL
28341 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28342 : && ix86_pre_reload_split ()
28343 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28344 : STRIP_UNARY (operands[4]))
28345 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28346 : STRIP_UNARY (operands[4]))
28347 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28348 : STRIP_UNARY (operands[3]))
28349 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28350 : STRIP_UNARY (operands[3])))) &&
28351 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28352 : (TARGET_AVX)) &&
28353 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28354 : ( 1)))
28355 : return NULL;
28356 : return gen_split_2676 (insn, operands);
28357 :
28358 : case 11:
28359 : if (!(
28360 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28361 : ((16 == 64 || TARGET_AVX512VL
28362 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28363 : && ix86_pre_reload_split ()
28364 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28365 : STRIP_UNARY (operands[4]))
28366 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28367 : STRIP_UNARY (operands[4]))
28368 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28369 : STRIP_UNARY (operands[3]))
28370 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28371 : STRIP_UNARY (operands[3])))) &&
28372 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28373 : ( 1)))
28374 : return NULL;
28375 : return gen_split_2703 (insn, operands);
28376 :
28377 : default:
28378 : return NULL;
28379 : }
28380 :
28381 : default:
28382 : return NULL;
28383 : }
28384 : }
28385 :
28386 : rtx_insn *
28387 : split_74 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
28388 : {
28389 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
28390 : rtx x2, x3, x4;
28391 : rtx_insn *res ATTRIBUTE_UNUSED;
28392 : x2 = XEXP (x1, 1);
28393 : x3 = XEXP (x2, 0);
28394 : switch (GET_CODE (x3))
28395 : {
28396 : case AND:
28397 : x4 = XEXP (x3, 0);
28398 : switch (GET_CODE (x4))
28399 : {
28400 : case REG:
28401 : case SUBREG:
28402 : case MEM:
28403 : case NOT:
28404 : switch (pattern543 (x2))
28405 : {
28406 : case 0:
28407 : if (!((
28408 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28409 : ((64 == 64 || TARGET_AVX512VL
28410 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28411 : && ix86_pre_reload_split ()
28412 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28413 : STRIP_UNARY (operands[4]))
28414 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28415 : STRIP_UNARY (operands[4]))
28416 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28417 : STRIP_UNARY (operands[3]))
28418 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28419 : STRIP_UNARY (operands[3])))) &&
28420 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28421 : (TARGET_AVX512F)) &&
28422 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28423 : ( 1)))
28424 : return NULL;
28425 : return gen_split_2057 (insn, operands);
28426 :
28427 : case 1:
28428 : if (!((
28429 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28430 : ((32 == 64 || TARGET_AVX512VL
28431 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28432 : && ix86_pre_reload_split ()
28433 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28434 : STRIP_UNARY (operands[4]))
28435 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28436 : STRIP_UNARY (operands[4]))
28437 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28438 : STRIP_UNARY (operands[3]))
28439 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28440 : STRIP_UNARY (operands[3])))) &&
28441 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28442 : (TARGET_AVX)) &&
28443 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28444 : ( 1)))
28445 : return NULL;
28446 : return gen_split_2084 (insn, operands);
28447 :
28448 : case 2:
28449 : if (!(
28450 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28451 : ((16 == 64 || TARGET_AVX512VL
28452 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28453 : && ix86_pre_reload_split ()
28454 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28455 : STRIP_UNARY (operands[4]))
28456 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28457 : STRIP_UNARY (operands[4]))
28458 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28459 : STRIP_UNARY (operands[3]))
28460 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28461 : STRIP_UNARY (operands[3])))) &&
28462 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28463 : ( 1)))
28464 : return NULL;
28465 : return gen_split_2111 (insn, operands);
28466 :
28467 : case 3:
28468 : if (!((
28469 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28470 : ((64 == 64 || TARGET_AVX512VL
28471 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28472 : && ix86_pre_reload_split ()
28473 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28474 : STRIP_UNARY (operands[4]))
28475 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28476 : STRIP_UNARY (operands[4]))
28477 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28478 : STRIP_UNARY (operands[3]))
28479 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28480 : STRIP_UNARY (operands[3])))) &&
28481 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28482 : (TARGET_AVX512F)) &&
28483 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28484 : ( 1)))
28485 : return NULL;
28486 : return gen_split_2138 (insn, operands);
28487 :
28488 : case 4:
28489 : if (!((
28490 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28491 : ((32 == 64 || TARGET_AVX512VL
28492 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28493 : && ix86_pre_reload_split ()
28494 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28495 : STRIP_UNARY (operands[4]))
28496 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28497 : STRIP_UNARY (operands[4]))
28498 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28499 : STRIP_UNARY (operands[3]))
28500 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28501 : STRIP_UNARY (operands[3])))) &&
28502 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28503 : (TARGET_AVX)) &&
28504 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28505 : ( 1)))
28506 : return NULL;
28507 : return gen_split_2165 (insn, operands);
28508 :
28509 : case 5:
28510 : if (!(
28511 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28512 : ((16 == 64 || TARGET_AVX512VL
28513 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28514 : && ix86_pre_reload_split ()
28515 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28516 : STRIP_UNARY (operands[4]))
28517 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28518 : STRIP_UNARY (operands[4]))
28519 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28520 : STRIP_UNARY (operands[3]))
28521 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28522 : STRIP_UNARY (operands[3])))) &&
28523 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28524 : ( 1)))
28525 : return NULL;
28526 : return gen_split_2192 (insn, operands);
28527 :
28528 : case 6:
28529 : if (!((
28530 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28531 : ((64 == 64 || TARGET_AVX512VL
28532 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28533 : && ix86_pre_reload_split ()
28534 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28535 : STRIP_UNARY (operands[4]))
28536 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28537 : STRIP_UNARY (operands[4]))
28538 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28539 : STRIP_UNARY (operands[3]))
28540 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28541 : STRIP_UNARY (operands[3])))) &&
28542 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28543 : (TARGET_AVX512F)) &&
28544 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28545 : ( 1)))
28546 : return NULL;
28547 : return gen_split_2219 (insn, operands);
28548 :
28549 : case 7:
28550 : if (!((
28551 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28552 : ((32 == 64 || TARGET_AVX512VL
28553 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28554 : && ix86_pre_reload_split ()
28555 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28556 : STRIP_UNARY (operands[4]))
28557 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28558 : STRIP_UNARY (operands[4]))
28559 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28560 : STRIP_UNARY (operands[3]))
28561 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28562 : STRIP_UNARY (operands[3])))) &&
28563 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28564 : (TARGET_AVX)) &&
28565 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28566 : ( 1)))
28567 : return NULL;
28568 : return gen_split_2246 (insn, operands);
28569 :
28570 : case 8:
28571 : if (!(
28572 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28573 : ((16 == 64 || TARGET_AVX512VL
28574 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28575 : && ix86_pre_reload_split ()
28576 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28577 : STRIP_UNARY (operands[4]))
28578 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28579 : STRIP_UNARY (operands[4]))
28580 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28581 : STRIP_UNARY (operands[3]))
28582 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28583 : STRIP_UNARY (operands[3])))) &&
28584 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28585 : ( 1)))
28586 : return NULL;
28587 : return gen_split_2273 (insn, operands);
28588 :
28589 : case 9:
28590 : if (!((
28591 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28592 : ((64 == 64 || TARGET_AVX512VL
28593 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28594 : && ix86_pre_reload_split ()
28595 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28596 : STRIP_UNARY (operands[4]))
28597 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28598 : STRIP_UNARY (operands[4]))
28599 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28600 : STRIP_UNARY (operands[3]))
28601 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28602 : STRIP_UNARY (operands[3])))) &&
28603 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28604 : (TARGET_AVX512F)) &&
28605 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28606 : ( 1)))
28607 : return NULL;
28608 : return gen_split_2300 (insn, operands);
28609 :
28610 : case 10:
28611 : if (!((
28612 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28613 : ((32 == 64 || TARGET_AVX512VL
28614 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28615 : && ix86_pre_reload_split ()
28616 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28617 : STRIP_UNARY (operands[4]))
28618 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28619 : STRIP_UNARY (operands[4]))
28620 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28621 : STRIP_UNARY (operands[3]))
28622 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28623 : STRIP_UNARY (operands[3])))) &&
28624 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28625 : (TARGET_AVX)) &&
28626 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28627 : ( 1)))
28628 : return NULL;
28629 : return gen_split_2327 (insn, operands);
28630 :
28631 : case 11:
28632 : if (!((
28633 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28634 : ((16 == 64 || TARGET_AVX512VL
28635 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28636 : && ix86_pre_reload_split ()
28637 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28638 : STRIP_UNARY (operands[4]))
28639 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28640 : STRIP_UNARY (operands[4]))
28641 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28642 : STRIP_UNARY (operands[3]))
28643 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28644 : STRIP_UNARY (operands[3])))) &&
28645 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28646 : (TARGET_SSE2)) &&
28647 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28648 : ( 1)))
28649 : return NULL;
28650 : return gen_split_2354 (insn, operands);
28651 :
28652 : case 12:
28653 : if (!((
28654 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28655 : ((64 == 64 || TARGET_AVX512VL
28656 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28657 : && ix86_pre_reload_split ()
28658 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28659 : STRIP_UNARY (operands[4]))
28660 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28661 : STRIP_UNARY (operands[4]))
28662 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28663 : STRIP_UNARY (operands[3]))
28664 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28665 : STRIP_UNARY (operands[3])))) &&
28666 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28667 : (TARGET_AVX512F)) &&
28668 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28669 : ( 1)))
28670 : return NULL;
28671 : return gen_split_2060 (insn, operands);
28672 :
28673 : case 13:
28674 : if (!((
28675 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28676 : ((32 == 64 || TARGET_AVX512VL
28677 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28678 : && ix86_pre_reload_split ()
28679 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28680 : STRIP_UNARY (operands[4]))
28681 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28682 : STRIP_UNARY (operands[4]))
28683 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28684 : STRIP_UNARY (operands[3]))
28685 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28686 : STRIP_UNARY (operands[3])))) &&
28687 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28688 : (TARGET_AVX)) &&
28689 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28690 : ( 1)))
28691 : return NULL;
28692 : return gen_split_2087 (insn, operands);
28693 :
28694 : case 14:
28695 : if (!(
28696 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28697 : ((16 == 64 || TARGET_AVX512VL
28698 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28699 : && ix86_pre_reload_split ()
28700 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28701 : STRIP_UNARY (operands[4]))
28702 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28703 : STRIP_UNARY (operands[4]))
28704 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28705 : STRIP_UNARY (operands[3]))
28706 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28707 : STRIP_UNARY (operands[3])))) &&
28708 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28709 : ( 1)))
28710 : return NULL;
28711 : return gen_split_2114 (insn, operands);
28712 :
28713 : case 15:
28714 : if (!((
28715 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28716 : ((64 == 64 || TARGET_AVX512VL
28717 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28718 : && ix86_pre_reload_split ()
28719 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28720 : STRIP_UNARY (operands[4]))
28721 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28722 : STRIP_UNARY (operands[4]))
28723 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28724 : STRIP_UNARY (operands[3]))
28725 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28726 : STRIP_UNARY (operands[3])))) &&
28727 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28728 : (TARGET_AVX512F)) &&
28729 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28730 : ( 1)))
28731 : return NULL;
28732 : return gen_split_2141 (insn, operands);
28733 :
28734 : case 16:
28735 : if (!((
28736 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28737 : ((32 == 64 || TARGET_AVX512VL
28738 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28739 : && ix86_pre_reload_split ()
28740 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28741 : STRIP_UNARY (operands[4]))
28742 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28743 : STRIP_UNARY (operands[4]))
28744 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28745 : STRIP_UNARY (operands[3]))
28746 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28747 : STRIP_UNARY (operands[3])))) &&
28748 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28749 : (TARGET_AVX)) &&
28750 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28751 : ( 1)))
28752 : return NULL;
28753 : return gen_split_2168 (insn, operands);
28754 :
28755 : case 17:
28756 : if (!(
28757 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28758 : ((16 == 64 || TARGET_AVX512VL
28759 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28760 : && ix86_pre_reload_split ()
28761 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28762 : STRIP_UNARY (operands[4]))
28763 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28764 : STRIP_UNARY (operands[4]))
28765 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28766 : STRIP_UNARY (operands[3]))
28767 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28768 : STRIP_UNARY (operands[3])))) &&
28769 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28770 : ( 1)))
28771 : return NULL;
28772 : return gen_split_2195 (insn, operands);
28773 :
28774 : case 18:
28775 : if (!((
28776 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28777 : ((64 == 64 || TARGET_AVX512VL
28778 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28779 : && ix86_pre_reload_split ()
28780 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28781 : STRIP_UNARY (operands[4]))
28782 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28783 : STRIP_UNARY (operands[4]))
28784 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28785 : STRIP_UNARY (operands[3]))
28786 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28787 : STRIP_UNARY (operands[3])))) &&
28788 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28789 : (TARGET_AVX512F)) &&
28790 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28791 : ( 1)))
28792 : return NULL;
28793 : return gen_split_2222 (insn, operands);
28794 :
28795 : case 19:
28796 : if (!((
28797 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28798 : ((32 == 64 || TARGET_AVX512VL
28799 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28800 : && ix86_pre_reload_split ()
28801 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28802 : STRIP_UNARY (operands[4]))
28803 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28804 : STRIP_UNARY (operands[4]))
28805 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28806 : STRIP_UNARY (operands[3]))
28807 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28808 : STRIP_UNARY (operands[3])))) &&
28809 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28810 : (TARGET_AVX)) &&
28811 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28812 : ( 1)))
28813 : return NULL;
28814 : return gen_split_2249 (insn, operands);
28815 :
28816 : case 20:
28817 : if (!(
28818 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28819 : ((16 == 64 || TARGET_AVX512VL
28820 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28821 : && ix86_pre_reload_split ()
28822 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28823 : STRIP_UNARY (operands[4]))
28824 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28825 : STRIP_UNARY (operands[4]))
28826 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28827 : STRIP_UNARY (operands[3]))
28828 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28829 : STRIP_UNARY (operands[3])))) &&
28830 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28831 : ( 1)))
28832 : return NULL;
28833 : return gen_split_2276 (insn, operands);
28834 :
28835 : case 21:
28836 : if (!((
28837 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28838 : ((64 == 64 || TARGET_AVX512VL
28839 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28840 : && ix86_pre_reload_split ()
28841 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28842 : STRIP_UNARY (operands[4]))
28843 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28844 : STRIP_UNARY (operands[4]))
28845 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28846 : STRIP_UNARY (operands[3]))
28847 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28848 : STRIP_UNARY (operands[3])))) &&
28849 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28850 : (TARGET_AVX512F)) &&
28851 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28852 : ( 1)))
28853 : return NULL;
28854 : return gen_split_2303 (insn, operands);
28855 :
28856 : case 22:
28857 : if (!((
28858 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28859 : ((32 == 64 || TARGET_AVX512VL
28860 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28861 : && ix86_pre_reload_split ()
28862 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28863 : STRIP_UNARY (operands[4]))
28864 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28865 : STRIP_UNARY (operands[4]))
28866 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28867 : STRIP_UNARY (operands[3]))
28868 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28869 : STRIP_UNARY (operands[3])))) &&
28870 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28871 : (TARGET_AVX)) &&
28872 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28873 : ( 1)))
28874 : return NULL;
28875 : return gen_split_2330 (insn, operands);
28876 :
28877 : case 23:
28878 : if (!((
28879 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28880 : ((16 == 64 || TARGET_AVX512VL
28881 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28882 : && ix86_pre_reload_split ()
28883 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28884 : STRIP_UNARY (operands[4]))
28885 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28886 : STRIP_UNARY (operands[4]))
28887 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28888 : STRIP_UNARY (operands[3]))
28889 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28890 : STRIP_UNARY (operands[3])))) &&
28891 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28892 : (TARGET_SSE2)) &&
28893 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28894 : ( 1)))
28895 : return NULL;
28896 : return gen_split_2357 (insn, operands);
28897 :
28898 : case 24:
28899 : if (!((
28900 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28901 : ((64 == 64 || TARGET_AVX512VL
28902 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28903 : && ix86_pre_reload_split ()
28904 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28905 : STRIP_UNARY (operands[4]))
28906 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28907 : STRIP_UNARY (operands[4]))
28908 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28909 : STRIP_UNARY (operands[3]))
28910 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28911 : STRIP_UNARY (operands[3])))) &&
28912 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28913 : (TARGET_AVX512F)) &&
28914 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28915 : ( 1)))
28916 : return NULL;
28917 : return gen_split_2063 (insn, operands);
28918 :
28919 : case 25:
28920 : if (!((
28921 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28922 : ((32 == 64 || TARGET_AVX512VL
28923 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28924 : && ix86_pre_reload_split ()
28925 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28926 : STRIP_UNARY (operands[4]))
28927 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28928 : STRIP_UNARY (operands[4]))
28929 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28930 : STRIP_UNARY (operands[3]))
28931 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28932 : STRIP_UNARY (operands[3])))) &&
28933 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28934 : (TARGET_AVX)) &&
28935 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28936 : ( 1)))
28937 : return NULL;
28938 : return gen_split_2090 (insn, operands);
28939 :
28940 : case 26:
28941 : if (!(
28942 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28943 : ((16 == 64 || TARGET_AVX512VL
28944 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28945 : && ix86_pre_reload_split ()
28946 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28947 : STRIP_UNARY (operands[4]))
28948 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28949 : STRIP_UNARY (operands[4]))
28950 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28951 : STRIP_UNARY (operands[3]))
28952 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28953 : STRIP_UNARY (operands[3])))) &&
28954 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28955 : ( 1)))
28956 : return NULL;
28957 : return gen_split_2117 (insn, operands);
28958 :
28959 : case 27:
28960 : if (!((
28961 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28962 : ((64 == 64 || TARGET_AVX512VL
28963 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28964 : && ix86_pre_reload_split ()
28965 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28966 : STRIP_UNARY (operands[4]))
28967 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28968 : STRIP_UNARY (operands[4]))
28969 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28970 : STRIP_UNARY (operands[3]))
28971 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28972 : STRIP_UNARY (operands[3])))) &&
28973 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28974 : (TARGET_AVX512F)) &&
28975 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28976 : ( 1)))
28977 : return NULL;
28978 : return gen_split_2144 (insn, operands);
28979 :
28980 : case 28:
28981 : if (!((
28982 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28983 : ((32 == 64 || TARGET_AVX512VL
28984 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28985 : && ix86_pre_reload_split ()
28986 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28987 : STRIP_UNARY (operands[4]))
28988 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28989 : STRIP_UNARY (operands[4]))
28990 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28991 : STRIP_UNARY (operands[3]))
28992 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28993 : STRIP_UNARY (operands[3])))) &&
28994 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28995 : (TARGET_AVX)) &&
28996 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28997 : ( 1)))
28998 : return NULL;
28999 : return gen_split_2171 (insn, operands);
29000 :
29001 : case 29:
29002 : if (!(
29003 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29004 : ((16 == 64 || TARGET_AVX512VL
29005 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29006 : && ix86_pre_reload_split ()
29007 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29008 : STRIP_UNARY (operands[4]))
29009 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29010 : STRIP_UNARY (operands[4]))
29011 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29012 : STRIP_UNARY (operands[3]))
29013 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29014 : STRIP_UNARY (operands[3])))) &&
29015 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29016 : ( 1)))
29017 : return NULL;
29018 : return gen_split_2198 (insn, operands);
29019 :
29020 : case 30:
29021 : if (!((
29022 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29023 : ((64 == 64 || TARGET_AVX512VL
29024 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29025 : && ix86_pre_reload_split ()
29026 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29027 : STRIP_UNARY (operands[4]))
29028 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29029 : STRIP_UNARY (operands[4]))
29030 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29031 : STRIP_UNARY (operands[3]))
29032 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29033 : STRIP_UNARY (operands[3])))) &&
29034 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29035 : (TARGET_AVX512F)) &&
29036 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29037 : ( 1)))
29038 : return NULL;
29039 : return gen_split_2225 (insn, operands);
29040 :
29041 : case 31:
29042 : if (!((
29043 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29044 : ((32 == 64 || TARGET_AVX512VL
29045 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29046 : && ix86_pre_reload_split ()
29047 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29048 : STRIP_UNARY (operands[4]))
29049 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29050 : STRIP_UNARY (operands[4]))
29051 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29052 : STRIP_UNARY (operands[3]))
29053 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29054 : STRIP_UNARY (operands[3])))) &&
29055 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29056 : (TARGET_AVX)) &&
29057 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29058 : ( 1)))
29059 : return NULL;
29060 : return gen_split_2252 (insn, operands);
29061 :
29062 : case 32:
29063 : if (!(
29064 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29065 : ((16 == 64 || TARGET_AVX512VL
29066 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29067 : && ix86_pre_reload_split ()
29068 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29069 : STRIP_UNARY (operands[4]))
29070 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29071 : STRIP_UNARY (operands[4]))
29072 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29073 : STRIP_UNARY (operands[3]))
29074 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29075 : STRIP_UNARY (operands[3])))) &&
29076 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29077 : ( 1)))
29078 : return NULL;
29079 : return gen_split_2279 (insn, operands);
29080 :
29081 : case 33:
29082 : if (!((
29083 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29084 : ((64 == 64 || TARGET_AVX512VL
29085 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29086 : && ix86_pre_reload_split ()
29087 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29088 : STRIP_UNARY (operands[4]))
29089 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29090 : STRIP_UNARY (operands[4]))
29091 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29092 : STRIP_UNARY (operands[3]))
29093 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29094 : STRIP_UNARY (operands[3])))) &&
29095 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29096 : (TARGET_AVX512F)) &&
29097 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29098 : ( 1)))
29099 : return NULL;
29100 : return gen_split_2306 (insn, operands);
29101 :
29102 : case 34:
29103 : if (!((
29104 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29105 : ((32 == 64 || TARGET_AVX512VL
29106 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29107 : && ix86_pre_reload_split ()
29108 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29109 : STRIP_UNARY (operands[4]))
29110 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29111 : STRIP_UNARY (operands[4]))
29112 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29113 : STRIP_UNARY (operands[3]))
29114 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29115 : STRIP_UNARY (operands[3])))) &&
29116 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29117 : (TARGET_AVX)) &&
29118 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29119 : ( 1)))
29120 : return NULL;
29121 : return gen_split_2333 (insn, operands);
29122 :
29123 : case 35:
29124 : if (!((
29125 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29126 : ((16 == 64 || TARGET_AVX512VL
29127 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29128 : && ix86_pre_reload_split ()
29129 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29130 : STRIP_UNARY (operands[4]))
29131 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29132 : STRIP_UNARY (operands[4]))
29133 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29134 : STRIP_UNARY (operands[3]))
29135 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29136 : STRIP_UNARY (operands[3])))) &&
29137 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29138 : (TARGET_SSE2)) &&
29139 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29140 : ( 1)))
29141 : return NULL;
29142 : return gen_split_2360 (insn, operands);
29143 :
29144 : case 36:
29145 : if (!((
29146 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29147 : ((64 == 64 || TARGET_AVX512VL
29148 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29149 : && ix86_pre_reload_split ()) &&
29150 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29151 : (TARGET_AVX512F)) &&
29152 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29153 : ( 1)))
29154 : return NULL;
29155 : return gen_split_3137 (insn, operands);
29156 :
29157 : case 37:
29158 : if (!((
29159 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29160 : ((32 == 64 || TARGET_AVX512VL
29161 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29162 : && ix86_pre_reload_split ()) &&
29163 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29164 : (TARGET_AVX)) &&
29165 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29166 : ( 1)))
29167 : return NULL;
29168 : return gen_split_3146 (insn, operands);
29169 :
29170 : case 38:
29171 : if (!(
29172 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29173 : ((16 == 64 || TARGET_AVX512VL
29174 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29175 : && ix86_pre_reload_split ()) &&
29176 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29177 : ( 1)))
29178 : return NULL;
29179 : return gen_split_3155 (insn, operands);
29180 :
29181 : case 39:
29182 : if (!((
29183 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29184 : ((64 == 64 || TARGET_AVX512VL
29185 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29186 : && ix86_pre_reload_split ()) &&
29187 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29188 : (TARGET_AVX512F)) &&
29189 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29190 : ( 1)))
29191 : return NULL;
29192 : return gen_split_3164 (insn, operands);
29193 :
29194 : case 40:
29195 : if (!((
29196 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29197 : ((32 == 64 || TARGET_AVX512VL
29198 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29199 : && ix86_pre_reload_split ()) &&
29200 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29201 : (TARGET_AVX)) &&
29202 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29203 : ( 1)))
29204 : return NULL;
29205 : return gen_split_3173 (insn, operands);
29206 :
29207 : case 41:
29208 : if (!(
29209 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29210 : ((16 == 64 || TARGET_AVX512VL
29211 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29212 : && ix86_pre_reload_split ()) &&
29213 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29214 : ( 1)))
29215 : return NULL;
29216 : return gen_split_3182 (insn, operands);
29217 :
29218 : case 42:
29219 : if (!((
29220 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29221 : ((64 == 64 || TARGET_AVX512VL
29222 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29223 : && ix86_pre_reload_split ()) &&
29224 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29225 : (TARGET_AVX512F)) &&
29226 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29227 : ( 1)))
29228 : return NULL;
29229 : return gen_split_3191 (insn, operands);
29230 :
29231 : case 43:
29232 : if (!((
29233 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29234 : ((32 == 64 || TARGET_AVX512VL
29235 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29236 : && ix86_pre_reload_split ()) &&
29237 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29238 : (TARGET_AVX)) &&
29239 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29240 : ( 1)))
29241 : return NULL;
29242 : return gen_split_3200 (insn, operands);
29243 :
29244 : case 44:
29245 : if (!(
29246 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29247 : ((16 == 64 || TARGET_AVX512VL
29248 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29249 : && ix86_pre_reload_split ()) &&
29250 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29251 : ( 1)))
29252 : return NULL;
29253 : return gen_split_3209 (insn, operands);
29254 :
29255 : case 45:
29256 : if (!((
29257 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29258 : ((64 == 64 || TARGET_AVX512VL
29259 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29260 : && ix86_pre_reload_split ()) &&
29261 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29262 : (TARGET_AVX512F)) &&
29263 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29264 : ( 1)))
29265 : return NULL;
29266 : return gen_split_3218 (insn, operands);
29267 :
29268 : case 46:
29269 : if (!((
29270 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29271 : ((32 == 64 || TARGET_AVX512VL
29272 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29273 : && ix86_pre_reload_split ()) &&
29274 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29275 : (TARGET_AVX)) &&
29276 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29277 : ( 1)))
29278 : return NULL;
29279 : return gen_split_3227 (insn, operands);
29280 :
29281 : case 47:
29282 : if (!((
29283 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29284 : ((16 == 64 || TARGET_AVX512VL
29285 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29286 : && ix86_pre_reload_split ()) &&
29287 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29288 : (TARGET_SSE2)) &&
29289 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29290 : ( 1)))
29291 : return NULL;
29292 : return gen_split_3236 (insn, operands);
29293 :
29294 : default:
29295 : return NULL;
29296 : }
29297 :
29298 : case AND:
29299 : switch (pattern544 (x2))
29300 : {
29301 : case 0:
29302 : if (!((
29303 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29304 : ((64 == 64 || TARGET_AVX512VL
29305 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29306 : && ix86_pre_reload_split ()
29307 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29308 : STRIP_UNARY (operands[4]))
29309 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29310 : STRIP_UNARY (operands[4]))
29311 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29312 : STRIP_UNARY (operands[3]))
29313 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29314 : STRIP_UNARY (operands[3])))) &&
29315 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29316 : (TARGET_AVX512F)) &&
29317 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29318 : ( 1)))
29319 : return NULL;
29320 : return gen_split_2705 (insn, operands);
29321 :
29322 : case 1:
29323 : if (!((
29324 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29325 : ((32 == 64 || TARGET_AVX512VL
29326 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29327 : && ix86_pre_reload_split ()
29328 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29329 : STRIP_UNARY (operands[4]))
29330 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29331 : STRIP_UNARY (operands[4]))
29332 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29333 : STRIP_UNARY (operands[3]))
29334 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29335 : STRIP_UNARY (operands[3])))) &&
29336 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29337 : (TARGET_AVX)) &&
29338 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29339 : ( 1)))
29340 : return NULL;
29341 : return gen_split_2732 (insn, operands);
29342 :
29343 : case 2:
29344 : if (!(
29345 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29346 : ((16 == 64 || TARGET_AVX512VL
29347 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29348 : && ix86_pre_reload_split ()
29349 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29350 : STRIP_UNARY (operands[4]))
29351 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29352 : STRIP_UNARY (operands[4]))
29353 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29354 : STRIP_UNARY (operands[3]))
29355 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29356 : STRIP_UNARY (operands[3])))) &&
29357 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29358 : ( 1)))
29359 : return NULL;
29360 : return gen_split_2759 (insn, operands);
29361 :
29362 : case 3:
29363 : if (!((
29364 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29365 : ((64 == 64 || TARGET_AVX512VL
29366 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29367 : && ix86_pre_reload_split ()
29368 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29369 : STRIP_UNARY (operands[4]))
29370 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29371 : STRIP_UNARY (operands[4]))
29372 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29373 : STRIP_UNARY (operands[3]))
29374 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29375 : STRIP_UNARY (operands[3])))) &&
29376 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29377 : (TARGET_AVX512F)) &&
29378 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29379 : ( 1)))
29380 : return NULL;
29381 : return gen_split_2786 (insn, operands);
29382 :
29383 : case 4:
29384 : if (!((
29385 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29386 : ((32 == 64 || TARGET_AVX512VL
29387 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29388 : && ix86_pre_reload_split ()
29389 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29390 : STRIP_UNARY (operands[4]))
29391 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29392 : STRIP_UNARY (operands[4]))
29393 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29394 : STRIP_UNARY (operands[3]))
29395 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29396 : STRIP_UNARY (operands[3])))) &&
29397 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29398 : (TARGET_AVX)) &&
29399 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29400 : ( 1)))
29401 : return NULL;
29402 : return gen_split_2813 (insn, operands);
29403 :
29404 : case 5:
29405 : if (!(
29406 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29407 : ((16 == 64 || TARGET_AVX512VL
29408 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29409 : && ix86_pre_reload_split ()
29410 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29411 : STRIP_UNARY (operands[4]))
29412 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29413 : STRIP_UNARY (operands[4]))
29414 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29415 : STRIP_UNARY (operands[3]))
29416 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29417 : STRIP_UNARY (operands[3])))) &&
29418 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29419 : ( 1)))
29420 : return NULL;
29421 : return gen_split_2840 (insn, operands);
29422 :
29423 : case 6:
29424 : if (!((
29425 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29426 : ((64 == 64 || TARGET_AVX512VL
29427 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29428 : && ix86_pre_reload_split ()
29429 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29430 : STRIP_UNARY (operands[4]))
29431 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29432 : STRIP_UNARY (operands[4]))
29433 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29434 : STRIP_UNARY (operands[3]))
29435 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29436 : STRIP_UNARY (operands[3])))) &&
29437 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29438 : (TARGET_AVX512F)) &&
29439 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29440 : ( 1)))
29441 : return NULL;
29442 : return gen_split_2867 (insn, operands);
29443 :
29444 : case 7:
29445 : if (!((
29446 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29447 : ((32 == 64 || TARGET_AVX512VL
29448 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29449 : && ix86_pre_reload_split ()
29450 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29451 : STRIP_UNARY (operands[4]))
29452 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29453 : STRIP_UNARY (operands[4]))
29454 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29455 : STRIP_UNARY (operands[3]))
29456 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29457 : STRIP_UNARY (operands[3])))) &&
29458 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29459 : (TARGET_AVX)) &&
29460 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29461 : ( 1)))
29462 : return NULL;
29463 : return gen_split_2894 (insn, operands);
29464 :
29465 : case 8:
29466 : if (!(
29467 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29468 : ((16 == 64 || TARGET_AVX512VL
29469 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29470 : && ix86_pre_reload_split ()
29471 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29472 : STRIP_UNARY (operands[4]))
29473 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29474 : STRIP_UNARY (operands[4]))
29475 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29476 : STRIP_UNARY (operands[3]))
29477 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29478 : STRIP_UNARY (operands[3])))) &&
29479 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29480 : ( 1)))
29481 : return NULL;
29482 : return gen_split_2921 (insn, operands);
29483 :
29484 : case 9:
29485 : if (!((
29486 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29487 : ((64 == 64 || TARGET_AVX512VL
29488 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29489 : && ix86_pre_reload_split ()
29490 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29491 : STRIP_UNARY (operands[4]))
29492 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29493 : STRIP_UNARY (operands[4]))
29494 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29495 : STRIP_UNARY (operands[3]))
29496 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29497 : STRIP_UNARY (operands[3])))) &&
29498 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29499 : (TARGET_AVX512F)) &&
29500 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29501 : ( 1)))
29502 : return NULL;
29503 : return gen_split_2948 (insn, operands);
29504 :
29505 : case 10:
29506 : if (!((
29507 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29508 : ((32 == 64 || TARGET_AVX512VL
29509 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29510 : && ix86_pre_reload_split ()
29511 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29512 : STRIP_UNARY (operands[4]))
29513 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29514 : STRIP_UNARY (operands[4]))
29515 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29516 : STRIP_UNARY (operands[3]))
29517 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29518 : STRIP_UNARY (operands[3])))) &&
29519 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29520 : (TARGET_AVX)) &&
29521 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29522 : ( 1)))
29523 : return NULL;
29524 : return gen_split_2975 (insn, operands);
29525 :
29526 : case 11:
29527 : if (!((
29528 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29529 : ((16 == 64 || TARGET_AVX512VL
29530 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29531 : && ix86_pre_reload_split ()
29532 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29533 : STRIP_UNARY (operands[4]))
29534 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29535 : STRIP_UNARY (operands[4]))
29536 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29537 : STRIP_UNARY (operands[3]))
29538 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29539 : STRIP_UNARY (operands[3])))) &&
29540 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29541 : (TARGET_SSE2)) &&
29542 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29543 : ( 1)))
29544 : return NULL;
29545 : return gen_split_3002 (insn, operands);
29546 :
29547 : default:
29548 : return NULL;
29549 : }
29550 :
29551 : case IOR:
29552 : switch (pattern544 (x2))
29553 : {
29554 : case 0:
29555 : if (!((
29556 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29557 : ((64 == 64 || TARGET_AVX512VL
29558 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29559 : && ix86_pre_reload_split ()
29560 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29561 : STRIP_UNARY (operands[4]))
29562 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29563 : STRIP_UNARY (operands[4]))
29564 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29565 : STRIP_UNARY (operands[3]))
29566 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29567 : STRIP_UNARY (operands[3])))) &&
29568 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29569 : (TARGET_AVX512F)) &&
29570 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29571 : ( 1)))
29572 : return NULL;
29573 : return gen_split_2708 (insn, operands);
29574 :
29575 : case 1:
29576 : if (!((
29577 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29578 : ((32 == 64 || TARGET_AVX512VL
29579 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29580 : && ix86_pre_reload_split ()
29581 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29582 : STRIP_UNARY (operands[4]))
29583 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29584 : STRIP_UNARY (operands[4]))
29585 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29586 : STRIP_UNARY (operands[3]))
29587 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29588 : STRIP_UNARY (operands[3])))) &&
29589 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29590 : (TARGET_AVX)) &&
29591 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29592 : ( 1)))
29593 : return NULL;
29594 : return gen_split_2735 (insn, operands);
29595 :
29596 : case 2:
29597 : if (!(
29598 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29599 : ((16 == 64 || TARGET_AVX512VL
29600 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29601 : && ix86_pre_reload_split ()
29602 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29603 : STRIP_UNARY (operands[4]))
29604 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29605 : STRIP_UNARY (operands[4]))
29606 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29607 : STRIP_UNARY (operands[3]))
29608 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29609 : STRIP_UNARY (operands[3])))) &&
29610 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29611 : ( 1)))
29612 : return NULL;
29613 : return gen_split_2762 (insn, operands);
29614 :
29615 : case 3:
29616 : if (!((
29617 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29618 : ((64 == 64 || TARGET_AVX512VL
29619 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29620 : && ix86_pre_reload_split ()
29621 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29622 : STRIP_UNARY (operands[4]))
29623 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29624 : STRIP_UNARY (operands[4]))
29625 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29626 : STRIP_UNARY (operands[3]))
29627 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29628 : STRIP_UNARY (operands[3])))) &&
29629 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29630 : (TARGET_AVX512F)) &&
29631 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29632 : ( 1)))
29633 : return NULL;
29634 : return gen_split_2789 (insn, operands);
29635 :
29636 : case 4:
29637 : if (!((
29638 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29639 : ((32 == 64 || TARGET_AVX512VL
29640 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29641 : && ix86_pre_reload_split ()
29642 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29643 : STRIP_UNARY (operands[4]))
29644 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29645 : STRIP_UNARY (operands[4]))
29646 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29647 : STRIP_UNARY (operands[3]))
29648 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29649 : STRIP_UNARY (operands[3])))) &&
29650 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29651 : (TARGET_AVX)) &&
29652 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29653 : ( 1)))
29654 : return NULL;
29655 : return gen_split_2816 (insn, operands);
29656 :
29657 : case 5:
29658 : if (!(
29659 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29660 : ((16 == 64 || TARGET_AVX512VL
29661 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29662 : && ix86_pre_reload_split ()
29663 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29664 : STRIP_UNARY (operands[4]))
29665 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29666 : STRIP_UNARY (operands[4]))
29667 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29668 : STRIP_UNARY (operands[3]))
29669 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29670 : STRIP_UNARY (operands[3])))) &&
29671 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29672 : ( 1)))
29673 : return NULL;
29674 : return gen_split_2843 (insn, operands);
29675 :
29676 : case 6:
29677 : if (!((
29678 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29679 : ((64 == 64 || TARGET_AVX512VL
29680 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29681 : && ix86_pre_reload_split ()
29682 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29683 : STRIP_UNARY (operands[4]))
29684 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29685 : STRIP_UNARY (operands[4]))
29686 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29687 : STRIP_UNARY (operands[3]))
29688 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29689 : STRIP_UNARY (operands[3])))) &&
29690 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29691 : (TARGET_AVX512F)) &&
29692 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29693 : ( 1)))
29694 : return NULL;
29695 : return gen_split_2870 (insn, operands);
29696 :
29697 : case 7:
29698 : if (!((
29699 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29700 : ((32 == 64 || TARGET_AVX512VL
29701 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29702 : && ix86_pre_reload_split ()
29703 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29704 : STRIP_UNARY (operands[4]))
29705 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29706 : STRIP_UNARY (operands[4]))
29707 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29708 : STRIP_UNARY (operands[3]))
29709 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29710 : STRIP_UNARY (operands[3])))) &&
29711 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29712 : (TARGET_AVX)) &&
29713 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29714 : ( 1)))
29715 : return NULL;
29716 : return gen_split_2897 (insn, operands);
29717 :
29718 : case 8:
29719 : if (!(
29720 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29721 : ((16 == 64 || TARGET_AVX512VL
29722 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29723 : && ix86_pre_reload_split ()
29724 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29725 : STRIP_UNARY (operands[4]))
29726 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29727 : STRIP_UNARY (operands[4]))
29728 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29729 : STRIP_UNARY (operands[3]))
29730 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29731 : STRIP_UNARY (operands[3])))) &&
29732 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29733 : ( 1)))
29734 : return NULL;
29735 : return gen_split_2924 (insn, operands);
29736 :
29737 : case 9:
29738 : if (!((
29739 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29740 : ((64 == 64 || TARGET_AVX512VL
29741 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29742 : && ix86_pre_reload_split ()
29743 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29744 : STRIP_UNARY (operands[4]))
29745 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29746 : STRIP_UNARY (operands[4]))
29747 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29748 : STRIP_UNARY (operands[3]))
29749 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29750 : STRIP_UNARY (operands[3])))) &&
29751 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29752 : (TARGET_AVX512F)) &&
29753 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29754 : ( 1)))
29755 : return NULL;
29756 : return gen_split_2951 (insn, operands);
29757 :
29758 : case 10:
29759 : if (!((
29760 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29761 : ((32 == 64 || TARGET_AVX512VL
29762 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29763 : && ix86_pre_reload_split ()
29764 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29765 : STRIP_UNARY (operands[4]))
29766 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29767 : STRIP_UNARY (operands[4]))
29768 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29769 : STRIP_UNARY (operands[3]))
29770 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29771 : STRIP_UNARY (operands[3])))) &&
29772 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29773 : (TARGET_AVX)) &&
29774 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29775 : ( 1)))
29776 : return NULL;
29777 : return gen_split_2978 (insn, operands);
29778 :
29779 : case 11:
29780 : if (!((
29781 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29782 : ((16 == 64 || TARGET_AVX512VL
29783 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29784 : && ix86_pre_reload_split ()
29785 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29786 : STRIP_UNARY (operands[4]))
29787 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29788 : STRIP_UNARY (operands[4]))
29789 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29790 : STRIP_UNARY (operands[3]))
29791 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29792 : STRIP_UNARY (operands[3])))) &&
29793 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29794 : (TARGET_SSE2)) &&
29795 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29796 : ( 1)))
29797 : return NULL;
29798 : return gen_split_3005 (insn, operands);
29799 :
29800 : default:
29801 : return NULL;
29802 : }
29803 :
29804 : case XOR:
29805 : switch (pattern544 (x2))
29806 : {
29807 : case 0:
29808 : if (!((
29809 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29810 : ((64 == 64 || TARGET_AVX512VL
29811 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29812 : && ix86_pre_reload_split ()
29813 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29814 : STRIP_UNARY (operands[4]))
29815 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29816 : STRIP_UNARY (operands[4]))
29817 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29818 : STRIP_UNARY (operands[3]))
29819 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29820 : STRIP_UNARY (operands[3])))) &&
29821 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29822 : (TARGET_AVX512F)) &&
29823 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29824 : ( 1)))
29825 : return NULL;
29826 : return gen_split_2711 (insn, operands);
29827 :
29828 : case 1:
29829 : if (!((
29830 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29831 : ((32 == 64 || TARGET_AVX512VL
29832 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29833 : && ix86_pre_reload_split ()
29834 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29835 : STRIP_UNARY (operands[4]))
29836 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29837 : STRIP_UNARY (operands[4]))
29838 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29839 : STRIP_UNARY (operands[3]))
29840 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29841 : STRIP_UNARY (operands[3])))) &&
29842 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29843 : (TARGET_AVX)) &&
29844 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29845 : ( 1)))
29846 : return NULL;
29847 : return gen_split_2738 (insn, operands);
29848 :
29849 : case 2:
29850 : if (!(
29851 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29852 : ((16 == 64 || TARGET_AVX512VL
29853 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29854 : && ix86_pre_reload_split ()
29855 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29856 : STRIP_UNARY (operands[4]))
29857 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29858 : STRIP_UNARY (operands[4]))
29859 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29860 : STRIP_UNARY (operands[3]))
29861 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29862 : STRIP_UNARY (operands[3])))) &&
29863 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29864 : ( 1)))
29865 : return NULL;
29866 : return gen_split_2765 (insn, operands);
29867 :
29868 : case 3:
29869 : if (!((
29870 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29871 : ((64 == 64 || TARGET_AVX512VL
29872 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29873 : && ix86_pre_reload_split ()
29874 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29875 : STRIP_UNARY (operands[4]))
29876 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29877 : STRIP_UNARY (operands[4]))
29878 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29879 : STRIP_UNARY (operands[3]))
29880 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29881 : STRIP_UNARY (operands[3])))) &&
29882 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29883 : (TARGET_AVX512F)) &&
29884 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29885 : ( 1)))
29886 : return NULL;
29887 : return gen_split_2792 (insn, operands);
29888 :
29889 : case 4:
29890 : if (!((
29891 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29892 : ((32 == 64 || TARGET_AVX512VL
29893 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29894 : && ix86_pre_reload_split ()
29895 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29896 : STRIP_UNARY (operands[4]))
29897 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29898 : STRIP_UNARY (operands[4]))
29899 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29900 : STRIP_UNARY (operands[3]))
29901 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29902 : STRIP_UNARY (operands[3])))) &&
29903 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29904 : (TARGET_AVX)) &&
29905 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29906 : ( 1)))
29907 : return NULL;
29908 : return gen_split_2819 (insn, operands);
29909 :
29910 : case 5:
29911 : if (!(
29912 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29913 : ((16 == 64 || TARGET_AVX512VL
29914 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29915 : && ix86_pre_reload_split ()
29916 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29917 : STRIP_UNARY (operands[4]))
29918 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29919 : STRIP_UNARY (operands[4]))
29920 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29921 : STRIP_UNARY (operands[3]))
29922 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29923 : STRIP_UNARY (operands[3])))) &&
29924 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29925 : ( 1)))
29926 : return NULL;
29927 : return gen_split_2846 (insn, operands);
29928 :
29929 : case 6:
29930 : if (!((
29931 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29932 : ((64 == 64 || TARGET_AVX512VL
29933 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29934 : && ix86_pre_reload_split ()
29935 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29936 : STRIP_UNARY (operands[4]))
29937 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29938 : STRIP_UNARY (operands[4]))
29939 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29940 : STRIP_UNARY (operands[3]))
29941 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29942 : STRIP_UNARY (operands[3])))) &&
29943 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29944 : (TARGET_AVX512F)) &&
29945 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29946 : ( 1)))
29947 : return NULL;
29948 : return gen_split_2873 (insn, operands);
29949 :
29950 : case 7:
29951 : if (!((
29952 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29953 : ((32 == 64 || TARGET_AVX512VL
29954 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29955 : && ix86_pre_reload_split ()
29956 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29957 : STRIP_UNARY (operands[4]))
29958 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29959 : STRIP_UNARY (operands[4]))
29960 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29961 : STRIP_UNARY (operands[3]))
29962 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29963 : STRIP_UNARY (operands[3])))) &&
29964 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29965 : (TARGET_AVX)) &&
29966 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29967 : ( 1)))
29968 : return NULL;
29969 : return gen_split_2900 (insn, operands);
29970 :
29971 : case 8:
29972 : if (!(
29973 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29974 : ((16 == 64 || TARGET_AVX512VL
29975 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29976 : && ix86_pre_reload_split ()
29977 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29978 : STRIP_UNARY (operands[4]))
29979 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29980 : STRIP_UNARY (operands[4]))
29981 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29982 : STRIP_UNARY (operands[3]))
29983 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29984 : STRIP_UNARY (operands[3])))) &&
29985 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29986 : ( 1)))
29987 : return NULL;
29988 : return gen_split_2927 (insn, operands);
29989 :
29990 : case 9:
29991 : if (!((
29992 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29993 : ((64 == 64 || TARGET_AVX512VL
29994 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29995 : && ix86_pre_reload_split ()
29996 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29997 : STRIP_UNARY (operands[4]))
29998 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29999 : STRIP_UNARY (operands[4]))
30000 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30001 : STRIP_UNARY (operands[3]))
30002 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30003 : STRIP_UNARY (operands[3])))) &&
30004 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30005 : (TARGET_AVX512F)) &&
30006 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30007 : ( 1)))
30008 : return NULL;
30009 : return gen_split_2954 (insn, operands);
30010 :
30011 : case 10:
30012 : if (!((
30013 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30014 : ((32 == 64 || TARGET_AVX512VL
30015 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30016 : && ix86_pre_reload_split ()
30017 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30018 : STRIP_UNARY (operands[4]))
30019 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30020 : STRIP_UNARY (operands[4]))
30021 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30022 : STRIP_UNARY (operands[3]))
30023 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30024 : STRIP_UNARY (operands[3])))) &&
30025 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30026 : (TARGET_AVX)) &&
30027 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30028 : ( 1)))
30029 : return NULL;
30030 : return gen_split_2981 (insn, operands);
30031 :
30032 : case 11:
30033 : if (!((
30034 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30035 : ((16 == 64 || TARGET_AVX512VL
30036 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30037 : && ix86_pre_reload_split ()
30038 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30039 : STRIP_UNARY (operands[4]))
30040 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30041 : STRIP_UNARY (operands[4]))
30042 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30043 : STRIP_UNARY (operands[3]))
30044 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30045 : STRIP_UNARY (operands[3])))) &&
30046 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30047 : (TARGET_SSE2)) &&
30048 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30049 : ( 1)))
30050 : return NULL;
30051 : return gen_split_3008 (insn, operands);
30052 :
30053 : default:
30054 : return NULL;
30055 : }
30056 :
30057 : default:
30058 : return NULL;
30059 : }
30060 :
30061 : case IOR:
30062 : x4 = XEXP (x3, 0);
30063 : switch (GET_CODE (x4))
30064 : {
30065 : case REG:
30066 : case SUBREG:
30067 : case MEM:
30068 : case NOT:
30069 : switch (pattern543 (x2))
30070 : {
30071 : case 0:
30072 : if (!((
30073 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30074 : ((64 == 64 || TARGET_AVX512VL
30075 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30076 : && ix86_pre_reload_split ()
30077 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30078 : STRIP_UNARY (operands[4]))
30079 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30080 : STRIP_UNARY (operands[4]))
30081 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30082 : STRIP_UNARY (operands[3]))
30083 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30084 : STRIP_UNARY (operands[3])))) &&
30085 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30086 : (TARGET_AVX512F)) &&
30087 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30088 : ( 1)))
30089 : return NULL;
30090 : return gen_split_2066 (insn, operands);
30091 :
30092 : case 1:
30093 : if (!((
30094 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30095 : ((32 == 64 || TARGET_AVX512VL
30096 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30097 : && ix86_pre_reload_split ()
30098 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30099 : STRIP_UNARY (operands[4]))
30100 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30101 : STRIP_UNARY (operands[4]))
30102 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30103 : STRIP_UNARY (operands[3]))
30104 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30105 : STRIP_UNARY (operands[3])))) &&
30106 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30107 : (TARGET_AVX)) &&
30108 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30109 : ( 1)))
30110 : return NULL;
30111 : return gen_split_2093 (insn, operands);
30112 :
30113 : case 2:
30114 : if (!(
30115 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30116 : ((16 == 64 || TARGET_AVX512VL
30117 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30118 : && ix86_pre_reload_split ()
30119 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30120 : STRIP_UNARY (operands[4]))
30121 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30122 : STRIP_UNARY (operands[4]))
30123 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30124 : STRIP_UNARY (operands[3]))
30125 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30126 : STRIP_UNARY (operands[3])))) &&
30127 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30128 : ( 1)))
30129 : return NULL;
30130 : return gen_split_2120 (insn, operands);
30131 :
30132 : case 3:
30133 : if (!((
30134 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30135 : ((64 == 64 || TARGET_AVX512VL
30136 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30137 : && ix86_pre_reload_split ()
30138 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30139 : STRIP_UNARY (operands[4]))
30140 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30141 : STRIP_UNARY (operands[4]))
30142 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30143 : STRIP_UNARY (operands[3]))
30144 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30145 : STRIP_UNARY (operands[3])))) &&
30146 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30147 : (TARGET_AVX512F)) &&
30148 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30149 : ( 1)))
30150 : return NULL;
30151 : return gen_split_2147 (insn, operands);
30152 :
30153 : case 4:
30154 : if (!((
30155 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30156 : ((32 == 64 || TARGET_AVX512VL
30157 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30158 : && ix86_pre_reload_split ()
30159 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30160 : STRIP_UNARY (operands[4]))
30161 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30162 : STRIP_UNARY (operands[4]))
30163 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30164 : STRIP_UNARY (operands[3]))
30165 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30166 : STRIP_UNARY (operands[3])))) &&
30167 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30168 : (TARGET_AVX)) &&
30169 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30170 : ( 1)))
30171 : return NULL;
30172 : return gen_split_2174 (insn, operands);
30173 :
30174 : case 5:
30175 : if (!(
30176 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30177 : ((16 == 64 || TARGET_AVX512VL
30178 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30179 : && ix86_pre_reload_split ()
30180 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30181 : STRIP_UNARY (operands[4]))
30182 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30183 : STRIP_UNARY (operands[4]))
30184 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30185 : STRIP_UNARY (operands[3]))
30186 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30187 : STRIP_UNARY (operands[3])))) &&
30188 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30189 : ( 1)))
30190 : return NULL;
30191 : return gen_split_2201 (insn, operands);
30192 :
30193 : case 6:
30194 : if (!((
30195 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30196 : ((64 == 64 || TARGET_AVX512VL
30197 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30198 : && ix86_pre_reload_split ()
30199 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30200 : STRIP_UNARY (operands[4]))
30201 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30202 : STRIP_UNARY (operands[4]))
30203 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30204 : STRIP_UNARY (operands[3]))
30205 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30206 : STRIP_UNARY (operands[3])))) &&
30207 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30208 : (TARGET_AVX512F)) &&
30209 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30210 : ( 1)))
30211 : return NULL;
30212 : return gen_split_2228 (insn, operands);
30213 :
30214 : case 7:
30215 : if (!((
30216 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30217 : ((32 == 64 || TARGET_AVX512VL
30218 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30219 : && ix86_pre_reload_split ()
30220 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30221 : STRIP_UNARY (operands[4]))
30222 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30223 : STRIP_UNARY (operands[4]))
30224 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30225 : STRIP_UNARY (operands[3]))
30226 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30227 : STRIP_UNARY (operands[3])))) &&
30228 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30229 : (TARGET_AVX)) &&
30230 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30231 : ( 1)))
30232 : return NULL;
30233 : return gen_split_2255 (insn, operands);
30234 :
30235 : case 8:
30236 : if (!(
30237 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30238 : ((16 == 64 || TARGET_AVX512VL
30239 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30240 : && ix86_pre_reload_split ()
30241 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30242 : STRIP_UNARY (operands[4]))
30243 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30244 : STRIP_UNARY (operands[4]))
30245 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30246 : STRIP_UNARY (operands[3]))
30247 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30248 : STRIP_UNARY (operands[3])))) &&
30249 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30250 : ( 1)))
30251 : return NULL;
30252 : return gen_split_2282 (insn, operands);
30253 :
30254 : case 9:
30255 : if (!((
30256 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30257 : ((64 == 64 || TARGET_AVX512VL
30258 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30259 : && ix86_pre_reload_split ()
30260 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30261 : STRIP_UNARY (operands[4]))
30262 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30263 : STRIP_UNARY (operands[4]))
30264 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30265 : STRIP_UNARY (operands[3]))
30266 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30267 : STRIP_UNARY (operands[3])))) &&
30268 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30269 : (TARGET_AVX512F)) &&
30270 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30271 : ( 1)))
30272 : return NULL;
30273 : return gen_split_2309 (insn, operands);
30274 :
30275 : case 10:
30276 : if (!((
30277 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30278 : ((32 == 64 || TARGET_AVX512VL
30279 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30280 : && ix86_pre_reload_split ()
30281 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30282 : STRIP_UNARY (operands[4]))
30283 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30284 : STRIP_UNARY (operands[4]))
30285 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30286 : STRIP_UNARY (operands[3]))
30287 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30288 : STRIP_UNARY (operands[3])))) &&
30289 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30290 : (TARGET_AVX)) &&
30291 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30292 : ( 1)))
30293 : return NULL;
30294 : return gen_split_2336 (insn, operands);
30295 :
30296 : case 11:
30297 : if (!((
30298 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30299 : ((16 == 64 || TARGET_AVX512VL
30300 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30301 : && ix86_pre_reload_split ()
30302 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30303 : STRIP_UNARY (operands[4]))
30304 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30305 : STRIP_UNARY (operands[4]))
30306 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30307 : STRIP_UNARY (operands[3]))
30308 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30309 : STRIP_UNARY (operands[3])))) &&
30310 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30311 : (TARGET_SSE2)) &&
30312 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30313 : ( 1)))
30314 : return NULL;
30315 : return gen_split_2363 (insn, operands);
30316 :
30317 : case 12:
30318 : if (!((
30319 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30320 : ((64 == 64 || TARGET_AVX512VL
30321 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30322 : && ix86_pre_reload_split ()
30323 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30324 : STRIP_UNARY (operands[4]))
30325 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30326 : STRIP_UNARY (operands[4]))
30327 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30328 : STRIP_UNARY (operands[3]))
30329 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30330 : STRIP_UNARY (operands[3])))) &&
30331 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30332 : (TARGET_AVX512F)) &&
30333 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30334 : ( 1)))
30335 : return NULL;
30336 : return gen_split_2069 (insn, operands);
30337 :
30338 : case 13:
30339 : if (!((
30340 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30341 : ((32 == 64 || TARGET_AVX512VL
30342 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30343 : && ix86_pre_reload_split ()
30344 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30345 : STRIP_UNARY (operands[4]))
30346 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30347 : STRIP_UNARY (operands[4]))
30348 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30349 : STRIP_UNARY (operands[3]))
30350 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30351 : STRIP_UNARY (operands[3])))) &&
30352 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30353 : (TARGET_AVX)) &&
30354 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30355 : ( 1)))
30356 : return NULL;
30357 : return gen_split_2096 (insn, operands);
30358 :
30359 : case 14:
30360 : if (!(
30361 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30362 : ((16 == 64 || TARGET_AVX512VL
30363 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30364 : && ix86_pre_reload_split ()
30365 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30366 : STRIP_UNARY (operands[4]))
30367 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30368 : STRIP_UNARY (operands[4]))
30369 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30370 : STRIP_UNARY (operands[3]))
30371 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30372 : STRIP_UNARY (operands[3])))) &&
30373 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30374 : ( 1)))
30375 : return NULL;
30376 : return gen_split_2123 (insn, operands);
30377 :
30378 : case 15:
30379 : if (!((
30380 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30381 : ((64 == 64 || TARGET_AVX512VL
30382 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30383 : && ix86_pre_reload_split ()
30384 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30385 : STRIP_UNARY (operands[4]))
30386 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30387 : STRIP_UNARY (operands[4]))
30388 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30389 : STRIP_UNARY (operands[3]))
30390 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30391 : STRIP_UNARY (operands[3])))) &&
30392 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30393 : (TARGET_AVX512F)) &&
30394 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30395 : ( 1)))
30396 : return NULL;
30397 : return gen_split_2150 (insn, operands);
30398 :
30399 : case 16:
30400 : if (!((
30401 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30402 : ((32 == 64 || TARGET_AVX512VL
30403 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30404 : && ix86_pre_reload_split ()
30405 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30406 : STRIP_UNARY (operands[4]))
30407 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30408 : STRIP_UNARY (operands[4]))
30409 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30410 : STRIP_UNARY (operands[3]))
30411 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30412 : STRIP_UNARY (operands[3])))) &&
30413 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30414 : (TARGET_AVX)) &&
30415 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30416 : ( 1)))
30417 : return NULL;
30418 : return gen_split_2177 (insn, operands);
30419 :
30420 : case 17:
30421 : if (!(
30422 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30423 : ((16 == 64 || TARGET_AVX512VL
30424 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30425 : && ix86_pre_reload_split ()
30426 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30427 : STRIP_UNARY (operands[4]))
30428 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30429 : STRIP_UNARY (operands[4]))
30430 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30431 : STRIP_UNARY (operands[3]))
30432 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30433 : STRIP_UNARY (operands[3])))) &&
30434 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30435 : ( 1)))
30436 : return NULL;
30437 : return gen_split_2204 (insn, operands);
30438 :
30439 : case 18:
30440 : if (!((
30441 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30442 : ((64 == 64 || TARGET_AVX512VL
30443 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30444 : && ix86_pre_reload_split ()
30445 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30446 : STRIP_UNARY (operands[4]))
30447 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30448 : STRIP_UNARY (operands[4]))
30449 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30450 : STRIP_UNARY (operands[3]))
30451 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30452 : STRIP_UNARY (operands[3])))) &&
30453 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30454 : (TARGET_AVX512F)) &&
30455 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30456 : ( 1)))
30457 : return NULL;
30458 : return gen_split_2231 (insn, operands);
30459 :
30460 : case 19:
30461 : if (!((
30462 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30463 : ((32 == 64 || TARGET_AVX512VL
30464 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30465 : && ix86_pre_reload_split ()
30466 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30467 : STRIP_UNARY (operands[4]))
30468 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30469 : STRIP_UNARY (operands[4]))
30470 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30471 : STRIP_UNARY (operands[3]))
30472 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30473 : STRIP_UNARY (operands[3])))) &&
30474 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30475 : (TARGET_AVX)) &&
30476 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30477 : ( 1)))
30478 : return NULL;
30479 : return gen_split_2258 (insn, operands);
30480 :
30481 : case 20:
30482 : if (!(
30483 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30484 : ((16 == 64 || TARGET_AVX512VL
30485 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30486 : && ix86_pre_reload_split ()
30487 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30488 : STRIP_UNARY (operands[4]))
30489 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30490 : STRIP_UNARY (operands[4]))
30491 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30492 : STRIP_UNARY (operands[3]))
30493 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30494 : STRIP_UNARY (operands[3])))) &&
30495 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30496 : ( 1)))
30497 : return NULL;
30498 : return gen_split_2285 (insn, operands);
30499 :
30500 : case 21:
30501 : if (!((
30502 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30503 : ((64 == 64 || TARGET_AVX512VL
30504 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30505 : && ix86_pre_reload_split ()
30506 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30507 : STRIP_UNARY (operands[4]))
30508 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30509 : STRIP_UNARY (operands[4]))
30510 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30511 : STRIP_UNARY (operands[3]))
30512 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30513 : STRIP_UNARY (operands[3])))) &&
30514 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30515 : (TARGET_AVX512F)) &&
30516 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30517 : ( 1)))
30518 : return NULL;
30519 : return gen_split_2312 (insn, operands);
30520 :
30521 : case 22:
30522 : if (!((
30523 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30524 : ((32 == 64 || TARGET_AVX512VL
30525 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30526 : && ix86_pre_reload_split ()
30527 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30528 : STRIP_UNARY (operands[4]))
30529 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30530 : STRIP_UNARY (operands[4]))
30531 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30532 : STRIP_UNARY (operands[3]))
30533 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30534 : STRIP_UNARY (operands[3])))) &&
30535 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30536 : (TARGET_AVX)) &&
30537 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30538 : ( 1)))
30539 : return NULL;
30540 : return gen_split_2339 (insn, operands);
30541 :
30542 : case 23:
30543 : if (!((
30544 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30545 : ((16 == 64 || TARGET_AVX512VL
30546 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30547 : && ix86_pre_reload_split ()
30548 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30549 : STRIP_UNARY (operands[4]))
30550 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30551 : STRIP_UNARY (operands[4]))
30552 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30553 : STRIP_UNARY (operands[3]))
30554 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30555 : STRIP_UNARY (operands[3])))) &&
30556 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30557 : (TARGET_SSE2)) &&
30558 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30559 : ( 1)))
30560 : return NULL;
30561 : return gen_split_2366 (insn, operands);
30562 :
30563 : case 24:
30564 : if (!((
30565 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30566 : ((64 == 64 || TARGET_AVX512VL
30567 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30568 : && ix86_pre_reload_split ()
30569 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30570 : STRIP_UNARY (operands[4]))
30571 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30572 : STRIP_UNARY (operands[4]))
30573 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30574 : STRIP_UNARY (operands[3]))
30575 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30576 : STRIP_UNARY (operands[3])))) &&
30577 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30578 : (TARGET_AVX512F)) &&
30579 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30580 : ( 1)))
30581 : return NULL;
30582 : return gen_split_2072 (insn, operands);
30583 :
30584 : case 25:
30585 : if (!((
30586 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30587 : ((32 == 64 || TARGET_AVX512VL
30588 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30589 : && ix86_pre_reload_split ()
30590 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30591 : STRIP_UNARY (operands[4]))
30592 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30593 : STRIP_UNARY (operands[4]))
30594 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30595 : STRIP_UNARY (operands[3]))
30596 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30597 : STRIP_UNARY (operands[3])))) &&
30598 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30599 : (TARGET_AVX)) &&
30600 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30601 : ( 1)))
30602 : return NULL;
30603 : return gen_split_2099 (insn, operands);
30604 :
30605 : case 26:
30606 : if (!(
30607 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30608 : ((16 == 64 || TARGET_AVX512VL
30609 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30610 : && ix86_pre_reload_split ()
30611 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30612 : STRIP_UNARY (operands[4]))
30613 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30614 : STRIP_UNARY (operands[4]))
30615 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30616 : STRIP_UNARY (operands[3]))
30617 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30618 : STRIP_UNARY (operands[3])))) &&
30619 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30620 : ( 1)))
30621 : return NULL;
30622 : return gen_split_2126 (insn, operands);
30623 :
30624 : case 27:
30625 : if (!((
30626 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30627 : ((64 == 64 || TARGET_AVX512VL
30628 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30629 : && ix86_pre_reload_split ()
30630 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30631 : STRIP_UNARY (operands[4]))
30632 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30633 : STRIP_UNARY (operands[4]))
30634 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30635 : STRIP_UNARY (operands[3]))
30636 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30637 : STRIP_UNARY (operands[3])))) &&
30638 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30639 : (TARGET_AVX512F)) &&
30640 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30641 : ( 1)))
30642 : return NULL;
30643 : return gen_split_2153 (insn, operands);
30644 :
30645 : case 28:
30646 : if (!((
30647 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30648 : ((32 == 64 || TARGET_AVX512VL
30649 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30650 : && ix86_pre_reload_split ()
30651 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30652 : STRIP_UNARY (operands[4]))
30653 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30654 : STRIP_UNARY (operands[4]))
30655 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30656 : STRIP_UNARY (operands[3]))
30657 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30658 : STRIP_UNARY (operands[3])))) &&
30659 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30660 : (TARGET_AVX)) &&
30661 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30662 : ( 1)))
30663 : return NULL;
30664 : return gen_split_2180 (insn, operands);
30665 :
30666 : case 29:
30667 : if (!(
30668 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30669 : ((16 == 64 || TARGET_AVX512VL
30670 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30671 : && ix86_pre_reload_split ()
30672 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30673 : STRIP_UNARY (operands[4]))
30674 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30675 : STRIP_UNARY (operands[4]))
30676 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30677 : STRIP_UNARY (operands[3]))
30678 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30679 : STRIP_UNARY (operands[3])))) &&
30680 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30681 : ( 1)))
30682 : return NULL;
30683 : return gen_split_2207 (insn, operands);
30684 :
30685 : case 30:
30686 : if (!((
30687 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30688 : ((64 == 64 || TARGET_AVX512VL
30689 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30690 : && ix86_pre_reload_split ()
30691 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30692 : STRIP_UNARY (operands[4]))
30693 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30694 : STRIP_UNARY (operands[4]))
30695 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30696 : STRIP_UNARY (operands[3]))
30697 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30698 : STRIP_UNARY (operands[3])))) &&
30699 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30700 : (TARGET_AVX512F)) &&
30701 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30702 : ( 1)))
30703 : return NULL;
30704 : return gen_split_2234 (insn, operands);
30705 :
30706 : case 31:
30707 : if (!((
30708 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30709 : ((32 == 64 || TARGET_AVX512VL
30710 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30711 : && ix86_pre_reload_split ()
30712 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30713 : STRIP_UNARY (operands[4]))
30714 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30715 : STRIP_UNARY (operands[4]))
30716 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30717 : STRIP_UNARY (operands[3]))
30718 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30719 : STRIP_UNARY (operands[3])))) &&
30720 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30721 : (TARGET_AVX)) &&
30722 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30723 : ( 1)))
30724 : return NULL;
30725 : return gen_split_2261 (insn, operands);
30726 :
30727 : case 32:
30728 : if (!(
30729 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30730 : ((16 == 64 || TARGET_AVX512VL
30731 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30732 : && ix86_pre_reload_split ()
30733 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30734 : STRIP_UNARY (operands[4]))
30735 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30736 : STRIP_UNARY (operands[4]))
30737 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30738 : STRIP_UNARY (operands[3]))
30739 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30740 : STRIP_UNARY (operands[3])))) &&
30741 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30742 : ( 1)))
30743 : return NULL;
30744 : return gen_split_2288 (insn, operands);
30745 :
30746 : case 33:
30747 : if (!((
30748 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30749 : ((64 == 64 || TARGET_AVX512VL
30750 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30751 : && ix86_pre_reload_split ()
30752 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30753 : STRIP_UNARY (operands[4]))
30754 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30755 : STRIP_UNARY (operands[4]))
30756 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30757 : STRIP_UNARY (operands[3]))
30758 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30759 : STRIP_UNARY (operands[3])))) &&
30760 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30761 : (TARGET_AVX512F)) &&
30762 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30763 : ( 1)))
30764 : return NULL;
30765 : return gen_split_2315 (insn, operands);
30766 :
30767 : case 34:
30768 : if (!((
30769 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30770 : ((32 == 64 || TARGET_AVX512VL
30771 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30772 : && ix86_pre_reload_split ()
30773 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30774 : STRIP_UNARY (operands[4]))
30775 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30776 : STRIP_UNARY (operands[4]))
30777 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30778 : STRIP_UNARY (operands[3]))
30779 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30780 : STRIP_UNARY (operands[3])))) &&
30781 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30782 : (TARGET_AVX)) &&
30783 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30784 : ( 1)))
30785 : return NULL;
30786 : return gen_split_2342 (insn, operands);
30787 :
30788 : case 35:
30789 : if (!((
30790 : #line 14161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30791 : ((16 == 64 || TARGET_AVX512VL
30792 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30793 : && ix86_pre_reload_split ()
30794 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30795 : STRIP_UNARY (operands[4]))
30796 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30797 : STRIP_UNARY (operands[4]))
30798 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30799 : STRIP_UNARY (operands[3]))
30800 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30801 : STRIP_UNARY (operands[3])))) &&
30802 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30803 : (TARGET_SSE2)) &&
30804 : #line 14173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30805 : ( 1)))
30806 : return NULL;
30807 : return gen_split_2369 (insn, operands);
30808 :
30809 : case 36:
30810 : if (!((
30811 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30812 : ((64 == 64 || TARGET_AVX512VL
30813 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30814 : && ix86_pre_reload_split ()) &&
30815 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30816 : (TARGET_AVX512F)) &&
30817 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30818 : ( 1)))
30819 : return NULL;
30820 : return gen_split_3140 (insn, operands);
30821 :
30822 : case 37:
30823 : if (!((
30824 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30825 : ((32 == 64 || TARGET_AVX512VL
30826 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30827 : && ix86_pre_reload_split ()) &&
30828 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30829 : (TARGET_AVX)) &&
30830 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30831 : ( 1)))
30832 : return NULL;
30833 : return gen_split_3149 (insn, operands);
30834 :
30835 : case 38:
30836 : if (!(
30837 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30838 : ((16 == 64 || TARGET_AVX512VL
30839 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30840 : && ix86_pre_reload_split ()) &&
30841 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30842 : ( 1)))
30843 : return NULL;
30844 : return gen_split_3158 (insn, operands);
30845 :
30846 : case 39:
30847 : if (!((
30848 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30849 : ((64 == 64 || TARGET_AVX512VL
30850 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30851 : && ix86_pre_reload_split ()) &&
30852 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30853 : (TARGET_AVX512F)) &&
30854 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30855 : ( 1)))
30856 : return NULL;
30857 : return gen_split_3167 (insn, operands);
30858 :
30859 : case 40:
30860 : if (!((
30861 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30862 : ((32 == 64 || TARGET_AVX512VL
30863 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30864 : && ix86_pre_reload_split ()) &&
30865 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30866 : (TARGET_AVX)) &&
30867 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30868 : ( 1)))
30869 : return NULL;
30870 : return gen_split_3176 (insn, operands);
30871 :
30872 : case 41:
30873 : if (!(
30874 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30875 : ((16 == 64 || TARGET_AVX512VL
30876 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30877 : && ix86_pre_reload_split ()) &&
30878 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30879 : ( 1)))
30880 : return NULL;
30881 : return gen_split_3185 (insn, operands);
30882 :
30883 : case 42:
30884 : if (!((
30885 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30886 : ((64 == 64 || TARGET_AVX512VL
30887 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30888 : && ix86_pre_reload_split ()) &&
30889 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30890 : (TARGET_AVX512F)) &&
30891 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30892 : ( 1)))
30893 : return NULL;
30894 : return gen_split_3194 (insn, operands);
30895 :
30896 : case 43:
30897 : if (!((
30898 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30899 : ((32 == 64 || TARGET_AVX512VL
30900 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30901 : && ix86_pre_reload_split ()) &&
30902 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30903 : (TARGET_AVX)) &&
30904 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30905 : ( 1)))
30906 : return NULL;
30907 : return gen_split_3203 (insn, operands);
30908 :
30909 : case 44:
30910 : if (!(
30911 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30912 : ((16 == 64 || TARGET_AVX512VL
30913 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30914 : && ix86_pre_reload_split ()) &&
30915 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30916 : ( 1)))
30917 : return NULL;
30918 : return gen_split_3212 (insn, operands);
30919 :
30920 : case 45:
30921 : if (!((
30922 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30923 : ((64 == 64 || TARGET_AVX512VL
30924 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30925 : && ix86_pre_reload_split ()) &&
30926 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30927 : (TARGET_AVX512F)) &&
30928 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30929 : ( 1)))
30930 : return NULL;
30931 : return gen_split_3221 (insn, operands);
30932 :
30933 : case 46:
30934 : if (!((
30935 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30936 : ((32 == 64 || TARGET_AVX512VL
30937 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30938 : && ix86_pre_reload_split ()) &&
30939 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30940 : (TARGET_AVX)) &&
30941 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30942 : ( 1)))
30943 : return NULL;
30944 : return gen_split_3230 (insn, operands);
30945 :
30946 : case 47:
30947 : if (!((
30948 : #line 14330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30949 : ((16 == 64 || TARGET_AVX512VL
30950 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30951 : && ix86_pre_reload_split ()) &&
30952 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30953 : (TARGET_SSE2)) &&
30954 : #line 14334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30955 : ( 1)))
30956 : return NULL;
30957 : return gen_split_3239 (insn, operands);
30958 :
30959 : default:
30960 : return NULL;
30961 : }
30962 :
30963 : case AND:
30964 : switch (pattern544 (x2))
30965 : {
30966 : case 0:
30967 : if (!((
30968 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30969 : ((64 == 64 || TARGET_AVX512VL
30970 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30971 : && ix86_pre_reload_split ()
30972 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30973 : STRIP_UNARY (operands[4]))
30974 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30975 : STRIP_UNARY (operands[4]))
30976 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30977 : STRIP_UNARY (operands[3]))
30978 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30979 : STRIP_UNARY (operands[3])))) &&
30980 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30981 : (TARGET_AVX512F)) &&
30982 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30983 : ( 1)))
30984 : return NULL;
30985 : return gen_split_2714 (insn, operands);
30986 :
30987 : case 1:
30988 : if (!((
30989 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30990 : ((32 == 64 || TARGET_AVX512VL
30991 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30992 : && ix86_pre_reload_split ()
30993 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30994 : STRIP_UNARY (operands[4]))
30995 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30996 : STRIP_UNARY (operands[4]))
30997 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30998 : STRIP_UNARY (operands[3]))
30999 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31000 : STRIP_UNARY (operands[3])))) &&
31001 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31002 : (TARGET_AVX)) &&
31003 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31004 : ( 1)))
31005 : return NULL;
31006 : return gen_split_2741 (insn, operands);
31007 :
31008 : case 2:
31009 : if (!(
31010 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31011 : ((16 == 64 || TARGET_AVX512VL
31012 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31013 : && ix86_pre_reload_split ()
31014 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31015 : STRIP_UNARY (operands[4]))
31016 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31017 : STRIP_UNARY (operands[4]))
31018 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31019 : STRIP_UNARY (operands[3]))
31020 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31021 : STRIP_UNARY (operands[3])))) &&
31022 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31023 : ( 1)))
31024 : return NULL;
31025 : return gen_split_2768 (insn, operands);
31026 :
31027 : case 3:
31028 : if (!((
31029 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31030 : ((64 == 64 || TARGET_AVX512VL
31031 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31032 : && ix86_pre_reload_split ()
31033 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31034 : STRIP_UNARY (operands[4]))
31035 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31036 : STRIP_UNARY (operands[4]))
31037 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31038 : STRIP_UNARY (operands[3]))
31039 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31040 : STRIP_UNARY (operands[3])))) &&
31041 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31042 : (TARGET_AVX512F)) &&
31043 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31044 : ( 1)))
31045 : return NULL;
31046 : return gen_split_2795 (insn, operands);
31047 :
31048 : case 4:
31049 : if (!((
31050 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31051 : ((32 == 64 || TARGET_AVX512VL
31052 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31053 : && ix86_pre_reload_split ()
31054 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31055 : STRIP_UNARY (operands[4]))
31056 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31057 : STRIP_UNARY (operands[4]))
31058 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31059 : STRIP_UNARY (operands[3]))
31060 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31061 : STRIP_UNARY (operands[3])))) &&
31062 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31063 : (TARGET_AVX)) &&
31064 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31065 : ( 1)))
31066 : return NULL;
31067 : return gen_split_2822 (insn, operands);
31068 :
31069 : case 5:
31070 : if (!(
31071 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31072 : ((16 == 64 || TARGET_AVX512VL
31073 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31074 : && ix86_pre_reload_split ()
31075 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31076 : STRIP_UNARY (operands[4]))
31077 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31078 : STRIP_UNARY (operands[4]))
31079 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31080 : STRIP_UNARY (operands[3]))
31081 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31082 : STRIP_UNARY (operands[3])))) &&
31083 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31084 : ( 1)))
31085 : return NULL;
31086 : return gen_split_2849 (insn, operands);
31087 :
31088 : case 6:
31089 : if (!((
31090 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31091 : ((64 == 64 || TARGET_AVX512VL
31092 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31093 : && ix86_pre_reload_split ()
31094 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31095 : STRIP_UNARY (operands[4]))
31096 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31097 : STRIP_UNARY (operands[4]))
31098 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31099 : STRIP_UNARY (operands[3]))
31100 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31101 : STRIP_UNARY (operands[3])))) &&
31102 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31103 : (TARGET_AVX512F)) &&
31104 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31105 : ( 1)))
31106 : return NULL;
31107 : return gen_split_2876 (insn, operands);
31108 :
31109 : case 7:
31110 : if (!((
31111 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31112 : ((32 == 64 || TARGET_AVX512VL
31113 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31114 : && ix86_pre_reload_split ()
31115 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31116 : STRIP_UNARY (operands[4]))
31117 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31118 : STRIP_UNARY (operands[4]))
31119 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31120 : STRIP_UNARY (operands[3]))
31121 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31122 : STRIP_UNARY (operands[3])))) &&
31123 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31124 : (TARGET_AVX)) &&
31125 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31126 : ( 1)))
31127 : return NULL;
31128 : return gen_split_2903 (insn, operands);
31129 :
31130 : case 8:
31131 : if (!(
31132 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31133 : ((16 == 64 || TARGET_AVX512VL
31134 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31135 : && ix86_pre_reload_split ()
31136 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31137 : STRIP_UNARY (operands[4]))
31138 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31139 : STRIP_UNARY (operands[4]))
31140 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31141 : STRIP_UNARY (operands[3]))
31142 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31143 : STRIP_UNARY (operands[3])))) &&
31144 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31145 : ( 1)))
31146 : return NULL;
31147 : return gen_split_2930 (insn, operands);
31148 :
31149 : case 9:
31150 : if (!((
31151 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31152 : ((64 == 64 || TARGET_AVX512VL
31153 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31154 : && ix86_pre_reload_split ()
31155 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31156 : STRIP_UNARY (operands[4]))
31157 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31158 : STRIP_UNARY (operands[4]))
31159 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31160 : STRIP_UNARY (operands[3]))
31161 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31162 : STRIP_UNARY (operands[3])))) &&
31163 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31164 : (TARGET_AVX512F)) &&
31165 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31166 : ( 1)))
31167 : return NULL;
31168 : return gen_split_2957 (insn, operands);
31169 :
31170 : case 10:
31171 : if (!((
31172 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31173 : ((32 == 64 || TARGET_AVX512VL
31174 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31175 : && ix86_pre_reload_split ()
31176 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31177 : STRIP_UNARY (operands[4]))
31178 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31179 : STRIP_UNARY (operands[4]))
31180 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31181 : STRIP_UNARY (operands[3]))
31182 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31183 : STRIP_UNARY (operands[3])))) &&
31184 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31185 : (TARGET_AVX)) &&
31186 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31187 : ( 1)))
31188 : return NULL;
31189 : return gen_split_2984 (insn, operands);
31190 :
31191 : case 11:
31192 : if (!((
31193 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31194 : ((16 == 64 || TARGET_AVX512VL
31195 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31196 : && ix86_pre_reload_split ()
31197 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31198 : STRIP_UNARY (operands[4]))
31199 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31200 : STRIP_UNARY (operands[4]))
31201 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31202 : STRIP_UNARY (operands[3]))
31203 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31204 : STRIP_UNARY (operands[3])))) &&
31205 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31206 : (TARGET_SSE2)) &&
31207 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31208 : ( 1)))
31209 : return NULL;
31210 : return gen_split_3011 (insn, operands);
31211 :
31212 : default:
31213 : return NULL;
31214 : }
31215 :
31216 : case IOR:
31217 : switch (pattern544 (x2))
31218 : {
31219 : case 0:
31220 : if (!((
31221 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31222 : ((64 == 64 || TARGET_AVX512VL
31223 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31224 : && ix86_pre_reload_split ()
31225 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31226 : STRIP_UNARY (operands[4]))
31227 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31228 : STRIP_UNARY (operands[4]))
31229 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31230 : STRIP_UNARY (operands[3]))
31231 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31232 : STRIP_UNARY (operands[3])))) &&
31233 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31234 : (TARGET_AVX512F)) &&
31235 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31236 : ( 1)))
31237 : return NULL;
31238 : return gen_split_2717 (insn, operands);
31239 :
31240 : case 1:
31241 : if (!((
31242 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31243 : ((32 == 64 || TARGET_AVX512VL
31244 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31245 : && ix86_pre_reload_split ()
31246 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31247 : STRIP_UNARY (operands[4]))
31248 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31249 : STRIP_UNARY (operands[4]))
31250 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31251 : STRIP_UNARY (operands[3]))
31252 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31253 : STRIP_UNARY (operands[3])))) &&
31254 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31255 : (TARGET_AVX)) &&
31256 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31257 : ( 1)))
31258 : return NULL;
31259 : return gen_split_2744 (insn, operands);
31260 :
31261 : case 2:
31262 : if (!(
31263 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31264 : ((16 == 64 || TARGET_AVX512VL
31265 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31266 : && ix86_pre_reload_split ()
31267 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31268 : STRIP_UNARY (operands[4]))
31269 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31270 : STRIP_UNARY (operands[4]))
31271 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31272 : STRIP_UNARY (operands[3]))
31273 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31274 : STRIP_UNARY (operands[3])))) &&
31275 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31276 : ( 1)))
31277 : return NULL;
31278 : return gen_split_2771 (insn, operands);
31279 :
31280 : case 3:
31281 : if (!((
31282 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31283 : ((64 == 64 || TARGET_AVX512VL
31284 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31285 : && ix86_pre_reload_split ()
31286 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31287 : STRIP_UNARY (operands[4]))
31288 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31289 : STRIP_UNARY (operands[4]))
31290 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31291 : STRIP_UNARY (operands[3]))
31292 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31293 : STRIP_UNARY (operands[3])))) &&
31294 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31295 : (TARGET_AVX512F)) &&
31296 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31297 : ( 1)))
31298 : return NULL;
31299 : return gen_split_2798 (insn, operands);
31300 :
31301 : case 4:
31302 : if (!((
31303 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31304 : ((32 == 64 || TARGET_AVX512VL
31305 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31306 : && ix86_pre_reload_split ()
31307 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31308 : STRIP_UNARY (operands[4]))
31309 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31310 : STRIP_UNARY (operands[4]))
31311 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31312 : STRIP_UNARY (operands[3]))
31313 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31314 : STRIP_UNARY (operands[3])))) &&
31315 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31316 : (TARGET_AVX)) &&
31317 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31318 : ( 1)))
31319 : return NULL;
31320 : return gen_split_2825 (insn, operands);
31321 :
31322 : case 5:
31323 : if (!(
31324 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31325 : ((16 == 64 || TARGET_AVX512VL
31326 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31327 : && ix86_pre_reload_split ()
31328 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31329 : STRIP_UNARY (operands[4]))
31330 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31331 : STRIP_UNARY (operands[4]))
31332 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31333 : STRIP_UNARY (operands[3]))
31334 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31335 : STRIP_UNARY (operands[3])))) &&
31336 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31337 : ( 1)))
31338 : return NULL;
31339 : return gen_split_2852 (insn, operands);
31340 :
31341 : case 6:
31342 : if (!((
31343 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31344 : ((64 == 64 || TARGET_AVX512VL
31345 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31346 : && ix86_pre_reload_split ()
31347 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31348 : STRIP_UNARY (operands[4]))
31349 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31350 : STRIP_UNARY (operands[4]))
31351 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31352 : STRIP_UNARY (operands[3]))
31353 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31354 : STRIP_UNARY (operands[3])))) &&
31355 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31356 : (TARGET_AVX512F)) &&
31357 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31358 : ( 1)))
31359 : return NULL;
31360 : return gen_split_2879 (insn, operands);
31361 :
31362 : case 7:
31363 : if (!((
31364 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31365 : ((32 == 64 || TARGET_AVX512VL
31366 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31367 : && ix86_pre_reload_split ()
31368 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31369 : STRIP_UNARY (operands[4]))
31370 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31371 : STRIP_UNARY (operands[4]))
31372 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31373 : STRIP_UNARY (operands[3]))
31374 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31375 : STRIP_UNARY (operands[3])))) &&
31376 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31377 : (TARGET_AVX)) &&
31378 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31379 : ( 1)))
31380 : return NULL;
31381 : return gen_split_2906 (insn, operands);
31382 :
31383 : case 8:
31384 : if (!(
31385 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31386 : ((16 == 64 || TARGET_AVX512VL
31387 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31388 : && ix86_pre_reload_split ()
31389 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31390 : STRIP_UNARY (operands[4]))
31391 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31392 : STRIP_UNARY (operands[4]))
31393 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31394 : STRIP_UNARY (operands[3]))
31395 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31396 : STRIP_UNARY (operands[3])))) &&
31397 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31398 : ( 1)))
31399 : return NULL;
31400 : return gen_split_2933 (insn, operands);
31401 :
31402 : case 9:
31403 : if (!((
31404 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31405 : ((64 == 64 || TARGET_AVX512VL
31406 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31407 : && ix86_pre_reload_split ()
31408 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31409 : STRIP_UNARY (operands[4]))
31410 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31411 : STRIP_UNARY (operands[4]))
31412 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31413 : STRIP_UNARY (operands[3]))
31414 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31415 : STRIP_UNARY (operands[3])))) &&
31416 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31417 : (TARGET_AVX512F)) &&
31418 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31419 : ( 1)))
31420 : return NULL;
31421 : return gen_split_2960 (insn, operands);
31422 :
31423 : case 10:
31424 : if (!((
31425 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31426 : ((32 == 64 || TARGET_AVX512VL
31427 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31428 : && ix86_pre_reload_split ()
31429 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31430 : STRIP_UNARY (operands[4]))
31431 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31432 : STRIP_UNARY (operands[4]))
31433 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31434 : STRIP_UNARY (operands[3]))
31435 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31436 : STRIP_UNARY (operands[3])))) &&
31437 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31438 : (TARGET_AVX)) &&
31439 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31440 : ( 1)))
31441 : return NULL;
31442 : return gen_split_2987 (insn, operands);
31443 :
31444 : case 11:
31445 : if (!((
31446 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31447 : ((16 == 64 || TARGET_AVX512VL
31448 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31449 : && ix86_pre_reload_split ()
31450 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31451 : STRIP_UNARY (operands[4]))
31452 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31453 : STRIP_UNARY (operands[4]))
31454 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31455 : STRIP_UNARY (operands[3]))
31456 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31457 : STRIP_UNARY (operands[3])))) &&
31458 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31459 : (TARGET_SSE2)) &&
31460 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31461 : ( 1)))
31462 : return NULL;
31463 : return gen_split_3014 (insn, operands);
31464 :
31465 : default:
31466 : return NULL;
31467 : }
31468 :
31469 : case XOR:
31470 : switch (pattern544 (x2))
31471 : {
31472 : case 0:
31473 : if (!((
31474 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31475 : ((64 == 64 || TARGET_AVX512VL
31476 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31477 : && ix86_pre_reload_split ()
31478 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31479 : STRIP_UNARY (operands[4]))
31480 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31481 : STRIP_UNARY (operands[4]))
31482 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31483 : STRIP_UNARY (operands[3]))
31484 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31485 : STRIP_UNARY (operands[3])))) &&
31486 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31487 : (TARGET_AVX512F)) &&
31488 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31489 : ( 1)))
31490 : return NULL;
31491 : return gen_split_2720 (insn, operands);
31492 :
31493 : case 1:
31494 : if (!((
31495 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31496 : ((32 == 64 || TARGET_AVX512VL
31497 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31498 : && ix86_pre_reload_split ()
31499 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31500 : STRIP_UNARY (operands[4]))
31501 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31502 : STRIP_UNARY (operands[4]))
31503 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31504 : STRIP_UNARY (operands[3]))
31505 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31506 : STRIP_UNARY (operands[3])))) &&
31507 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31508 : (TARGET_AVX)) &&
31509 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31510 : ( 1)))
31511 : return NULL;
31512 : return gen_split_2747 (insn, operands);
31513 :
31514 : case 2:
31515 : if (!(
31516 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31517 : ((16 == 64 || TARGET_AVX512VL
31518 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31519 : && ix86_pre_reload_split ()
31520 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31521 : STRIP_UNARY (operands[4]))
31522 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31523 : STRIP_UNARY (operands[4]))
31524 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31525 : STRIP_UNARY (operands[3]))
31526 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31527 : STRIP_UNARY (operands[3])))) &&
31528 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31529 : ( 1)))
31530 : return NULL;
31531 : return gen_split_2774 (insn, operands);
31532 :
31533 : case 3:
31534 : if (!((
31535 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31536 : ((64 == 64 || TARGET_AVX512VL
31537 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31538 : && ix86_pre_reload_split ()
31539 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31540 : STRIP_UNARY (operands[4]))
31541 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31542 : STRIP_UNARY (operands[4]))
31543 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31544 : STRIP_UNARY (operands[3]))
31545 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31546 : STRIP_UNARY (operands[3])))) &&
31547 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31548 : (TARGET_AVX512F)) &&
31549 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31550 : ( 1)))
31551 : return NULL;
31552 : return gen_split_2801 (insn, operands);
31553 :
31554 : case 4:
31555 : if (!((
31556 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31557 : ((32 == 64 || TARGET_AVX512VL
31558 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31559 : && ix86_pre_reload_split ()
31560 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31561 : STRIP_UNARY (operands[4]))
31562 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31563 : STRIP_UNARY (operands[4]))
31564 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31565 : STRIP_UNARY (operands[3]))
31566 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31567 : STRIP_UNARY (operands[3])))) &&
31568 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31569 : (TARGET_AVX)) &&
31570 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31571 : ( 1)))
31572 : return NULL;
31573 : return gen_split_2828 (insn, operands);
31574 :
31575 : case 5:
31576 : if (!(
31577 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31578 : ((16 == 64 || TARGET_AVX512VL
31579 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31580 : && ix86_pre_reload_split ()
31581 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31582 : STRIP_UNARY (operands[4]))
31583 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31584 : STRIP_UNARY (operands[4]))
31585 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31586 : STRIP_UNARY (operands[3]))
31587 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31588 : STRIP_UNARY (operands[3])))) &&
31589 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31590 : ( 1)))
31591 : return NULL;
31592 : return gen_split_2855 (insn, operands);
31593 :
31594 : case 6:
31595 : if (!((
31596 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31597 : ((64 == 64 || TARGET_AVX512VL
31598 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31599 : && ix86_pre_reload_split ()
31600 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31601 : STRIP_UNARY (operands[4]))
31602 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31603 : STRIP_UNARY (operands[4]))
31604 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31605 : STRIP_UNARY (operands[3]))
31606 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31607 : STRIP_UNARY (operands[3])))) &&
31608 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31609 : (TARGET_AVX512F)) &&
31610 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31611 : ( 1)))
31612 : return NULL;
31613 : return gen_split_2882 (insn, operands);
31614 :
31615 : case 7:
31616 : if (!((
31617 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31618 : ((32 == 64 || TARGET_AVX512VL
31619 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31620 : && ix86_pre_reload_split ()
31621 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31622 : STRIP_UNARY (operands[4]))
31623 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31624 : STRIP_UNARY (operands[4]))
31625 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31626 : STRIP_UNARY (operands[3]))
31627 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31628 : STRIP_UNARY (operands[3])))) &&
31629 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31630 : (TARGET_AVX)) &&
31631 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31632 : ( 1)))
31633 : return NULL;
31634 : return gen_split_2909 (insn, operands);
31635 :
31636 : case 8:
31637 : if (!(
31638 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31639 : ((16 == 64 || TARGET_AVX512VL
31640 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31641 : && ix86_pre_reload_split ()
31642 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31643 : STRIP_UNARY (operands[4]))
31644 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31645 : STRIP_UNARY (operands[4]))
31646 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31647 : STRIP_UNARY (operands[3]))
31648 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31649 : STRIP_UNARY (operands[3])))) &&
31650 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31651 : ( 1)))
31652 : return NULL;
31653 : return gen_split_2936 (insn, operands);
31654 :
31655 : case 9:
31656 : if (!((
31657 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31658 : ((64 == 64 || TARGET_AVX512VL
31659 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31660 : && ix86_pre_reload_split ()
31661 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31662 : STRIP_UNARY (operands[4]))
31663 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31664 : STRIP_UNARY (operands[4]))
31665 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31666 : STRIP_UNARY (operands[3]))
31667 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31668 : STRIP_UNARY (operands[3])))) &&
31669 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31670 : (TARGET_AVX512F)) &&
31671 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31672 : ( 1)))
31673 : return NULL;
31674 : return gen_split_2963 (insn, operands);
31675 :
31676 : case 10:
31677 : if (!((
31678 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31679 : ((32 == 64 || TARGET_AVX512VL
31680 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31681 : && ix86_pre_reload_split ()
31682 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31683 : STRIP_UNARY (operands[4]))
31684 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31685 : STRIP_UNARY (operands[4]))
31686 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31687 : STRIP_UNARY (operands[3]))
31688 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31689 : STRIP_UNARY (operands[3])))) &&
31690 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31691 : (TARGET_AVX)) &&
31692 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31693 : ( 1)))
31694 : return NULL;
31695 : return gen_split_2990 (insn, operands);
31696 :
31697 : case 11:
31698 : if (!((
31699 : #line 14246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31700 : ((16 == 64 || TARGET_AVX512VL
31701 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31702 : && ix86_pre_reload_split ()
31703 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31704 : STRIP_UNARY (operands[4]))
31705 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31706 : STRIP_UNARY (operands[4]))
31707 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31708 : STRIP_UNARY (operands[3]))
31709 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31710 : STRIP_UNARY (operands[3])))) &&
31711 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31712 : (TARGET_SSE2)) &&
31713 : #line 14258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31714 : ( 1)))
31715 : return NULL;
31716 : return gen_split_3017 (insn, operands);
31717 :
31718 : default:
31719 : return NULL;
31720 : }
31721 :
31722 : default:
31723 : return NULL;
31724 : }
31725 :
31726 : case XOR:
31727 : return split_68 (x1, insn);
31728 :
31729 : default:
31730 : return NULL;
31731 : }
31732 : }
|