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 78459 : pattern5 (rtx x1, machine_mode i1)
57 : {
58 78459 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
59 78459 : int res ATTRIBUTE_UNUSED;
60 78459 : if (!register_operand (operands[0], i1)
61 76539 : || GET_MODE (x1) != i1
62 76539 : || !register_operand (operands[1], i1)
63 149274 : || !register_operand (operands[2], i1))
64 14924 : return -1;
65 : return 0;
66 : }
67 :
68 : int
69 227647 : pattern12 (rtx x1, machine_mode i1)
70 : {
71 227647 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
72 227647 : int res ATTRIBUTE_UNUSED;
73 227647 : if (!register_operand (operands[0], i1)
74 227478 : || GET_MODE (x1) != i1
75 227478 : || !register_operand (operands[1], i1)
76 404393 : || !nonimmediate_operand (operands[2], i1))
77 177709 : return -1;
78 : return 0;
79 : }
80 :
81 : int
82 16596 : pattern17 (rtx x1, int *pnum_clobbers)
83 : {
84 16596 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
85 16596 : rtx x2;
86 16596 : int res ATTRIBUTE_UNUSED;
87 16596 : if (pnum_clobbers == NULL)
88 : return -1;
89 16596 : x2 = XEXP (x1, 1);
90 16596 : if (GET_MODE (x2) != E_QImode)
91 : return -1;
92 16572 : return pattern16 (x1); /* [-1, 1] */
93 : }
94 :
95 : int
96 105 : pattern23 (rtx x1, machine_mode i1)
97 : {
98 105 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
99 105 : rtx x2;
100 105 : int res ATTRIBUTE_UNUSED;
101 105 : if (!register_operand (operands[0], i1)
102 105 : || GET_MODE (x1) != i1)
103 : return -1;
104 105 : x2 = XEXP (x1, 0);
105 105 : switch (GET_MODE (x2))
106 : {
107 0 : case E_HFmode:
108 0 : if (!register_operand (operands[1], E_V8HFmode))
109 : return -1;
110 : return 0;
111 :
112 74 : case E_SFmode:
113 74 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
114 : return -1;
115 : return 1;
116 :
117 31 : case E_DFmode:
118 31 : if (!nonimmediate_operand (operands[1], E_V2DFmode))
119 : return -1;
120 : return 2;
121 :
122 : default:
123 : return -1;
124 : }
125 : }
126 :
127 : int
128 212742 : pattern27 (rtx x1)
129 : {
130 212742 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
131 212742 : rtx x2, x3, x4, x5;
132 212742 : int res ATTRIBUTE_UNUSED;
133 212742 : x2 = XEXP (x1, 0);
134 212742 : operands[0] = x2;
135 212742 : x3 = XEXP (x1, 1);
136 212742 : x4 = XEXP (x3, 0);
137 212742 : operands[1] = x4;
138 212742 : x5 = XEXP (x3, 1);
139 212742 : operands[2] = x5;
140 212742 : switch (GET_MODE (operands[0]))
141 : {
142 74 : case E_V32HFmode:
143 74 : return pattern26 (x3,
144 74 : E_V32HFmode); /* [-1, 0] */
145 :
146 132 : case E_V16HFmode:
147 132 : if (pattern26 (x3,
148 : E_V16HFmode) != 0)
149 : return -1;
150 : return 1;
151 :
152 914 : case E_V8HFmode:
153 914 : if (pattern26 (x3,
154 : E_V8HFmode) != 0)
155 : return -1;
156 : return 2;
157 :
158 0 : case E_V16SFmode:
159 0 : if (pattern26 (x3,
160 : E_V16SFmode) != 0)
161 : return -1;
162 : return 3;
163 :
164 1497 : case E_V8SFmode:
165 1497 : if (pattern26 (x3,
166 : E_V8SFmode) != 0)
167 : return -1;
168 : return 4;
169 :
170 713 : case E_V4SFmode:
171 713 : if (pattern26 (x3,
172 : E_V4SFmode) != 0)
173 : return -1;
174 : return 5;
175 :
176 22 : case E_V8DFmode:
177 22 : if (pattern26 (x3,
178 : E_V8DFmode) != 0)
179 : return -1;
180 : return 6;
181 :
182 38 : case E_V4DFmode:
183 38 : if (pattern26 (x3,
184 : E_V4DFmode) != 0)
185 : return -1;
186 : return 7;
187 :
188 720 : case E_V2DFmode:
189 720 : if (pattern26 (x3,
190 : E_V2DFmode) != 0)
191 : return -1;
192 : return 8;
193 :
194 403 : case E_V32QImode:
195 403 : if (pattern3 (x3,
196 : E_V32QImode) != 0)
197 : return -1;
198 : return 9;
199 :
200 754 : case E_V16HImode:
201 754 : if (pattern3 (x3,
202 : E_V16HImode) != 0)
203 : return -1;
204 : return 10;
205 :
206 919 : case E_V8SImode:
207 919 : if (pattern3 (x3,
208 : E_V8SImode) != 0)
209 : return -1;
210 : return 11;
211 :
212 202 : case E_V16SImode:
213 202 : if (pattern3 (x3,
214 : E_V16SImode) != 0)
215 : return -1;
216 : return 12;
217 :
218 3160 : case E_V4SImode:
219 3160 : if (!register_operand (operands[0], E_V4SImode)
220 3160 : || GET_MODE (x3) != E_V4SImode)
221 : return -1;
222 : return 13;
223 :
224 1442 : case E_V8DImode:
225 1442 : if (pattern3 (x3,
226 : E_V8DImode) != 0)
227 : return -1;
228 : return 14;
229 :
230 585 : case E_V4DImode:
231 585 : if (pattern3 (x3,
232 : E_V4DImode) != 0)
233 : return -1;
234 : return 15;
235 :
236 180 : case E_V2DImode:
237 180 : if (pattern3 (x3,
238 : E_V2DImode) != 0)
239 : return -1;
240 : return 16;
241 :
242 207 : case E_V64QImode:
243 207 : if (pattern3 (x3,
244 : E_V64QImode) != 0)
245 : return -1;
246 : return 17;
247 :
248 6130 : case E_V16QImode:
249 6130 : if (!register_operand (operands[0], E_V16QImode)
250 6130 : || GET_MODE (x3) != E_V16QImode)
251 : return -1;
252 : return 18;
253 :
254 142 : case E_V32HImode:
255 142 : if (pattern3 (x3,
256 : E_V32HImode) != 0)
257 : return -1;
258 : return 19;
259 :
260 8547 : case E_V8HImode:
261 8547 : if (!register_operand (operands[0], E_V8HImode)
262 8547 : || GET_MODE (x3) != E_V8HImode)
263 : return -1;
264 : return 20;
265 :
266 222 : case E_V32BFmode:
267 222 : if (pattern12 (x3,
268 : E_V32BFmode) != 0)
269 : return -1;
270 : return 21;
271 :
272 258 : case E_V16BFmode:
273 258 : if (pattern12 (x3,
274 : E_V16BFmode) != 0)
275 : return -1;
276 : return 22;
277 :
278 218 : case E_V8BFmode:
279 218 : if (pattern12 (x3,
280 : E_V8BFmode) != 0)
281 : return -1;
282 : return 23;
283 :
284 : default:
285 : return -1;
286 : }
287 : }
288 :
289 : int
290 133847 : pattern51 (rtx x1, int *pnum_clobbers)
291 : {
292 133847 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
293 133847 : rtx x2, x3, x4, x5;
294 133847 : int res ATTRIBUTE_UNUSED;
295 133847 : if (pnum_clobbers == NULL)
296 : return -1;
297 133841 : x2 = XEXP (x1, 1);
298 133841 : x3 = XEXP (x2, 1);
299 133841 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
300 : return -1;
301 115643 : x4 = XEXP (x1, 0);
302 115643 : if (GET_CODE (x4) != REG
303 115643 : || REGNO (x4) != 17)
304 : return -1;
305 115643 : x5 = XEXP (x2, 0);
306 115643 : return pattern50 (x5); /* [-1, 3] */
307 : }
308 :
309 : int
310 298 : pattern56 (rtx x1)
311 : {
312 298 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
313 298 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
314 298 : int res ATTRIBUTE_UNUSED;
315 298 : x2 = XEXP (x1, 0);
316 298 : x3 = XEXP (x2, 0);
317 298 : x4 = XEXP (x3, 0);
318 298 : operands[1] = x4;
319 298 : if (!register_operand (operands[1], E_V4HImode))
320 : return -1;
321 298 : x5 = XEXP (x3, 1);
322 298 : operands[2] = x5;
323 298 : if (!register_mmxmem_operand (operands[2], E_V4HImode))
324 : return -1;
325 290 : x6 = XEXP (x1, 1);
326 290 : x7 = XEXP (x6, 0);
327 290 : x8 = XEXP (x7, 0);
328 290 : if (!rtx_equal_p (x8, operands[1]))
329 : return -1;
330 290 : x9 = XEXP (x7, 1);
331 290 : if (!rtx_equal_p (x9, operands[2]))
332 : return -1;
333 : return 0;
334 : }
335 :
336 : int
337 3266 : pattern61 (rtx x1)
338 : {
339 3266 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
340 3266 : rtx x2, x3, x4;
341 3266 : int res ATTRIBUTE_UNUSED;
342 3266 : x2 = XEXP (x1, 0);
343 3266 : operands[0] = x2;
344 3266 : x3 = XEXP (x1, 1);
345 3266 : x4 = XVECEXP (x3, 0, 0);
346 3266 : operands[1] = x4;
347 3266 : switch (GET_MODE (operands[0]))
348 : {
349 221 : case E_SFmode:
350 221 : if (!register_operand (operands[0], E_SFmode)
351 221 : || GET_MODE (x3) != E_SFmode
352 442 : || !nonimmediate_operand (operands[1], E_SFmode))
353 31 : return -1;
354 : return 0;
355 :
356 620 : case E_HFmode:
357 620 : if (!register_operand (operands[0], E_HFmode)
358 620 : || GET_MODE (x3) != E_HFmode
359 1240 : || !nonimmediate_operand (operands[1], E_HFmode))
360 0 : return -1;
361 : return 1;
362 :
363 : default:
364 : return -1;
365 : }
366 : }
367 :
368 : int
369 14004 : pattern70 (rtx x1)
370 : {
371 14004 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
372 14004 : int res ATTRIBUTE_UNUSED;
373 14004 : switch (GET_MODE (operands[0]))
374 : {
375 3501 : case E_HImode:
376 3501 : if (!register_operand (operands[0], E_HImode)
377 3501 : || GET_MODE (x1) != E_HImode)
378 : return -1;
379 3447 : switch (GET_MODE (operands[1]))
380 : {
381 856 : case E_V16QImode:
382 856 : if (!register_operand (operands[1], E_V16QImode)
383 856 : || !nonimmediate_operand (operands[2], E_V16QImode))
384 87 : return -1;
385 : return 0;
386 :
387 1398 : case E_V16HImode:
388 1398 : if (!register_operand (operands[1], E_V16HImode)
389 1398 : || !nonimmediate_operand (operands[2], E_V16HImode))
390 151 : return -1;
391 : return 1;
392 :
393 1193 : case E_V16SImode:
394 1193 : if (!register_operand (operands[1], E_V16SImode)
395 1193 : || !nonimmediate_operand (operands[2], E_V16SImode))
396 165 : return -1;
397 : return 2;
398 :
399 : default:
400 : return -1;
401 : }
402 :
403 6911 : case E_QImode:
404 6911 : if (!register_operand (operands[0], E_QImode)
405 6911 : || GET_MODE (x1) != E_QImode)
406 : return -1;
407 6714 : switch (GET_MODE (operands[1]))
408 : {
409 1559 : case E_V8HImode:
410 1559 : if (!register_operand (operands[1], E_V8HImode)
411 1559 : || !nonimmediate_operand (operands[2], E_V8HImode))
412 83 : return -1;
413 : return 3;
414 :
415 1303 : case E_V8SImode:
416 1303 : if (!register_operand (operands[1], E_V8SImode)
417 1303 : || !nonimmediate_operand (operands[2], E_V8SImode))
418 112 : return -1;
419 : return 4;
420 :
421 931 : case E_V4SImode:
422 931 : if (!register_operand (operands[1], E_V4SImode)
423 931 : || !nonimmediate_operand (operands[2], E_V4SImode))
424 87 : return -1;
425 : return 5;
426 :
427 1162 : case E_V8DImode:
428 1162 : if (!register_operand (operands[1], E_V8DImode)
429 1162 : || !nonimmediate_operand (operands[2], E_V8DImode))
430 120 : return -1;
431 : return 6;
432 :
433 1039 : case E_V4DImode:
434 1039 : if (!register_operand (operands[1], E_V4DImode)
435 1039 : || !nonimmediate_operand (operands[2], E_V4DImode))
436 98 : return -1;
437 : return 7;
438 :
439 720 : case E_V2DImode:
440 720 : if (!register_operand (operands[1], E_V2DImode)
441 720 : || !nonimmediate_operand (operands[2], E_V2DImode))
442 68 : return -1;
443 : return 8;
444 :
445 : default:
446 : return -1;
447 : }
448 :
449 : default:
450 : return -1;
451 : }
452 : }
453 :
454 : int
455 168 : pattern100 (rtx x1)
456 : {
457 168 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
458 168 : rtx x2, x3, x4, x5;
459 168 : int res ATTRIBUTE_UNUSED;
460 168 : x2 = XEXP (x1, 1);
461 168 : if (GET_MODE (x2) != E_CCZmode)
462 : return -1;
463 168 : x3 = XEXP (x1, 0);
464 168 : if (GET_CODE (x3) != REG
465 168 : || REGNO (x3) != 17
466 336 : || GET_MODE (x3) != E_CCZmode)
467 : return -1;
468 168 : x4 = XVECEXP (x2, 0, 0);
469 168 : operands[0] = x4;
470 168 : x5 = XVECEXP (x2, 0, 1);
471 168 : operands[1] = x5;
472 168 : if (!memory_operand (operands[1], E_XImode))
473 : return -1;
474 168 : switch (GET_MODE (operands[0]))
475 : {
476 0 : case E_SImode:
477 0 : if (!register_operand (operands[0], E_SImode))
478 : return -1;
479 : return 0;
480 :
481 168 : case E_DImode:
482 168 : if (!register_operand (operands[0], E_DImode))
483 : return -1;
484 : return 1;
485 :
486 : default:
487 : return -1;
488 : }
489 : }
490 :
491 : int
492 1526 : pattern111 (rtx x1, machine_mode i1)
493 : {
494 1526 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
495 1526 : rtx x2;
496 1526 : int res ATTRIBUTE_UNUSED;
497 1526 : if (!nonimmediate_operand (operands[0], i1)
498 1526 : || GET_MODE (x1) != i1)
499 : return -1;
500 1526 : x2 = XEXP (x1, 0);
501 1526 : if (GET_MODE (x2) != i1
502 1526 : || !x86_64_general_operand (operands[1], i1))
503 203 : return -1;
504 : return 0;
505 : }
506 :
507 : int
508 45926 : pattern116 (rtx x1)
509 : {
510 45926 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
511 45926 : rtx x2, x3, x4;
512 45926 : int res ATTRIBUTE_UNUSED;
513 45926 : x2 = XEXP (x1, 0);
514 45926 : x3 = XEXP (x2, 0);
515 45926 : operands[1] = x3;
516 45926 : x4 = XEXP (x2, 1);
517 45926 : operands[2] = x4;
518 45926 : switch (GET_MODE (operands[0]))
519 : {
520 37517 : case E_DImode:
521 37517 : if (!register_operand (operands[0], E_DImode)
522 37517 : || GET_MODE (x1) != E_DImode)
523 : return -1;
524 37417 : switch (GET_MODE (x2))
525 : {
526 33803 : case E_SImode:
527 33803 : if (!nonimmediate_operand (operands[1], E_SImode))
528 : return -1;
529 : return 0;
530 :
531 2603 : case E_QImode:
532 2603 : if (!nonimmediate_operand (operands[1], E_QImode)
533 2603 : || !nonmemory_operand (operands[2], E_QImode))
534 112 : return -1;
535 : return 1;
536 :
537 1011 : case E_HImode:
538 1011 : if (!nonimmediate_operand (operands[1], E_HImode)
539 1011 : || !nonmemory_operand (operands[2], E_QImode))
540 4 : return -1;
541 : return 2;
542 :
543 : default:
544 : return -1;
545 : }
546 :
547 7728 : case E_SImode:
548 7728 : if (!register_operand (operands[0], E_SImode)
549 7728 : || GET_MODE (x1) != E_SImode
550 15456 : || !nonmemory_operand (operands[2], E_QImode))
551 132 : return -1;
552 7596 : switch (GET_MODE (x2))
553 : {
554 5805 : case E_QImode:
555 5805 : if (!nonimmediate_operand (operands[1], E_QImode))
556 : return -1;
557 : return 3;
558 :
559 1791 : case E_HImode:
560 1791 : if (!nonimmediate_operand (operands[1], E_HImode))
561 : return -1;
562 : return 4;
563 :
564 : default:
565 : return -1;
566 : }
567 :
568 : default:
569 : return -1;
570 : }
571 : }
572 :
573 : int
574 9327 : pattern133 (rtx x1, machine_mode i1, machine_mode i2)
575 : {
576 9327 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
577 9327 : rtx x2;
578 9327 : int res ATTRIBUTE_UNUSED;
579 9327 : if (!register_operand (operands[0], i1)
580 9327 : || GET_MODE (x1) != i1)
581 : return -1;
582 8924 : x2 = XEXP (x1, 0);
583 8924 : if (GET_MODE (x2) != i1
584 8924 : || !vector_operand (operands[1], i1)
585 8826 : || !vector_operand (operands[2], i1)
586 8348 : || !nonimm_or_0_operand (operands[3], i1)
587 16986 : || !register_operand (operands[4], i2))
588 1300 : return -1;
589 : return 0;
590 : }
591 :
592 : int
593 3646 : pattern145 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
594 : {
595 3646 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
596 3646 : rtx x2;
597 3646 : int res ATTRIBUTE_UNUSED;
598 3646 : if (!nonimmediate_operand (operands[0], i1)
599 3646 : || GET_MODE (x1) != i1)
600 : return -1;
601 3646 : x2 = XEXP (x1, 0);
602 3646 : if (GET_MODE (x2) != i1
603 3646 : || !register_operand (operands[1], i3)
604 3645 : || !nonimm_or_0_operand (operands[2], i1)
605 7279 : || !register_operand (operands[3], i2))
606 229 : return -1;
607 : return 0;
608 : }
609 :
610 : int
611 7124 : pattern152 (rtx x1, machine_mode i1, machine_mode i2)
612 : {
613 7124 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
614 7124 : rtx x2;
615 7124 : int res ATTRIBUTE_UNUSED;
616 7124 : if (!register_operand (operands[0], i1)
617 7124 : || GET_MODE (x1) != i1)
618 : return -1;
619 6798 : x2 = XEXP (x1, 0);
620 6798 : if (GET_MODE (x2) != i1
621 6798 : || !nonimmediate_operand (operands[1], i1)
622 6747 : || !nonimm_or_0_operand (operands[2], i1)
623 13403 : || !register_operand (operands[3], i2))
624 642 : return -1;
625 : return 0;
626 : }
627 :
628 : int
629 5587 : pattern154 (rtx x1)
630 : {
631 5587 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
632 5587 : rtx x2, x3, x4, x5;
633 5587 : int res ATTRIBUTE_UNUSED;
634 5587 : x2 = XEXP (x1, 0);
635 5587 : x3 = XEXP (x2, 0);
636 5587 : operands[1] = x3;
637 5587 : x4 = XEXP (x1, 1);
638 5587 : operands[2] = x4;
639 5587 : x5 = XEXP (x1, 2);
640 5587 : operands[3] = x5;
641 5587 : switch (GET_MODE (operands[0]))
642 : {
643 457 : case E_V16SImode:
644 457 : return pattern152 (x1,
645 : E_V16SImode,
646 457 : E_HImode); /* [-1, 0] */
647 :
648 446 : case E_V8SImode:
649 446 : if (pattern152 (x1,
650 : E_V8SImode,
651 : E_QImode) != 0)
652 : return -1;
653 : return 1;
654 :
655 398 : case E_V4SImode:
656 398 : if (pattern152 (x1,
657 : E_V4SImode,
658 : E_QImode) != 0)
659 : return -1;
660 : return 2;
661 :
662 534 : case E_V8DImode:
663 534 : if (pattern152 (x1,
664 : E_V8DImode,
665 : E_QImode) != 0)
666 : return -1;
667 : return 3;
668 :
669 500 : case E_V4DImode:
670 500 : if (pattern152 (x1,
671 : E_V4DImode,
672 : E_QImode) != 0)
673 : return -1;
674 : return 4;
675 :
676 406 : case E_V2DImode:
677 406 : if (pattern152 (x1,
678 : E_V2DImode,
679 : E_QImode) != 0)
680 : return -1;
681 : return 5;
682 :
683 484 : case E_V64QImode:
684 484 : if (pattern152 (x1,
685 : E_V64QImode,
686 : E_DImode) != 0)
687 : return -1;
688 : return 6;
689 :
690 486 : case E_V16QImode:
691 486 : if (pattern152 (x1,
692 : E_V16QImode,
693 : E_HImode) != 0)
694 : return -1;
695 : return 7;
696 :
697 558 : case E_V32QImode:
698 558 : if (pattern152 (x1,
699 : E_V32QImode,
700 : E_SImode) != 0)
701 : return -1;
702 : return 8;
703 :
704 449 : case E_V32HImode:
705 449 : if (pattern152 (x1,
706 : E_V32HImode,
707 : E_SImode) != 0)
708 : return -1;
709 : return 9;
710 :
711 500 : case E_V16HImode:
712 500 : if (pattern153 (x1,
713 : E_V16HImode) != 0)
714 : return -1;
715 : return 10;
716 :
717 369 : case E_V8HImode:
718 369 : if (pattern152 (x1,
719 : E_V8HImode,
720 : E_QImode) != 0)
721 : return -1;
722 : return 11;
723 :
724 : default:
725 : return -1;
726 : }
727 : }
728 :
729 : int
730 564 : pattern168 (rtx x1)
731 : {
732 564 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
733 564 : rtx x2, x3, x4, x5;
734 564 : int res ATTRIBUTE_UNUSED;
735 564 : x2 = XEXP (x1, 0);
736 564 : operands[0] = x2;
737 564 : x3 = XEXP (x1, 1);
738 564 : x4 = XVECEXP (x3, 0, 0);
739 564 : operands[1] = x4;
740 564 : x5 = XVECEXP (x3, 0, 1);
741 564 : operands[2] = x5;
742 564 : switch (GET_MODE (operands[0]))
743 : {
744 308 : case E_V32QImode:
745 308 : return pattern158 (x3,
746 308 : E_V32QImode); /* [-1, 0] */
747 :
748 0 : case E_V16QImode:
749 0 : if (pattern158 (x3,
750 : E_V16QImode) != 0)
751 : return -1;
752 : return 1;
753 :
754 256 : case E_V64QImode:
755 256 : if (pattern158 (x3,
756 : E_V64QImode) != 0)
757 : return -1;
758 : return 2;
759 :
760 : default:
761 : return -1;
762 : }
763 : }
764 :
765 : int
766 199 : pattern177 (rtx x1)
767 : {
768 199 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
769 199 : rtx x2, x3;
770 199 : int res ATTRIBUTE_UNUSED;
771 199 : x2 = XEXP (x1, 1);
772 199 : if (GET_MODE (x2) != E_V4SImode)
773 : return -1;
774 199 : x3 = XEXP (x1, 0);
775 199 : operands[0] = x3;
776 199 : return pattern176 (x2); /* [-1, 0] */
777 : }
778 :
779 : int
780 1442 : pattern181 (rtx x1)
781 : {
782 1442 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
783 1442 : rtx x2, x3, x4, x5, x6;
784 1442 : int res ATTRIBUTE_UNUSED;
785 1442 : x2 = XEXP (x1, 0);
786 1442 : operands[0] = x2;
787 1442 : x3 = XEXP (x1, 1);
788 1442 : x4 = XVECEXP (x3, 0, 0);
789 1442 : operands[1] = x4;
790 1442 : x5 = XVECEXP (x3, 0, 1);
791 1442 : operands[2] = x5;
792 1442 : x6 = XVECEXP (x3, 0, 2);
793 1442 : operands[3] = x6;
794 1442 : if (!const_0_to_255_operand (operands[3], E_SImode))
795 : return -1;
796 1442 : switch (GET_MODE (operands[0]))
797 : {
798 150 : case E_V32HImode:
799 150 : return pattern64 (x3,
800 150 : E_V32HImode); /* [-1, 0] */
801 :
802 168 : case E_V16SImode:
803 168 : if (pattern64 (x3,
804 : E_V16SImode) != 0)
805 : return -1;
806 : return 1;
807 :
808 183 : case E_V8DImode:
809 183 : if (pattern64 (x3,
810 : E_V8DImode) != 0)
811 : return -1;
812 : return 2;
813 :
814 144 : case E_V16HImode:
815 144 : if (pattern64 (x3,
816 : E_V16HImode) != 0)
817 : return -1;
818 : return 3;
819 :
820 162 : case E_V8SImode:
821 162 : if (pattern64 (x3,
822 : E_V8SImode) != 0)
823 : return -1;
824 : return 4;
825 :
826 172 : case E_V4DImode:
827 172 : if (pattern64 (x3,
828 : E_V4DImode) != 0)
829 : return -1;
830 : return 5;
831 :
832 141 : case E_V8HImode:
833 141 : if (pattern64 (x3,
834 : E_V8HImode) != 0)
835 : return -1;
836 : return 6;
837 :
838 156 : case E_V4SImode:
839 156 : if (pattern64 (x3,
840 : E_V4SImode) != 0)
841 : return -1;
842 : return 7;
843 :
844 166 : case E_V2DImode:
845 166 : if (pattern64 (x3,
846 : E_V2DImode) != 0)
847 : return -1;
848 : return 8;
849 :
850 : default:
851 : return -1;
852 : }
853 : }
854 :
855 : int
856 386 : pattern195 (rtx x1)
857 : {
858 386 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
859 386 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
860 386 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
861 386 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
862 386 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
863 386 : rtx x34, x35, x36, x37;
864 386 : int res ATTRIBUTE_UNUSED;
865 386 : x2 = XEXP (x1, 0);
866 386 : x3 = XEXP (x2, 1);
867 386 : x4 = XVECEXP (x3, 0, 0);
868 386 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
869 : return -1;
870 386 : x5 = XVECEXP (x3, 0, 1);
871 386 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
872 : return -1;
873 386 : x6 = XVECEXP (x3, 0, 2);
874 386 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
875 : return -1;
876 386 : x7 = XVECEXP (x3, 0, 3);
877 386 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
878 : return -1;
879 386 : x8 = XVECEXP (x3, 0, 4);
880 386 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
881 : return -1;
882 386 : x9 = XVECEXP (x3, 0, 5);
883 386 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 18])
884 : return -1;
885 386 : x10 = XVECEXP (x3, 0, 6);
886 386 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 20])
887 : return -1;
888 386 : x11 = XVECEXP (x3, 0, 7);
889 386 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 22])
890 : return -1;
891 386 : x12 = XVECEXP (x3, 0, 8);
892 386 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
893 : return -1;
894 386 : x13 = XVECEXP (x3, 0, 9);
895 386 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
896 : return -1;
897 386 : x14 = XVECEXP (x3, 0, 10);
898 386 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
899 : return -1;
900 386 : x15 = XVECEXP (x3, 0, 11);
901 386 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
902 : return -1;
903 386 : x16 = XVECEXP (x3, 0, 12);
904 386 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 24])
905 : return -1;
906 386 : x17 = XVECEXP (x3, 0, 13);
907 386 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 26])
908 : return -1;
909 386 : x18 = XVECEXP (x3, 0, 14);
910 386 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 28])
911 : return -1;
912 386 : x19 = XVECEXP (x3, 0, 15);
913 386 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 30])
914 : return -1;
915 386 : x20 = XEXP (x1, 1);
916 386 : x21 = XEXP (x20, 1);
917 386 : if (XVECLEN (x21, 0) != 16)
918 : return -1;
919 386 : x22 = XVECEXP (x21, 0, 0);
920 386 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
921 : return -1;
922 386 : x23 = XVECEXP (x21, 0, 1);
923 386 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
924 : return -1;
925 386 : x24 = XVECEXP (x21, 0, 2);
926 386 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
927 : return -1;
928 386 : x25 = XVECEXP (x21, 0, 3);
929 386 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
930 : return -1;
931 386 : x26 = XVECEXP (x21, 0, 4);
932 386 : if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 17])
933 : return -1;
934 386 : x27 = XVECEXP (x21, 0, 5);
935 386 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 19])
936 : return -1;
937 386 : x28 = XVECEXP (x21, 0, 6);
938 386 : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 21])
939 : return -1;
940 386 : x29 = XVECEXP (x21, 0, 7);
941 386 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 23])
942 : return -1;
943 386 : x30 = XVECEXP (x21, 0, 8);
944 386 : if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
945 : return -1;
946 386 : x31 = XVECEXP (x21, 0, 9);
947 386 : if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
948 : return -1;
949 386 : x32 = XVECEXP (x21, 0, 10);
950 386 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
951 : return -1;
952 386 : x33 = XVECEXP (x21, 0, 11);
953 386 : if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
954 : return -1;
955 386 : x34 = XVECEXP (x21, 0, 12);
956 386 : if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 25])
957 : return -1;
958 386 : x35 = XVECEXP (x21, 0, 13);
959 386 : if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 27])
960 : return -1;
961 386 : x36 = XVECEXP (x21, 0, 14);
962 386 : if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 29])
963 : return -1;
964 386 : x37 = XVECEXP (x21, 0, 15);
965 386 : if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 31]
966 386 : || pattern194 (x1,
967 : E_V32HImode,
968 : E_V16HImode) != 0)
969 24 : return -1;
970 : return 0;
971 : }
972 :
973 : int
974 42642 : pattern219 (rtx x1)
975 : {
976 42642 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
977 42642 : int res ATTRIBUTE_UNUSED;
978 42642 : switch (GET_MODE (operands[0]))
979 : {
980 19 : case E_HImode:
981 19 : if (!register_operand (operands[0], E_HImode)
982 19 : || pattern217 (x1,
983 : E_HImode) != 0)
984 0 : return -1;
985 : return 0;
986 :
987 4903 : case E_SImode:
988 4903 : if (!register_operand (operands[0], E_SImode)
989 4903 : || pattern218 (x1,
990 : E_SImode) != 0)
991 74 : return -1;
992 : return 1;
993 :
994 37700 : case E_DImode:
995 37700 : if (!register_operand (operands[0], E_DImode)
996 37700 : || pattern218 (x1,
997 : E_DImode) != 0)
998 13058 : return -1;
999 : return 2;
1000 :
1001 : default:
1002 : return -1;
1003 : }
1004 : }
1005 :
1006 : int
1007 797464 : pattern225 (rtx x1)
1008 : {
1009 797464 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1010 797464 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1011 797464 : rtx x10, x11;
1012 797464 : int res ATTRIBUTE_UNUSED;
1013 797464 : x2 = XVECEXP (x1, 0, 1);
1014 797464 : if (GET_CODE (x2) != SET)
1015 : return -1;
1016 797391 : x3 = XEXP (x2, 1);
1017 797391 : if (GET_CODE (x3) != UMOD)
1018 : return -1;
1019 720072 : x4 = XVECEXP (x1, 0, 0);
1020 720072 : x5 = XEXP (x4, 0);
1021 720072 : operands[0] = x5;
1022 720072 : x6 = XEXP (x4, 1);
1023 720072 : x7 = XEXP (x6, 0);
1024 720072 : operands[2] = x7;
1025 720072 : x8 = XEXP (x6, 1);
1026 720072 : operands[3] = x8;
1027 720072 : x9 = XEXP (x2, 0);
1028 720072 : operands[1] = x9;
1029 720072 : x10 = XEXP (x3, 0);
1030 720072 : if (!rtx_equal_p (x10, operands[2]))
1031 : return -1;
1032 644014 : x11 = XEXP (x3, 1);
1033 644014 : if (!rtx_equal_p (x11, operands[3]))
1034 : return -1;
1035 632556 : switch (GET_CODE (operands[3]))
1036 : {
1037 : case REG:
1038 : case SUBREG:
1039 : case MEM:
1040 : return 0;
1041 :
1042 67286 : case CONST_INT:
1043 67286 : return 1;
1044 :
1045 : default:
1046 : return -1;
1047 : }
1048 : }
1049 :
1050 : int
1051 140422 : pattern235 (rtx x1)
1052 : {
1053 140422 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1054 140422 : rtx x2, x3, x4, x5, x6;
1055 140422 : int res ATTRIBUTE_UNUSED;
1056 140422 : x2 = XVECEXP (x1, 0, 0);
1057 140422 : x3 = XEXP (x2, 0);
1058 140422 : if (GET_CODE (x3) != MEM)
1059 : return -1;
1060 39295 : x4 = XVECEXP (x1, 0, 1);
1061 39295 : if (GET_CODE (x4) != SET)
1062 : return -1;
1063 39295 : x5 = XEXP (x4, 1);
1064 39295 : if (GET_CODE (x5) != PLUS)
1065 : return -1;
1066 19079 : x6 = XEXP (x5, 1);
1067 19079 : if (GET_CODE (x6) != CONST_INT)
1068 5440 : return -1;
1069 : return 0;
1070 : }
1071 :
1072 : int
1073 500748 : pattern244 (rtx x1)
1074 : {
1075 500748 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1076 500748 : rtx x2, x3;
1077 500748 : int res ATTRIBUTE_UNUSED;
1078 500748 : x2 = XEXP (x1, 0);
1079 500748 : operands[1] = x2;
1080 500748 : x3 = XEXP (x1, 1);
1081 500748 : operands[2] = x3;
1082 500748 : switch (GET_CODE (operands[2]))
1083 : {
1084 106 : case CONST_VECTOR:
1085 106 : switch (GET_MODE (operands[0]))
1086 : {
1087 2 : case E_V32HImode:
1088 2 : return pattern243 (x1,
1089 2 : E_V32HImode); /* [-1, 0] */
1090 :
1091 69 : case E_V16SImode:
1092 69 : if (pattern243 (x1,
1093 : E_V16SImode) != 0)
1094 : return -1;
1095 : return 1;
1096 :
1097 0 : case E_V8DImode:
1098 0 : if (pattern243 (x1,
1099 : E_V8DImode) != 0)
1100 : return -1;
1101 : return 2;
1102 :
1103 : default:
1104 : return -1;
1105 : }
1106 :
1107 480770 : case CONST_INT:
1108 480770 : if (!const_0_to_255_not_mul_8_operand (operands[2], E_SImode)
1109 218041 : || !register_operand (operands[0], E_V1TImode)
1110 36 : || GET_MODE (x1) != E_V1TImode
1111 480806 : || !register_operand (operands[1], E_V1TImode))
1112 480734 : return -1;
1113 : return 3;
1114 :
1115 : default:
1116 : return -1;
1117 : }
1118 : }
1119 :
1120 : int
1121 300055 : pattern262 ()
1122 : {
1123 300055 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1124 300055 : int res ATTRIBUTE_UNUSED;
1125 300055 : switch (GET_MODE (operands[1]))
1126 : {
1127 177 : case E_HFmode:
1128 177 : if (!nonimmediate_operand (operands[1], E_HFmode))
1129 : return -1;
1130 : return 0;
1131 :
1132 76691 : case E_SFmode:
1133 76691 : if (!nonimmediate_operand (operands[1], E_SFmode))
1134 : return -1;
1135 : return 1;
1136 :
1137 214244 : case E_DFmode:
1138 214244 : if (!nonimmediate_operand (operands[1], E_DFmode))
1139 : return -1;
1140 : return 2;
1141 :
1142 : default:
1143 : return -1;
1144 : }
1145 : }
1146 :
1147 : int
1148 38808 : pattern269 (rtx x1, int *pnum_clobbers)
1149 : {
1150 38808 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1151 38808 : rtx x2, x3;
1152 38808 : int res ATTRIBUTE_UNUSED;
1153 38808 : if (!nonmemory_operand (operands[2], E_QImode))
1154 : return -1;
1155 36854 : x2 = XEXP (x1, 0);
1156 36854 : switch (GET_CODE (x2))
1157 : {
1158 36850 : case REG:
1159 36850 : case SUBREG:
1160 36850 : case MEM:
1161 36850 : operands[0] = x2;
1162 36850 : x3 = XEXP (x1, 1);
1163 36850 : return pattern0 (x3); /* [-1, 1] */
1164 :
1165 4 : case STRICT_LOW_PART:
1166 4 : res = pattern265 (x1, pnum_clobbers);
1167 4 : if (res >= 0)
1168 4 : return res + 2; /* [2, 3] */
1169 : return -1;
1170 :
1171 : default:
1172 : return -1;
1173 : }
1174 : }
1175 :
1176 : int
1177 8022 : pattern282 (rtx x1, int *pnum_clobbers)
1178 : {
1179 8022 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1180 8022 : rtx x2;
1181 8022 : int res ATTRIBUTE_UNUSED;
1182 8022 : switch (GET_MODE (operands[0]))
1183 : {
1184 628 : case E_SImode:
1185 628 : return pattern281 (x1); /* [-1, 1] */
1186 :
1187 7197 : case E_DImode:
1188 7197 : if (!register_operand (operands[0], E_DImode)
1189 7197 : || GET_MODE (x1) != E_DImode)
1190 : return -1;
1191 7186 : x2 = XEXP (x1, 0);
1192 7186 : switch (GET_MODE (x2))
1193 : {
1194 961 : case E_QImode:
1195 961 : if (!nonimmediate_operand (operands[1], E_QImode))
1196 : return -1;
1197 : return 2;
1198 :
1199 26 : case E_HImode:
1200 26 : if (!nonimmediate_operand (operands[1], E_HImode))
1201 : return -1;
1202 : return 3;
1203 :
1204 6199 : case E_SImode:
1205 6199 : if (pnum_clobbers == NULL
1206 6199 : || !nonimmediate_operand (operands[1], E_SImode))
1207 1505 : return -1;
1208 : return 4;
1209 :
1210 : default:
1211 : return -1;
1212 : }
1213 :
1214 : default:
1215 : return -1;
1216 : }
1217 : }
1218 :
1219 : int
1220 111206 : pattern295 (rtx x1)
1221 : {
1222 111206 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1223 111206 : rtx x2, x3, x4;
1224 111206 : int res ATTRIBUTE_UNUSED;
1225 111206 : x2 = XEXP (x1, 0);
1226 111206 : x3 = XEXP (x2, 0);
1227 111206 : operands[1] = x3;
1228 111206 : x4 = XEXP (x2, 1);
1229 111206 : operands[2] = x4;
1230 111206 : if (!const_int_operand (operands[2], E_QImode))
1231 : return -1;
1232 108466 : switch (GET_MODE (operands[0]))
1233 : {
1234 26689 : case E_SImode:
1235 26689 : return pattern294 (x1,
1236 : E_DImode,
1237 26689 : E_SImode); /* [-1, 0] */
1238 :
1239 735 : case E_DImode:
1240 735 : if (pattern294 (x1,
1241 : E_TImode,
1242 : E_DImode) != 0)
1243 : return -1;
1244 : return 1;
1245 :
1246 : default:
1247 : return -1;
1248 : }
1249 : }
1250 :
1251 : int
1252 589 : pattern302 (rtx x1)
1253 : {
1254 589 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1255 589 : rtx x2, x3;
1256 589 : int res ATTRIBUTE_UNUSED;
1257 589 : x2 = XVECEXP (x1, 0, 0);
1258 589 : operands[1] = x2;
1259 589 : x3 = XVECEXP (x1, 0, 1);
1260 589 : operands[2] = x3;
1261 589 : return pattern301 (x1); /* [-1, 2] */
1262 : }
1263 :
1264 : int
1265 39192 : pattern306 (rtx x1)
1266 : {
1267 39192 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1268 39192 : rtx x2, x3, x4;
1269 39192 : int res ATTRIBUTE_UNUSED;
1270 39192 : if (GET_MODE (x1) != E_DImode
1271 39192 : || !register_operand (operands[0], E_DImode))
1272 38762 : return -1;
1273 430 : x2 = XVECEXP (x1, 0, 0);
1274 430 : operands[1] = x2;
1275 430 : if (!register_operand (operands[1], E_DImode))
1276 : return -1;
1277 415 : x3 = XVECEXP (x1, 0, 1);
1278 415 : operands[2] = x3;
1279 415 : if (!register_mmxmem_operand (operands[2], E_DImode))
1280 : return -1;
1281 406 : x4 = XVECEXP (x1, 0, 2);
1282 406 : operands[3] = x4;
1283 406 : if (!const_0_to_255_mul_8_operand (operands[3], E_SImode))
1284 : return -1;
1285 : return 0;
1286 : }
1287 :
1288 : int
1289 8 : pattern314 (rtx x1, machine_mode i1)
1290 : {
1291 8 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1292 8 : rtx x2, x3;
1293 8 : int res ATTRIBUTE_UNUSED;
1294 8 : if (!register_operand (operands[0], i1)
1295 8 : || GET_MODE (x1) != i1)
1296 : return -1;
1297 8 : x2 = XEXP (x1, 0);
1298 8 : if (GET_MODE (x2) != i1)
1299 : return -1;
1300 8 : x3 = XEXP (x2, 0);
1301 8 : if (GET_MODE (x3) != E_DImode
1302 8 : || !const0_operand (operands[2], i1))
1303 0 : return -1;
1304 8 : switch (GET_MODE (operands[1]))
1305 : {
1306 4 : case E_HImode:
1307 4 : if (!nonimmediate_operand (operands[1], E_HImode))
1308 : return -1;
1309 : return 0;
1310 :
1311 4 : case E_SImode:
1312 4 : if (!nonimmediate_operand (operands[1], E_SImode))
1313 : return -1;
1314 : return 1;
1315 :
1316 : default:
1317 : return -1;
1318 : }
1319 : }
1320 :
1321 : int
1322 0 : pattern322 (rtx x1, machine_mode i1)
1323 : {
1324 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1325 0 : int res ATTRIBUTE_UNUSED;
1326 0 : if (!register_operand (operands[0], i1)
1327 0 : || GET_MODE (x1) != i1
1328 0 : || !float_vector_all_ones_operand (operands[1], i1)
1329 0 : || !const0_operand (operands[2], i1)
1330 0 : || !register_operand (operands[3], i1)
1331 0 : || !nonimmediate_operand (operands[4], i1))
1332 0 : return -1;
1333 : return 0;
1334 : }
1335 :
1336 : int
1337 748 : pattern329 (rtx x1)
1338 : {
1339 748 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1340 748 : rtx x2;
1341 748 : int res ATTRIBUTE_UNUSED;
1342 748 : x2 = XVECEXP (x1, 0, 0);
1343 748 : operands[1] = x2;
1344 748 : switch (GET_MODE (operands[0]))
1345 : {
1346 272 : case E_V16SImode:
1347 272 : if (!register_operand (operands[0], E_V16SImode)
1348 256 : || GET_MODE (x1) != E_V16SImode
1349 528 : || !vector_operand (operands[1], E_V16SFmode))
1350 24 : return -1;
1351 : return 0;
1352 :
1353 244 : case E_V8SImode:
1354 244 : if (!register_operand (operands[0], E_V8SImode)
1355 228 : || GET_MODE (x1) != E_V8SImode
1356 472 : || !vector_operand (operands[1], E_V8SFmode))
1357 20 : return -1;
1358 : return 1;
1359 :
1360 232 : case E_V4SImode:
1361 232 : if (!register_operand (operands[0], E_V4SImode)
1362 228 : || GET_MODE (x1) != E_V4SImode
1363 460 : || !vector_operand (operands[1], E_V4SFmode))
1364 8 : return -1;
1365 : return 2;
1366 :
1367 : default:
1368 : return -1;
1369 : }
1370 : }
1371 :
1372 : int
1373 18957 : pattern332 (rtx x1)
1374 : {
1375 18957 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1376 18957 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1377 18957 : int res ATTRIBUTE_UNUSED;
1378 18957 : x2 = XEXP (x1, 0);
1379 18957 : x3 = XEXP (x2, 0);
1380 18957 : if (GET_CODE (x3) != VEC_SELECT)
1381 : return -1;
1382 6845 : x4 = XEXP (x3, 1);
1383 6845 : if (GET_CODE (x4) != PARALLEL)
1384 : return -1;
1385 6845 : x5 = XEXP (x1, 1);
1386 6845 : if (GET_CODE (x5) != SIGN_EXTEND)
1387 : return -1;
1388 6679 : x6 = XEXP (x5, 0);
1389 6679 : if (GET_CODE (x6) != VEC_SELECT)
1390 : return -1;
1391 6679 : x7 = XEXP (x6, 1);
1392 6679 : if (GET_CODE (x7) != PARALLEL)
1393 : return -1;
1394 6679 : x8 = XEXP (x3, 0);
1395 6679 : operands[1] = x8;
1396 6679 : x9 = XEXP (x6, 0);
1397 6679 : operands[2] = x9;
1398 6679 : return 0;
1399 : }
1400 :
1401 : int
1402 190 : pattern337 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
1403 : {
1404 190 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1405 190 : rtx x2, x3, x4, x5, x6, x7;
1406 190 : int res ATTRIBUTE_UNUSED;
1407 190 : if (!register_operand (operands[0], i2)
1408 190 : || GET_MODE (x1) != i2)
1409 : return -1;
1410 182 : x2 = XEXP (x1, 0);
1411 182 : if (GET_MODE (x2) != i2)
1412 : return -1;
1413 182 : x3 = XEXP (x2, 0);
1414 182 : if (GET_MODE (x3) != i2)
1415 : return -1;
1416 182 : x4 = XEXP (x3, 0);
1417 182 : if (GET_MODE (x4) != i1
1418 182 : || !nonimmediate_operand (operands[1], i3))
1419 0 : return -1;
1420 182 : x5 = XEXP (x2, 1);
1421 182 : if (GET_MODE (x5) != i2)
1422 : return -1;
1423 182 : x6 = XEXP (x5, 0);
1424 182 : if (GET_MODE (x6) != i1)
1425 : return -1;
1426 182 : x7 = XEXP (x1, 1);
1427 182 : return pattern336 (x7,
1428 : i1,
1429 182 : i2); /* [-1, 0] */
1430 : }
1431 :
1432 : int
1433 21861 : pattern341 (rtx x1)
1434 : {
1435 21861 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1436 21861 : rtx x2, x3, x4, x5, x6;
1437 21861 : int res ATTRIBUTE_UNUSED;
1438 21861 : x2 = XEXP (x1, 0);
1439 21861 : operands[0] = x2;
1440 21861 : x3 = XEXP (x1, 1);
1441 21861 : x4 = XEXP (x3, 1);
1442 21861 : x5 = XEXP (x4, 0);
1443 21861 : operands[2] = x5;
1444 21861 : if (!register_operand (operands[2], E_QImode))
1445 : return -1;
1446 19160 : x6 = XEXP (x4, 1);
1447 19160 : operands[3] = x6;
1448 19160 : if (!const_int_operand (operands[3], E_QImode))
1449 : return -1;
1450 18455 : return pattern340 (x3); /* [-1, 1] */
1451 : }
1452 :
1453 : int
1454 30001138 : pattern344 (rtx x1)
1455 : {
1456 30001138 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1457 30001138 : rtx x2, x3, x4, x5;
1458 30001138 : int res ATTRIBUTE_UNUSED;
1459 30001138 : x2 = XVECEXP (x1, 0, 1);
1460 30001138 : if (GET_CODE (x2) != CLOBBER)
1461 : return -1;
1462 29081741 : x3 = XEXP (x2, 0);
1463 29081741 : if (GET_CODE (x3) != REG
1464 29077108 : || REGNO (x3) != 17
1465 55631476 : || GET_MODE (x3) != E_CCmode)
1466 : return -1;
1467 26535009 : x4 = XVECEXP (x1, 0, 0);
1468 26535009 : x5 = XEXP (x4, 0);
1469 26535009 : operands[0] = x5;
1470 26535009 : return 0;
1471 : }
1472 :
1473 : int
1474 3275 : pattern348 (rtx x1)
1475 : {
1476 3275 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1477 3275 : rtx x2, x3, x4, x5;
1478 3275 : int res ATTRIBUTE_UNUSED;
1479 3275 : x2 = XVECEXP (x1, 0, 1);
1480 3275 : if (GET_CODE (x2) != CLOBBER)
1481 : return -1;
1482 2464 : x3 = XEXP (x2, 0);
1483 2464 : if (GET_CODE (x3) != REG
1484 2464 : || REGNO (x3) != 17
1485 4928 : || GET_MODE (x3) != E_CCmode)
1486 : return -1;
1487 2464 : x4 = XVECEXP (x1, 0, 0);
1488 2464 : x5 = XEXP (x4, 0);
1489 2464 : operands[0] = x5;
1490 2464 : return 0;
1491 : }
1492 :
1493 : int
1494 21021 : pattern351 (rtx x1)
1495 : {
1496 21021 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1497 21021 : rtx x2;
1498 21021 : int res ATTRIBUTE_UNUSED;
1499 21021 : switch (GET_MODE (operands[0]))
1500 : {
1501 73 : case E_HImode:
1502 73 : return pattern350 (x1,
1503 : E_QImode,
1504 73 : E_HImode); /* [-1, 0] */
1505 :
1506 1400 : case E_SImode:
1507 1400 : if (!register_operand (operands[0], E_SImode)
1508 1400 : || GET_MODE (x1) != E_SImode)
1509 : return -1;
1510 1400 : x2 = XEXP (x1, 0);
1511 1400 : switch (GET_MODE (x2))
1512 : {
1513 1034 : case E_QImode:
1514 1034 : if (!nonimmediate_operand (operands[1], E_QImode))
1515 : return -1;
1516 : return 1;
1517 :
1518 366 : case E_HImode:
1519 366 : if (!nonimmediate_operand (operands[1], E_HImode))
1520 : return -1;
1521 : return 2;
1522 :
1523 : default:
1524 : return -1;
1525 : }
1526 :
1527 19548 : case E_DImode:
1528 19548 : if (!register_operand (operands[0], E_DImode)
1529 19548 : || GET_MODE (x1) != E_DImode)
1530 : return -1;
1531 19548 : x2 = XEXP (x1, 0);
1532 19548 : switch (GET_MODE (x2))
1533 : {
1534 458 : case E_QImode:
1535 458 : if (!nonimmediate_operand (operands[1], E_QImode))
1536 : return -1;
1537 : return 3;
1538 :
1539 49 : case E_HImode:
1540 49 : if (!nonimmediate_operand (operands[1], E_HImode))
1541 : return -1;
1542 : return 4;
1543 :
1544 19041 : case E_SImode:
1545 19041 : if (!nonimmediate_operand (operands[1], E_SImode))
1546 : return -1;
1547 : return 5;
1548 :
1549 : default:
1550 : return -1;
1551 : }
1552 :
1553 : default:
1554 : return -1;
1555 : }
1556 : }
1557 :
1558 : int
1559 27043 : pattern364 (rtx x1)
1560 : {
1561 27043 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1562 27043 : rtx x2, x3, x4, x5, x6, x7;
1563 27043 : int res ATTRIBUTE_UNUSED;
1564 27043 : x2 = XVECEXP (x1, 0, 0);
1565 27043 : x3 = XEXP (x2, 1);
1566 27043 : x4 = XEXP (x3, 0);
1567 27043 : x5 = XEXP (x4, 1);
1568 27043 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1569 : return -1;
1570 20874 : x6 = XVECEXP (x1, 0, 1);
1571 20874 : if (GET_CODE (x6) != CLOBBER)
1572 : return -1;
1573 20050 : x7 = XEXP (x6, 0);
1574 20050 : if (GET_CODE (x7) != REG
1575 20050 : || REGNO (x7) != 17
1576 40100 : || GET_MODE (x7) != E_CCmode)
1577 : return -1;
1578 20050 : return pattern363 (x2); /* [-1, 3] */
1579 : }
1580 :
1581 : int
1582 70654 : pattern370 (rtx x1)
1583 : {
1584 70654 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1585 70654 : rtx x2, x3, x4, x5, x6, x7, x8;
1586 70654 : int res ATTRIBUTE_UNUSED;
1587 70654 : x2 = XVECEXP (x1, 0, 0);
1588 70654 : x3 = XEXP (x2, 1);
1589 70654 : if (GET_MODE (x3) != E_V2SImode)
1590 : return -1;
1591 494 : x4 = XVECEXP (x1, 0, 1);
1592 494 : if (GET_CODE (x4) != UNSPEC
1593 140 : || XVECLEN (x4, 0) != 1
1594 140 : || XINT (x4, 1) != 111)
1595 : return -1;
1596 140 : x5 = XVECEXP (x4, 0, 0);
1597 140 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1598 : return -1;
1599 140 : x6 = XEXP (x2, 0);
1600 140 : operands[0] = x6;
1601 140 : if (!register_operand (operands[0], E_V2SImode))
1602 : return -1;
1603 140 : x7 = XEXP (x3, 0);
1604 140 : operands[1] = x7;
1605 140 : if (!register_operand (operands[1], E_V2SFmode))
1606 : return -1;
1607 140 : x8 = XEXP (x3, 1);
1608 140 : operands[2] = x8;
1609 140 : if (!nonimmediate_operand (operands[2], E_V2SFmode))
1610 : return -1;
1611 : return 0;
1612 : }
1613 :
1614 : int
1615 526952 : pattern378 (rtx x1)
1616 : {
1617 526952 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1618 526952 : rtx x2, x3, x4, x5, x6, x7, x8;
1619 526952 : int res ATTRIBUTE_UNUSED;
1620 526952 : x2 = XVECEXP (x1, 0, 0);
1621 526952 : x3 = XEXP (x2, 1);
1622 526952 : x4 = XEXP (x3, 0);
1623 526952 : operands[1] = x4;
1624 526952 : x5 = XEXP (x2, 0);
1625 526952 : switch (GET_CODE (x5))
1626 : {
1627 526934 : case REG:
1628 526934 : case SUBREG:
1629 526934 : case MEM:
1630 526934 : operands[0] = x5;
1631 526934 : x6 = XVECEXP (x1, 0, 1);
1632 526934 : switch (GET_CODE (x6))
1633 : {
1634 : case CLOBBER:
1635 : return 0;
1636 :
1637 41236 : case USE:
1638 41236 : return 1;
1639 :
1640 : default:
1641 : return -1;
1642 : }
1643 :
1644 18 : case STRICT_LOW_PART:
1645 18 : x6 = XVECEXP (x1, 0, 1);
1646 18 : if (GET_CODE (x6) != CLOBBER)
1647 : return -1;
1648 18 : x7 = XEXP (x6, 0);
1649 18 : if (GET_CODE (x7) != REG
1650 18 : || REGNO (x7) != 17
1651 36 : || GET_MODE (x7) != E_CCmode)
1652 : return -1;
1653 18 : x8 = XEXP (x5, 0);
1654 18 : operands[0] = x8;
1655 18 : res = pattern377 (x3);
1656 18 : if (res >= 0)
1657 18 : return res + 2; /* [2, 3] */
1658 : return -1;
1659 :
1660 : default:
1661 : return -1;
1662 : }
1663 : }
1664 :
1665 : int
1666 87801 : pattern395 (rtx x1, rtx_code i1)
1667 : {
1668 87801 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1669 87801 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1670 87801 : rtx x10, x11, x12, x13, x14;
1671 87801 : int res ATTRIBUTE_UNUSED;
1672 87801 : x2 = XVECEXP (x1, 0, 1);
1673 87801 : if (GET_CODE (x2) != SET)
1674 : return -1;
1675 87801 : x3 = XEXP (x2, 1);
1676 87801 : if (GET_CODE (x3) != i1)
1677 : return -1;
1678 87801 : x4 = XVECEXP (x1, 0, 3);
1679 87801 : x5 = XEXP (x4, 0);
1680 87801 : if (GET_CODE (x5) != REG
1681 87801 : || REGNO (x5) != 17
1682 175602 : || GET_MODE (x5) != E_CCmode)
1683 : return -1;
1684 87801 : x6 = XVECEXP (x1, 0, 0);
1685 87801 : x7 = XEXP (x6, 0);
1686 87801 : operands[0] = x7;
1687 87801 : x8 = XEXP (x6, 1);
1688 87801 : x9 = XEXP (x8, 0);
1689 87801 : operands[2] = x9;
1690 87801 : x10 = XEXP (x8, 1);
1691 87801 : operands[3] = x10;
1692 87801 : x11 = XEXP (x2, 0);
1693 87801 : operands[1] = x11;
1694 87801 : x12 = XEXP (x3, 0);
1695 87801 : if (!rtx_equal_p (x12, operands[2]))
1696 : return -1;
1697 87801 : x13 = XEXP (x3, 1);
1698 87801 : if (!rtx_equal_p (x13, operands[3]))
1699 : return -1;
1700 87801 : x14 = XVECEXP (x1, 0, 2);
1701 87801 : switch (GET_CODE (x14))
1702 : {
1703 39 : case UNSPEC:
1704 39 : return pattern392 (x1); /* [-1, 1] */
1705 :
1706 87762 : case USE:
1707 87762 : res = pattern394 (x1);
1708 87762 : if (res >= 0)
1709 87762 : return res + 2; /* [2, 4] */
1710 : return -1;
1711 :
1712 : default:
1713 : return -1;
1714 : }
1715 : }
1716 :
1717 : int
1718 6366 : pattern411 (rtx x1)
1719 : {
1720 6366 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1721 6366 : rtx x2, x3, x4;
1722 6366 : int res ATTRIBUTE_UNUSED;
1723 6366 : x2 = XEXP (x1, 0);
1724 6366 : x3 = XEXP (x2, 1);
1725 6366 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1726 : return -1;
1727 5607 : x4 = XEXP (x2, 0);
1728 5607 : operands[1] = x4;
1729 5607 : if (!int_nonimmediate_operand (operands[1], E_VOIDmode))
1730 : return -1;
1731 3983 : switch (GET_MODE (operands[0]))
1732 : {
1733 203 : case E_QImode:
1734 203 : if (!register_operand (operands[0], E_QImode)
1735 203 : || GET_MODE (x1) != E_QImode
1736 406 : || GET_MODE (x2) != E_QImode)
1737 : return -1;
1738 : return 0;
1739 :
1740 132 : case E_HImode:
1741 132 : if (!register_operand (operands[0], E_HImode)
1742 128 : || GET_MODE (x1) != E_HImode
1743 260 : || GET_MODE (x2) != E_HImode)
1744 : return -1;
1745 : return 1;
1746 :
1747 3436 : case E_SImode:
1748 3436 : if (!register_operand (operands[0], E_SImode)
1749 2277 : || GET_MODE (x1) != E_SImode
1750 5713 : || GET_MODE (x2) != E_SImode)
1751 : return -1;
1752 : return 2;
1753 :
1754 212 : case E_DImode:
1755 212 : if (!register_operand (operands[0], E_DImode)
1756 208 : || GET_MODE (x1) != E_DImode
1757 420 : || GET_MODE (x2) != E_DImode)
1758 : return -1;
1759 : return 3;
1760 :
1761 : default:
1762 : return -1;
1763 : }
1764 : }
1765 :
1766 : int
1767 3732330 : pattern422 (rtx x1)
1768 : {
1769 3732330 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1770 3732330 : rtx x2, x3, x4;
1771 3732330 : int res ATTRIBUTE_UNUSED;
1772 3732330 : x2 = XEXP (x1, 1);
1773 3732330 : x3 = XEXP (x2, 0);
1774 3732330 : if (GET_CODE (x3) != REG
1775 3732330 : || REGNO (x3) != 7)
1776 : return -1;
1777 2215230 : x4 = XEXP (x1, 0);
1778 2215230 : if (GET_CODE (x4) != REG
1779 2215230 : || REGNO (x4) != 7)
1780 11 : return -1;
1781 : return 0;
1782 : }
1783 :
1784 : int
1785 68577 : pattern427 (rtx x1)
1786 : {
1787 68577 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1788 68577 : rtx x2, x3, x4, x5;
1789 68577 : int res ATTRIBUTE_UNUSED;
1790 68577 : x2 = XEXP (x1, 0);
1791 68577 : x3 = XEXP (x2, 0);
1792 68577 : if (GET_MODE (x3) != E_TImode
1793 109 : || !nonimmediate_operand (operands[0], E_TImode)
1794 109 : || GET_MODE (x1) != E_TImode
1795 68686 : || GET_MODE (x2) != E_TImode)
1796 68468 : return -1;
1797 109 : x4 = XEXP (x3, 0);
1798 109 : operands[1] = x4;
1799 109 : if (!nonimmediate_operand (operands[1], E_DImode)
1800 109 : || !const_int_operand (operands[2], E_QImode))
1801 14 : return -1;
1802 95 : x5 = XEXP (x1, 1);
1803 95 : return pattern259 (x5,
1804 : E_DImode,
1805 95 : E_TImode); /* [-1, 1] */
1806 : }
1807 :
1808 : int
1809 173875 : pattern434 (rtx x1)
1810 : {
1811 173875 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1812 173875 : rtx x2, x3, x4, x5;
1813 173875 : int res ATTRIBUTE_UNUSED;
1814 173875 : x2 = XEXP (x1, 0);
1815 173875 : x3 = XEXP (x2, 0);
1816 173875 : x4 = XEXP (x3, 0);
1817 173875 : operands[1] = x4;
1818 173875 : x5 = XEXP (x3, 1);
1819 173875 : operands[2] = x5;
1820 173875 : if (!const248_operand (operands[2], E_VOIDmode))
1821 : return -1;
1822 24088 : return pattern433 (x1); /* [-1, 1] */
1823 : }
1824 :
1825 : int
1826 96 : pattern442 (rtx x1)
1827 : {
1828 96 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1829 96 : rtx x2, x3, x4, x5;
1830 96 : int res ATTRIBUTE_UNUSED;
1831 96 : x2 = XEXP (x1, 0);
1832 96 : if (GET_MODE (x2) != E_SImode)
1833 : return -1;
1834 94 : x3 = XEXP (x2, 0);
1835 94 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
1836 : return -1;
1837 65 : x4 = XEXP (x2, 1);
1838 65 : if (GET_CODE (x4) != CLZ
1839 65 : || GET_MODE (x4) != E_SImode)
1840 : return -1;
1841 65 : x5 = XEXP (x1, 1);
1842 65 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
1843 0 : return -1;
1844 : return 0;
1845 : }
1846 :
1847 : int
1848 3680 : pattern449 (rtx x1, machine_mode i1)
1849 : {
1850 3680 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1851 3680 : rtx x2;
1852 3680 : int res ATTRIBUTE_UNUSED;
1853 3680 : if (!nonimmediate_operand (operands[0], i1)
1854 3676 : || GET_MODE (x1) != i1
1855 7356 : || !x86_64_general_operand (operands[1], i1))
1856 10 : return -1;
1857 3670 : x2 = XEXP (x1, 1);
1858 3670 : if (GET_MODE (x2) != i1)
1859 : return -1;
1860 : return 0;
1861 : }
1862 :
1863 : int
1864 6054 : pattern454 (rtx x1, int *pnum_clobbers)
1865 : {
1866 6054 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1867 6054 : rtx x2, x3, x4, x5;
1868 6054 : int res ATTRIBUTE_UNUSED;
1869 6054 : if (pnum_clobbers == NULL)
1870 : return -1;
1871 6052 : x2 = XEXP (x1, 1);
1872 6052 : if (maybe_ne (SUBREG_BYTE (x2), 0)
1873 6052 : || GET_MODE (x2) != E_QImode)
1874 : return -1;
1875 5728 : x3 = XEXP (x2, 0);
1876 5728 : switch (GET_CODE (x3))
1877 : {
1878 907 : case AND:
1879 907 : return pattern453 (x1); /* [-1, 1] */
1880 :
1881 0 : case PLUS:
1882 0 : x4 = XEXP (x3, 0);
1883 0 : operands[2] = x4;
1884 0 : if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
1885 : return -1;
1886 0 : res = pattern452 (x1);
1887 0 : if (res >= 0)
1888 0 : return res + 2; /* [2, 3] */
1889 : return -1;
1890 :
1891 0 : case MINUS:
1892 0 : x4 = XEXP (x3, 0);
1893 0 : operands[3] = x4;
1894 0 : if (!const_int_operand (operands[3], E_VOIDmode))
1895 : return -1;
1896 0 : x5 = XEXP (x3, 1);
1897 0 : operands[2] = x5;
1898 0 : if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
1899 : return -1;
1900 0 : res = pattern14 (x1);
1901 0 : if (res >= 0)
1902 0 : return res + 4; /* [4, 5] */
1903 : return -1;
1904 :
1905 : default:
1906 : return -1;
1907 : }
1908 : }
1909 :
1910 : int
1911 4331 : pattern466 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
1912 : {
1913 4331 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1914 4331 : rtx x2;
1915 4331 : int res ATTRIBUTE_UNUSED;
1916 4331 : if (!register_operand (operands[0], i2)
1917 4331 : || GET_MODE (x1) != i2)
1918 : return -1;
1919 4170 : x2 = XEXP (x1, 0);
1920 4170 : if (GET_MODE (x2) != i2
1921 4170 : || !register_operand (operands[1], i3)
1922 4166 : || !nonimmediate_operand (operands[2], i3)
1923 4165 : || !nonimm_or_0_operand (operands[3], i2)
1924 8208 : || !register_operand (operands[4], i1))
1925 354 : return -1;
1926 : return 0;
1927 : }
1928 :
1929 : int
1930 1896 : pattern474 (rtx x1)
1931 : {
1932 1896 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1933 1896 : rtx x2, x3, x4, x5, x6, x7, x8;
1934 1896 : int res ATTRIBUTE_UNUSED;
1935 1896 : x2 = XEXP (x1, 0);
1936 1896 : x3 = XVECEXP (x2, 0, 0);
1937 1896 : operands[1] = x3;
1938 1896 : x4 = XVECEXP (x2, 0, 1);
1939 1896 : operands[2] = x4;
1940 1896 : x5 = XVECEXP (x2, 0, 2);
1941 1896 : operands[3] = x5;
1942 1896 : x6 = XEXP (x1, 1);
1943 1896 : switch (GET_CODE (x6))
1944 : {
1945 628 : case CONST_INT:
1946 628 : case CONST_DOUBLE:
1947 628 : case CONST_VECTOR:
1948 628 : operands[4] = x6;
1949 628 : x7 = XEXP (x1, 2);
1950 628 : if (GET_CODE (x7) != UNSPEC
1951 628 : || XVECLEN (x7, 0) != 1
1952 628 : || XINT (x7, 1) != 224)
1953 : return -1;
1954 628 : x8 = XVECEXP (x7, 0, 0);
1955 628 : operands[5] = x8;
1956 628 : switch (GET_MODE (operands[0]))
1957 : {
1958 94 : case E_V32HFmode:
1959 94 : if (!register_operand (operands[0], E_V32HFmode)
1960 80 : || GET_MODE (x1) != E_V32HFmode
1961 80 : || GET_MODE (x2) != E_V32HFmode
1962 80 : || !vector_operand (operands[1], E_V32HFmode)
1963 80 : || !vector_operand (operands[2], E_V32HFmode)
1964 80 : || !vector_operand (operands[3], E_V32HFmode)
1965 80 : || !const0_operand (operands[4], E_V32HFmode)
1966 80 : || GET_MODE (x7) != E_SImode
1967 174 : || !register_operand (operands[5], E_HImode))
1968 40 : return -1;
1969 : return 0;
1970 :
1971 266 : case E_V16HFmode:
1972 266 : if (pattern472 (x1,
1973 : E_HImode,
1974 : E_V16HFmode) != 0)
1975 : return -1;
1976 : return 1;
1977 :
1978 268 : case E_V8HFmode:
1979 268 : if (pattern472 (x1,
1980 : E_QImode,
1981 : E_V8HFmode) != 0)
1982 : return -1;
1983 : return 2;
1984 :
1985 : default:
1986 : return -1;
1987 : }
1988 :
1989 1268 : case REG:
1990 1268 : case SUBREG:
1991 1268 : case MEM:
1992 1268 : x7 = XEXP (x1, 2);
1993 1268 : switch (GET_CODE (x7))
1994 : {
1995 1222 : case UNSPEC:
1996 1222 : if (XVECLEN (x7, 0) != 1
1997 1222 : || XINT (x7, 1) != 224)
1998 : return -1;
1999 1222 : x8 = XVECEXP (x7, 0, 0);
2000 1222 : operands[4] = x8;
2001 1222 : if (!rtx_equal_p (x6, operands[1]))
2002 : return -1;
2003 1222 : switch (GET_MODE (operands[0]))
2004 : {
2005 174 : case E_V32HFmode:
2006 174 : if (!register_operand (operands[0], E_V32HFmode)
2007 160 : || GET_MODE (x1) != E_V32HFmode
2008 160 : || GET_MODE (x2) != E_V32HFmode
2009 160 : || !vector_operand (operands[1], E_V32HFmode)
2010 158 : || !vector_operand (operands[2], E_V32HFmode)
2011 158 : || !vector_operand (operands[3], E_V32HFmode)
2012 158 : || GET_MODE (x7) != E_SImode
2013 332 : || !register_operand (operands[4], E_HImode))
2014 66 : return -1;
2015 : return 3;
2016 :
2017 522 : case E_V16HFmode:
2018 522 : if (pattern473 (x1,
2019 : E_HImode,
2020 : E_V16HFmode) != 0)
2021 : return -1;
2022 : return 4;
2023 :
2024 526 : case E_V8HFmode:
2025 526 : if (pattern473 (x1,
2026 : E_QImode,
2027 : E_V8HFmode) != 0)
2028 : return -1;
2029 : return 5;
2030 :
2031 : default:
2032 : return -1;
2033 : }
2034 :
2035 46 : case CONST_INT:
2036 46 : if (XWINT (x7, 0) != 3L
2037 46 : || !register_operand (operands[0], E_V8HFmode)
2038 35 : || GET_MODE (x1) != E_V8HFmode
2039 35 : || GET_MODE (x2) != E_V8HFmode
2040 35 : || !vector_operand (operands[1], E_V8HFmode)
2041 35 : || !vector_operand (operands[2], E_V8HFmode)
2042 35 : || !vector_operand (operands[3], E_V8HFmode)
2043 81 : || !rtx_equal_p (x6, operands[2]))
2044 11 : return -1;
2045 : return 6;
2046 :
2047 : default:
2048 : return -1;
2049 : }
2050 :
2051 : default:
2052 : return -1;
2053 : }
2054 : }
2055 :
2056 : int
2057 1662 : pattern507 (rtx x1, machine_mode i1, machine_mode i2)
2058 : {
2059 1662 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2060 1662 : rtx x2, x3, x4;
2061 1662 : int res ATTRIBUTE_UNUSED;
2062 1662 : if (!register_operand (operands[0], i1)
2063 1662 : || GET_MODE (x1) != i1)
2064 : return -1;
2065 1648 : x2 = XEXP (x1, 0);
2066 1648 : if (GET_MODE (x2) != i2)
2067 : return -1;
2068 1648 : x3 = XEXP (x2, 0);
2069 1648 : if (GET_MODE (x3) != i2)
2070 : return -1;
2071 1648 : x4 = XEXP (x2, 1);
2072 1648 : if (GET_MODE (x4) != i2
2073 1648 : || !nonimm_or_0_operand (operands[2], i1))
2074 20 : return -1;
2075 1628 : switch (GET_MODE (operands[1]))
2076 : {
2077 803 : case E_V4SImode:
2078 803 : if (!register_operand (operands[1], E_V4SImode))
2079 : return -1;
2080 : return 0;
2081 :
2082 825 : case E_V4DImode:
2083 825 : if (!register_operand (operands[1], E_V4DImode))
2084 : return -1;
2085 : return 1;
2086 :
2087 : default:
2088 : return -1;
2089 : }
2090 : }
2091 :
2092 : int
2093 755 : pattern513 (machine_mode i1)
2094 : {
2095 755 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2096 755 : int res ATTRIBUTE_UNUSED;
2097 755 : if (!const0_operand (operands[2], i1))
2098 : return -1;
2099 753 : switch (GET_MODE (operands[1]))
2100 : {
2101 357 : case E_V4DImode:
2102 357 : if (!register_operand (operands[1], E_V4DImode))
2103 : return -1;
2104 : return 0;
2105 :
2106 396 : case E_V4SImode:
2107 396 : if (!register_operand (operands[1], E_V4SImode))
2108 : return -1;
2109 : return 1;
2110 :
2111 : default:
2112 : return -1;
2113 : }
2114 : }
2115 :
2116 : int
2117 1118 : pattern519 (rtx x1)
2118 : {
2119 1118 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2120 1118 : int res ATTRIBUTE_UNUSED;
2121 1118 : if (!register_operand (operands[0], E_V2DFmode)
2122 1118 : || GET_MODE (x1) != E_V2DFmode)
2123 : return -1;
2124 950 : switch (GET_MODE (operands[1]))
2125 : {
2126 742 : case E_V2SImode:
2127 742 : if (!nonimmediate_operand (operands[1], E_V2SImode))
2128 : return -1;
2129 : return 0;
2130 :
2131 200 : case E_V2DImode:
2132 200 : if (!nonimmediate_operand (operands[1], E_V2DImode))
2133 : return -1;
2134 : return 1;
2135 :
2136 : default:
2137 : return -1;
2138 : }
2139 : }
2140 :
2141 : int
2142 6 : pattern524 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
2143 : {
2144 6 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2145 6 : rtx x2, x3;
2146 6 : int res ATTRIBUTE_UNUSED;
2147 6 : if (!nonimmediate_operand (operands[0], i3)
2148 6 : || GET_MODE (x1) != i3)
2149 : return -1;
2150 6 : x2 = XEXP (x1, 0);
2151 6 : if (GET_MODE (x2) != i2)
2152 : return -1;
2153 6 : x3 = XEXP (x2, 0);
2154 6 : if (GET_MODE (x3) != i1
2155 6 : || !register_operand (operands[1], i1)
2156 12 : || !permvar_truncate_operand (operands[2], i1))
2157 2 : return -1;
2158 : return 0;
2159 : }
2160 :
2161 : int
2162 17328 : pattern532 (rtx x1, machine_mode i1)
2163 : {
2164 17328 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2165 17328 : rtx x2, x3;
2166 17328 : int res ATTRIBUTE_UNUSED;
2167 17328 : if (!register_operand (operands[0], i1)
2168 17328 : || GET_MODE (x1) != i1)
2169 : return -1;
2170 17319 : x2 = XEXP (x1, 0);
2171 17319 : if (GET_MODE (x2) != i1
2172 17319 : || !regmem_or_bitnot_regmem_operand (operands[1], i1)
2173 34591 : || !regmem_or_bitnot_regmem_operand (operands[2], i1))
2174 65 : return -1;
2175 17254 : x3 = XEXP (x1, 1);
2176 17254 : if (GET_MODE (x3) != i1
2177 17254 : || !regmem_or_bitnot_regmem_operand (operands[3], i1)
2178 34508 : || !regmem_or_bitnot_regmem_operand (operands[4], i1))
2179 12 : return -1;
2180 : return 0;
2181 : }
2182 :
2183 : int
2184 125588 : pattern537 (rtx x1)
2185 : {
2186 125588 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2187 125588 : rtx x2, x3, x4, x5, x6, x7;
2188 125588 : int res ATTRIBUTE_UNUSED;
2189 125588 : x2 = XEXP (x1, 0);
2190 125588 : x3 = XEXP (x2, 0);
2191 125588 : x4 = XEXP (x3, 0);
2192 125588 : operands[1] = x4;
2193 125588 : x5 = XEXP (x3, 1);
2194 125588 : operands[2] = x5;
2195 125588 : x6 = XEXP (x2, 1);
2196 125588 : operands[3] = x6;
2197 125588 : x7 = XEXP (x1, 1);
2198 125588 : operands[4] = x7;
2199 125588 : switch (GET_MODE (operands[0]))
2200 : {
2201 0 : case E_V64QImode:
2202 0 : return pattern536 (x1,
2203 0 : E_V64QImode); /* [-1, 0] */
2204 :
2205 224 : case E_V32QImode:
2206 224 : if (pattern536 (x1,
2207 : E_V32QImode) != 0)
2208 : return -1;
2209 : return 1;
2210 :
2211 534 : case E_V16QImode:
2212 534 : if (pattern536 (x1,
2213 : E_V16QImode) != 0)
2214 : return -1;
2215 : return 2;
2216 :
2217 0 : case E_V32HImode:
2218 0 : if (pattern536 (x1,
2219 : E_V32HImode) != 0)
2220 : return -1;
2221 : return 3;
2222 :
2223 12 : case E_V16HImode:
2224 12 : if (pattern536 (x1,
2225 : E_V16HImode) != 0)
2226 : return -1;
2227 : return 4;
2228 :
2229 695 : case E_V8HImode:
2230 695 : if (pattern536 (x1,
2231 : E_V8HImode) != 0)
2232 : return -1;
2233 : return 5;
2234 :
2235 125 : case E_V16SImode:
2236 125 : if (pattern536 (x1,
2237 : E_V16SImode) != 0)
2238 : return -1;
2239 : return 6;
2240 :
2241 1420 : case E_V8SImode:
2242 1420 : if (pattern536 (x1,
2243 : E_V8SImode) != 0)
2244 : return -1;
2245 : return 7;
2246 :
2247 6079 : case E_V4SImode:
2248 6079 : if (pattern536 (x1,
2249 : E_V4SImode) != 0)
2250 : return -1;
2251 : return 8;
2252 :
2253 0 : case E_V8DImode:
2254 0 : if (pattern536 (x1,
2255 : E_V8DImode) != 0)
2256 : return -1;
2257 : return 9;
2258 :
2259 230 : case E_V4DImode:
2260 230 : if (pattern536 (x1,
2261 : E_V4DImode) != 0)
2262 : return -1;
2263 : return 10;
2264 :
2265 1300 : case E_V2DImode:
2266 1300 : if (pattern536 (x1,
2267 : E_V2DImode) != 0)
2268 : return -1;
2269 : return 11;
2270 :
2271 : default:
2272 : return -1;
2273 : }
2274 : }
2275 :
2276 : int
2277 12085 : pattern544 (rtx x1, machine_mode i1)
2278 : {
2279 12085 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2280 12085 : rtx x2;
2281 12085 : int res ATTRIBUTE_UNUSED;
2282 12085 : if (!register_operand (operands[0], i1)
2283 12085 : || GET_MODE (x1) != i1)
2284 : return -1;
2285 11825 : x2 = XEXP (x1, 0);
2286 11825 : switch (GET_MODE (x2))
2287 : {
2288 551 : case E_V4QImode:
2289 551 : if (!register_operand (operands[1], E_V16QImode))
2290 : return -1;
2291 : return 0;
2292 :
2293 10314 : case E_V4HImode:
2294 10314 : if (!register_operand (operands[1], E_V8HImode))
2295 : return -1;
2296 : return 1;
2297 :
2298 : default:
2299 : return -1;
2300 : }
2301 : }
2302 :
2303 : int
2304 55 : pattern548 (rtx x1)
2305 : {
2306 55 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2307 55 : rtx x2, x3, x4, x5;
2308 55 : int res ATTRIBUTE_UNUSED;
2309 55 : x2 = XVECEXP (x1, 0, 1);
2310 55 : x3 = XVECEXP (x2, 0, 0);
2311 55 : operands[2] = x3;
2312 55 : switch (GET_MODE (operands[0]))
2313 : {
2314 28 : case E_SImode:
2315 28 : x4 = XVECEXP (x1, 0, 0);
2316 28 : x5 = XEXP (x4, 1);
2317 28 : return pattern547 (x5,
2318 28 : E_SImode); /* [-1, 0] */
2319 :
2320 27 : case E_DImode:
2321 27 : x4 = XVECEXP (x1, 0, 0);
2322 27 : x5 = XEXP (x4, 1);
2323 27 : if (pattern547 (x5,
2324 : E_DImode) != 0)
2325 : return -1;
2326 : return 1;
2327 :
2328 : default:
2329 : return -1;
2330 : }
2331 : }
2332 :
2333 : int
2334 1200 : pattern555 (rtx x1)
2335 : {
2336 1200 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2337 1200 : rtx x2, x3, x4, x5, x6, x7, x8;
2338 1200 : int res ATTRIBUTE_UNUSED;
2339 1200 : x2 = XVECEXP (x1, 0, 0);
2340 1200 : x3 = XEXP (x2, 1);
2341 1200 : if (GET_MODE (x3) != E_V2SFmode)
2342 : return -1;
2343 140 : x4 = XVECEXP (x1, 0, 1);
2344 140 : if (GET_CODE (x4) != UNSPEC
2345 140 : || XVECLEN (x4, 0) != 1
2346 140 : || XINT (x4, 1) != 111)
2347 : return -1;
2348 140 : x5 = XVECEXP (x4, 0, 0);
2349 140 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2350 : return -1;
2351 140 : x6 = XEXP (x2, 0);
2352 140 : operands[0] = x6;
2353 140 : if (!register_operand (operands[0], E_V2SFmode))
2354 : return -1;
2355 140 : x7 = XVECEXP (x3, 0, 0);
2356 140 : operands[1] = x7;
2357 140 : if (!register_operand (operands[1], E_V2SFmode))
2358 : return -1;
2359 126 : x8 = XVECEXP (x3, 0, 1);
2360 126 : operands[2] = x8;
2361 126 : if (!nonimmediate_operand (operands[2], E_V2SFmode))
2362 : return -1;
2363 : return 0;
2364 : }
2365 :
2366 : int
2367 307492 : pattern563 (rtx x1, machine_mode i1, machine_mode i2)
2368 : {
2369 307492 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2370 307492 : rtx x2, x3;
2371 307492 : int res ATTRIBUTE_UNUSED;
2372 307492 : x2 = XEXP (x1, 0);
2373 307492 : if (GET_MODE (x2) != i2
2374 307492 : || !register_operand (operands[1], i1))
2375 14169 : return -1;
2376 293323 : x3 = XEXP (x1, 1);
2377 293323 : if (GET_MODE (x3) != i2
2378 293323 : || !nonimmediate_operand (operands[2], i1))
2379 985 : return -1;
2380 : return 0;
2381 : }
2382 :
2383 : int
2384 3534 : pattern569 (rtx x1, machine_mode i1)
2385 : {
2386 3534 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2387 3534 : int res ATTRIBUTE_UNUSED;
2388 3534 : if (!nonimmediate_operand (operands[0], i1)
2389 3534 : || GET_MODE (x1) != i1
2390 3534 : || !nonimmediate_operand (operands[1], i1)
2391 7041 : || !nonimmediate_or_x86_64_const_vector_operand (operands[2], i1))
2392 27 : return -1;
2393 : return 0;
2394 : }
2395 :
2396 : int
2397 46184 : pattern574 (rtx x1)
2398 : {
2399 46184 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2400 46184 : rtx x2, x3, x4, x5, x6;
2401 46184 : int res ATTRIBUTE_UNUSED;
2402 46184 : x2 = XVECEXP (x1, 0, 1);
2403 46184 : if (GET_CODE (x2) != CLOBBER)
2404 : return -1;
2405 44155 : x3 = XEXP (x2, 0);
2406 44155 : if (GET_CODE (x3) != REG
2407 44155 : || REGNO (x3) != 17
2408 88310 : || GET_MODE (x3) != E_CCmode)
2409 : return -1;
2410 44155 : x4 = XVECEXP (x1, 0, 0);
2411 44155 : x5 = XEXP (x4, 0);
2412 44155 : operands[0] = x5;
2413 44155 : if (!register_operand (operands[0], E_DImode))
2414 : return -1;
2415 44153 : x6 = XEXP (x4, 1);
2416 44153 : if (GET_MODE (x6) != E_DImode)
2417 : return -1;
2418 : return 0;
2419 : }
2420 :
2421 : int
2422 119 : pattern581 (rtx x1)
2423 : {
2424 119 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2425 119 : int res ATTRIBUTE_UNUSED;
2426 119 : switch (GET_MODE (operands[0]))
2427 : {
2428 24 : case E_QImode:
2429 24 : if (!register_operand (operands[0], E_QImode)
2430 24 : || GET_MODE (x1) != E_QImode
2431 48 : || !const_int_operand (operands[1], E_QImode))
2432 0 : return -1;
2433 : return 0;
2434 :
2435 0 : case E_HImode:
2436 0 : if (!register_operand (operands[0], E_HImode)
2437 0 : || GET_MODE (x1) != E_HImode
2438 0 : || !const_int_operand (operands[1], E_HImode))
2439 0 : return -1;
2440 : return 1;
2441 :
2442 42 : case E_SImode:
2443 42 : if (!register_operand (operands[0], E_SImode)
2444 39 : || GET_MODE (x1) != E_SImode
2445 81 : || !const_int_operand (operands[1], E_SImode))
2446 3 : return -1;
2447 : return 2;
2448 :
2449 53 : case E_DImode:
2450 53 : if (!register_operand (operands[0], E_DImode)
2451 53 : || GET_MODE (x1) != E_DImode
2452 106 : || !const_int_operand (operands[1], E_DImode))
2453 0 : return -1;
2454 : return 3;
2455 :
2456 : default:
2457 : return -1;
2458 : }
2459 : }
2460 :
2461 : int
2462 53142 : pattern592 (rtx x1)
2463 : {
2464 53142 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2465 53142 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2466 53142 : int res ATTRIBUTE_UNUSED;
2467 53142 : x2 = XVECEXP (x1, 0, 1);
2468 53142 : if (GET_CODE (x2) != USE)
2469 : return -1;
2470 53140 : x3 = XVECEXP (x1, 0, 2);
2471 53140 : x4 = XEXP (x3, 0);
2472 53140 : if (GET_CODE (x4) != REG
2473 53140 : || REGNO (x4) != 17
2474 106280 : || GET_MODE (x4) != E_CCmode)
2475 : return -1;
2476 53140 : x5 = XVECEXP (x1, 0, 0);
2477 53140 : x6 = XEXP (x5, 0);
2478 53140 : operands[0] = x6;
2479 53140 : x7 = XEXP (x5, 1);
2480 53140 : x8 = XEXP (x7, 0);
2481 53140 : operands[1] = x8;
2482 53140 : x9 = XEXP (x2, 0);
2483 53140 : operands[2] = x9;
2484 53140 : switch (GET_MODE (operands[0]))
2485 : {
2486 258 : case E_HFmode:
2487 258 : return pattern226 (x7,
2488 : E_V8HFmode,
2489 258 : E_HFmode); /* [-1, 0] */
2490 :
2491 20100 : case E_SFmode:
2492 20100 : if (GET_MODE (x7) != E_SFmode)
2493 : return -1;
2494 : return 1;
2495 :
2496 32782 : case E_DFmode:
2497 32782 : if (GET_MODE (x7) != E_DFmode)
2498 : return -1;
2499 : return 2;
2500 :
2501 : default:
2502 : return -1;
2503 : }
2504 : }
2505 :
2506 : int
2507 31829 : pattern600 (rtx x1)
2508 : {
2509 31829 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2510 31829 : rtx x2, x3, x4, x5, x6;
2511 31829 : int res ATTRIBUTE_UNUSED;
2512 31829 : x2 = XVECEXP (x1, 0, 2);
2513 31829 : if (!const_0_to_7_operand (x2, E_SImode))
2514 : return -1;
2515 30041 : x3 = XVECEXP (x1, 0, 0);
2516 30041 : switch (GET_CODE (x3))
2517 : {
2518 28065 : case CONST_INT:
2519 28065 : case CONST_WIDE_INT:
2520 28065 : case CONST_POLY_INT:
2521 28065 : case CONST_FIXED:
2522 28065 : case CONST_DOUBLE:
2523 28065 : case CONST_VECTOR:
2524 28065 : case CONST:
2525 28065 : case REG:
2526 28065 : case SUBREG:
2527 28065 : case MEM:
2528 28065 : case LABEL_REF:
2529 28065 : case SYMBOL_REF:
2530 28065 : case HIGH:
2531 28065 : operands[1] = x3;
2532 28065 : x4 = XVECEXP (x1, 0, 1);
2533 28065 : operands[2] = x4;
2534 28065 : operands[3] = x2;
2535 28065 : switch (GET_MODE (operands[0]))
2536 : {
2537 1110 : case E_DImode:
2538 1110 : return pattern596 (x1); /* [-1, 0] */
2539 :
2540 2363 : case E_SImode:
2541 2363 : res = pattern597 (x1);
2542 2363 : if (res >= 0)
2543 2154 : return res + 1; /* [1, 2] */
2544 : return -1;
2545 :
2546 12039 : case E_HImode:
2547 12039 : res = pattern598 (x1);
2548 12039 : if (res >= 0)
2549 11100 : return res + 3; /* [3, 5] */
2550 : return -1;
2551 :
2552 12158 : case E_QImode:
2553 12158 : res = pattern599 (x1);
2554 12158 : if (res >= 0)
2555 10269 : return res + 6; /* [6, 11] */
2556 : return -1;
2557 :
2558 : default:
2559 : return -1;
2560 : }
2561 :
2562 36 : case US_MINUS:
2563 36 : x5 = XEXP (x3, 0);
2564 36 : operands[1] = x5;
2565 36 : x6 = XEXP (x3, 1);
2566 36 : operands[2] = x6;
2567 36 : x4 = XVECEXP (x1, 0, 1);
2568 36 : operands[3] = x4;
2569 36 : operands[4] = x2;
2570 36 : switch (GET_MODE (operands[0]))
2571 : {
2572 6 : case E_DImode:
2573 6 : if (pattern73 (x1,
2574 : E_V64QImode,
2575 : E_DImode) != 0)
2576 : return -1;
2577 : return 12;
2578 :
2579 12 : case E_HImode:
2580 12 : res = pattern72 (x1);
2581 12 : if (res >= 0)
2582 12 : return res + 13; /* [13, 14] */
2583 : return -1;
2584 :
2585 12 : case E_SImode:
2586 12 : res = pattern304 (x1);
2587 12 : if (res >= 0)
2588 12 : return res + 15; /* [15, 16] */
2589 : return -1;
2590 :
2591 6 : case E_QImode:
2592 6 : if (pattern73 (x1,
2593 : E_V8HImode,
2594 : E_QImode) != 0)
2595 : return -1;
2596 : return 17;
2597 :
2598 : default:
2599 : return -1;
2600 : }
2601 :
2602 : default:
2603 : return -1;
2604 : }
2605 : }
2606 :
2607 : int
2608 1598 : pattern624 (rtx x1, int *pnum_clobbers, machine_mode i1)
2609 : {
2610 1598 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2611 1598 : int res ATTRIBUTE_UNUSED;
2612 1598 : if (pnum_clobbers == NULL
2613 1576 : || !register_operand (operands[0], i1)
2614 1322 : || GET_MODE (x1) != i1
2615 2920 : || !register_operand (operands[1], i1))
2616 1109 : return -1;
2617 : return 0;
2618 : }
2619 :
2620 : int
2621 575120 : pattern630 (rtx x1, machine_mode i1)
2622 : {
2623 575120 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2624 575120 : int res ATTRIBUTE_UNUSED;
2625 575120 : if (!register_operand (operands[0], i1)
2626 549303 : || GET_MODE (x1) != i1
2627 549303 : || !nonimmediate_operand (operands[1], i1)
2628 1100874 : || !x86_64_general_operand (operands[2], i1))
2629 166422 : return -1;
2630 : return 0;
2631 : }
2632 :
2633 : int
2634 669484 : pattern634 (rtx x1)
2635 : {
2636 669484 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2637 669484 : rtx x2, x3, x4, x5;
2638 669484 : int res ATTRIBUTE_UNUSED;
2639 669484 : x2 = XEXP (x1, 1);
2640 669484 : if (GET_CODE (x2) != SUBREG
2641 259608 : || maybe_ne (SUBREG_BYTE (x2), 0)
2642 929092 : || GET_MODE (x2) != E_QImode)
2643 : return -1;
2644 257621 : x3 = XEXP (x2, 0);
2645 257621 : switch (GET_CODE (x3))
2646 : {
2647 18112 : case AND:
2648 18112 : return pattern453 (x1); /* [-1, 1] */
2649 :
2650 0 : case PLUS:
2651 0 : res = pattern453 (x1);
2652 0 : if (res >= 0)
2653 0 : return res + 2; /* [2, 3] */
2654 : return -1;
2655 :
2656 0 : case MINUS:
2657 0 : x4 = XEXP (x3, 0);
2658 0 : operands[3] = x4;
2659 0 : if (!const_int_operand (operands[3], E_VOIDmode))
2660 : return -1;
2661 0 : x5 = XEXP (x3, 1);
2662 0 : operands[2] = x5;
2663 0 : if (!int248_register_operand (operands[2], E_VOIDmode))
2664 : return -1;
2665 0 : res = pattern14 (x1);
2666 0 : if (res >= 0)
2667 0 : return res + 4; /* [4, 5] */
2668 : return -1;
2669 :
2670 : default:
2671 : return -1;
2672 : }
2673 : }
2674 :
2675 : int
2676 13646 : pattern648 (rtx x1)
2677 : {
2678 13646 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2679 13646 : rtx x2, x3;
2680 13646 : int res ATTRIBUTE_UNUSED;
2681 13646 : x2 = XEXP (x1, 2);
2682 13646 : switch (GET_CODE (x2))
2683 : {
2684 11254 : case REG:
2685 11254 : case SUBREG:
2686 11254 : operands[4] = x2;
2687 11254 : switch (GET_MODE (operands[0]))
2688 : {
2689 : case E_V32HFmode:
2690 : return 0;
2691 :
2692 1524 : case E_V16HFmode:
2693 1524 : return 1;
2694 :
2695 996 : case E_V8HFmode:
2696 996 : return 2;
2697 :
2698 695 : case E_V16SFmode:
2699 695 : return 3;
2700 :
2701 1086 : case E_V8SFmode:
2702 1086 : return 4;
2703 :
2704 868 : case E_V4SFmode:
2705 868 : return 5;
2706 :
2707 519 : case E_V8DFmode:
2708 519 : return 6;
2709 :
2710 1146 : case E_V4DFmode:
2711 1146 : return 7;
2712 :
2713 868 : case E_V2DFmode:
2714 868 : return 8;
2715 :
2716 1044 : case E_V32BFmode:
2717 1044 : return 9;
2718 :
2719 1060 : case E_V16BFmode:
2720 1060 : return 10;
2721 :
2722 1044 : case E_V8BFmode:
2723 1044 : return 11;
2724 :
2725 : default:
2726 : return -1;
2727 : }
2728 :
2729 1894 : case CONST_INT:
2730 1894 : if (XWINT (x2, 0) != 1L)
2731 : return -1;
2732 1362 : x3 = XEXP (x1, 1);
2733 1362 : if (!rtx_equal_p (x3, operands[1]))
2734 : return -1;
2735 1270 : switch (GET_MODE (operands[0]))
2736 : {
2737 : case E_V8HFmode:
2738 : return 12;
2739 :
2740 : case E_V4SFmode:
2741 : return 13;
2742 :
2743 : case E_V2DFmode:
2744 : return 14;
2745 :
2746 : default:
2747 : return -1;
2748 : }
2749 :
2750 : default:
2751 : return -1;
2752 : }
2753 : }
2754 :
2755 : int
2756 4987 : pattern660 (rtx x1)
2757 : {
2758 4987 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2759 4987 : rtx x2, x3, x4, x5, x6, x7, x8;
2760 4987 : int res ATTRIBUTE_UNUSED;
2761 4987 : x2 = XVECEXP (x1, 0, 0);
2762 4987 : x3 = XEXP (x2, 0);
2763 4987 : x4 = XEXP (x3, 0);
2764 4987 : operands[1] = x4;
2765 4987 : x5 = XEXP (x3, 1);
2766 4987 : operands[2] = x5;
2767 4987 : x6 = XVECEXP (x1, 0, 1);
2768 4987 : if (!const_4_or_8_to_11_operand (x6, E_SImode))
2769 : return -1;
2770 4987 : x7 = XEXP (x2, 2);
2771 4987 : switch (GET_CODE (x7))
2772 : {
2773 3023 : case REG:
2774 3023 : case SUBREG:
2775 3023 : operands[4] = x7;
2776 3023 : x8 = XEXP (x2, 1);
2777 3023 : operands[3] = x8;
2778 3023 : operands[5] = x6;
2779 3023 : switch (GET_MODE (operands[0]))
2780 : {
2781 881 : case E_V32HFmode:
2782 881 : return pattern657 (x1,
2783 : E_V32HFmode,
2784 881 : E_SImode); /* [-1, 0] */
2785 :
2786 0 : case E_V16HFmode:
2787 0 : if (pattern657 (x1,
2788 : E_V16HFmode,
2789 : E_HImode) != 0)
2790 : return -1;
2791 : return 1;
2792 :
2793 0 : case E_V8HFmode:
2794 0 : if (pattern657 (x1,
2795 : E_V8HFmode,
2796 : E_QImode) != 0)
2797 : return -1;
2798 : return 2;
2799 :
2800 1074 : case E_V16SFmode:
2801 1074 : if (pattern657 (x1,
2802 : E_V16SFmode,
2803 : E_HImode) != 0)
2804 : return -1;
2805 : return 3;
2806 :
2807 0 : case E_V8SFmode:
2808 0 : if (pattern657 (x1,
2809 : E_V8SFmode,
2810 : E_QImode) != 0)
2811 : return -1;
2812 : return 4;
2813 :
2814 0 : case E_V4SFmode:
2815 0 : if (pattern657 (x1,
2816 : E_V4SFmode,
2817 : E_QImode) != 0)
2818 : return -1;
2819 : return 5;
2820 :
2821 1068 : case E_V8DFmode:
2822 1068 : if (pattern657 (x1,
2823 : E_V8DFmode,
2824 : E_QImode) != 0)
2825 : return -1;
2826 : return 6;
2827 :
2828 0 : case E_V4DFmode:
2829 0 : if (pattern657 (x1,
2830 : E_V4DFmode,
2831 : E_QImode) != 0)
2832 : return -1;
2833 : return 7;
2834 :
2835 0 : case E_V2DFmode:
2836 0 : if (pattern657 (x1,
2837 : E_V2DFmode,
2838 : E_QImode) != 0)
2839 : return -1;
2840 : return 8;
2841 :
2842 : default:
2843 : return -1;
2844 : }
2845 :
2846 1936 : case CONST_INT:
2847 1936 : res = pattern659 (x1);
2848 1936 : if (res >= 0)
2849 1779 : return res + 9; /* [9, 11] */
2850 : return -1;
2851 :
2852 : default:
2853 : return -1;
2854 : }
2855 : }
2856 :
2857 : int
2858 176602 : pattern680 (rtx x1, machine_mode i1)
2859 : {
2860 176602 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2861 176602 : int res ATTRIBUTE_UNUSED;
2862 176602 : if (!register_operand (operands[0], i1)
2863 175285 : || GET_MODE (x1) != i1
2864 175279 : || !register_operand (operands[1], i1)
2865 308665 : || !vector_operand (operands[2], i1))
2866 73718 : return -1;
2867 : return 0;
2868 : }
2869 :
2870 : int
2871 259 : pattern685 (rtx x1, machine_mode i1)
2872 : {
2873 259 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2874 259 : rtx x2;
2875 259 : int res ATTRIBUTE_UNUSED;
2876 259 : if (!register_operand (operands[0], i1)
2877 259 : || GET_MODE (x1) != i1)
2878 : return -1;
2879 241 : x2 = XEXP (x1, 0);
2880 241 : if (GET_MODE (x2) != i1
2881 241 : || !ieee_maxmin_comparison_operator (operands[1], i1)
2882 241 : || !nonimmediate_operand (operands[2], i1)
2883 224 : || !const0_operand (operands[3], i1)
2884 283 : || !nonimmediate_operand (operands[4], i1))
2885 199 : return -1;
2886 : return 0;
2887 : }
2888 :
2889 : int
2890 26 : pattern690 (rtx x1)
2891 : {
2892 26 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2893 26 : rtx x2, x3, x4, x5, x6, x7;
2894 26 : int res ATTRIBUTE_UNUSED;
2895 26 : x2 = XEXP (x1, 0);
2896 26 : x3 = XEXP (x2, 0);
2897 26 : x4 = XEXP (x3, 0);
2898 26 : x5 = XEXP (x4, 0);
2899 26 : x6 = XEXP (x5, 0);
2900 26 : operands[1] = x6;
2901 26 : if (!memory_operand (operands[1], E_SImode))
2902 : return -1;
2903 16 : x7 = XEXP (x2, 1);
2904 16 : switch (XVECLEN (x7, 0))
2905 : {
2906 10 : case 4:
2907 10 : return pattern687 (x1,
2908 : E_V16QImode,
2909 10 : E_V4QImode); /* [-1, 1] */
2910 :
2911 6 : case 2:
2912 6 : if (pattern688 (x1,
2913 : E_V2HImode,
2914 : E_V8HImode) != 0)
2915 : return -1;
2916 : return 2;
2917 :
2918 : default:
2919 : return -1;
2920 : }
2921 : }
2922 :
2923 : int
2924 1422 : pattern697 (rtx x1)
2925 : {
2926 1422 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2927 1422 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2928 1422 : rtx x10, x11;
2929 1422 : int res ATTRIBUTE_UNUSED;
2930 1422 : x2 = XVECEXP (x1, 0, 0);
2931 1422 : x3 = XEXP (x2, 1);
2932 1422 : x4 = XEXP (x3, 0);
2933 1422 : x5 = XEXP (x4, 1);
2934 1422 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2935 : return -1;
2936 1259 : x6 = XEXP (x3, 1);
2937 1259 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2938 : return -1;
2939 1259 : x7 = XVECEXP (x1, 0, 1);
2940 1259 : if (GET_CODE (x7) != CLOBBER)
2941 : return -1;
2942 755 : x8 = XEXP (x7, 0);
2943 755 : if (GET_CODE (x8) != REG
2944 755 : || REGNO (x8) != 17
2945 1259 : || GET_MODE (x8) != E_CCmode)
2946 : return -1;
2947 472 : x9 = XEXP (x2, 0);
2948 472 : operands[0] = x9;
2949 472 : if (!register_operand (operands[0], E_QImode)
2950 472 : || GET_MODE (x3) != E_QImode)
2951 : return -1;
2952 468 : x10 = XEXP (x4, 0);
2953 468 : operands[1] = x10;
2954 468 : x11 = XEXP (x4, 2);
2955 468 : operands[2] = x11;
2956 468 : if (!register_operand (operands[2], E_QImode))
2957 : return -1;
2958 412 : switch (GET_MODE (x4))
2959 : {
2960 127 : case E_SImode:
2961 127 : if (!register_operand (operands[1], E_SImode))
2962 : return -1;
2963 : return 0;
2964 :
2965 285 : case E_DImode:
2966 285 : if (!register_operand (operands[1], E_DImode))
2967 : return -1;
2968 : return 1;
2969 :
2970 : default:
2971 : return -1;
2972 : }
2973 : }
2974 :
2975 : int
2976 195 : pattern708 (rtx x1, machine_mode i1)
2977 : {
2978 195 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2979 195 : int res ATTRIBUTE_UNUSED;
2980 195 : if (!register_operand (operands[0], i1)
2981 179 : || GET_MODE (x1) != i1
2982 179 : || !register_operand (operands[1], i1)
2983 310 : || !register_operand (operands[2], i1))
2984 136 : return -1;
2985 : return 0;
2986 : }
2987 :
2988 : int
2989 7961 : pattern717 (rtx x1, int i1, int i2)
2990 : {
2991 7961 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2992 7961 : rtx x2, x3, x4, x5, x6, x7, x8;
2993 7961 : int res ATTRIBUTE_UNUSED;
2994 7961 : x2 = XVECEXP (x1, 0, 1);
2995 7961 : if (GET_CODE (x2) != SET)
2996 : return -1;
2997 7961 : x3 = XEXP (x2, 1);
2998 7961 : if (GET_CODE (x3) != UNSPEC
2999 6415 : || XVECLEN (x3, 0) != i2
3000 6415 : || XINT (x3, 1) != i1
3001 6415 : || GET_MODE (x3) != E_V16QImode)
3002 : return -1;
3003 6415 : x4 = XVECEXP (x1, 0, 2);
3004 6415 : if (GET_CODE (x4) != SET)
3005 : return -1;
3006 6415 : x5 = XEXP (x4, 1);
3007 6415 : if (GET_CODE (x5) != UNSPEC
3008 5909 : || XVECLEN (x5, 0) != i2
3009 5909 : || XINT (x5, 1) != i1
3010 5909 : || GET_MODE (x5) != E_CCmode)
3011 : return -1;
3012 5909 : x6 = XEXP (x4, 0);
3013 5909 : if (GET_CODE (x6) != REG
3014 5909 : || REGNO (x6) != 17
3015 11818 : || GET_MODE (x6) != E_CCmode)
3016 : return -1;
3017 5909 : x7 = XVECEXP (x1, 0, 0);
3018 5909 : x8 = XEXP (x7, 0);
3019 5909 : operands[0] = x8;
3020 5909 : return 0;
3021 : }
3022 :
3023 : int
3024 124740 : pattern725 (rtx x1, machine_mode i1, machine_mode i2)
3025 : {
3026 124740 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3027 124740 : rtx x2, x3, x4, x5, x6, x7;
3028 124740 : int res ATTRIBUTE_UNUSED;
3029 124740 : x2 = XVECEXP (x1, 0, 0);
3030 124740 : x3 = XEXP (x2, 1);
3031 124740 : x4 = XEXP (x3, 1);
3032 124740 : if (GET_MODE (x4) != i2)
3033 : return -1;
3034 124740 : x5 = XEXP (x4, 0);
3035 124740 : if (GET_MODE (x5) != i1
3036 124740 : || !nonimmediate_operand (operands[0], i1))
3037 0 : return -1;
3038 124740 : x6 = XVECEXP (x1, 0, 1);
3039 124740 : x7 = XEXP (x6, 1);
3040 124740 : if (GET_MODE (x7) != i1)
3041 : return -1;
3042 : return 0;
3043 : }
3044 :
3045 : int
3046 132299 : pattern733 (rtx x1, machine_mode i1)
3047 : {
3048 132299 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3049 132299 : rtx x2;
3050 132299 : int res ATTRIBUTE_UNUSED;
3051 132299 : if (peep2_current_count < 2
3052 132299 : || peep2_current_count < 3
3053 121912 : || !general_reg_operand (operands[0], i1)
3054 225235 : || !general_reg_operand (operands[1], i1))
3055 44840 : return -1;
3056 87459 : x2 = PATTERN (peep2_next_insn (2));
3057 87459 : if (GET_CODE (x2) != SET)
3058 : return -1;
3059 58717 : switch (GET_CODE (x1))
3060 : {
3061 : case SET:
3062 : return 0;
3063 :
3064 25005 : case PARALLEL:
3065 25005 : return 1;
3066 :
3067 : default:
3068 : return -1;
3069 : }
3070 : }
3071 :
3072 : int
3073 3802594 : pattern737 (rtx x1, machine_mode i1)
3074 : {
3075 3802594 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3076 3802594 : rtx x2, x3, x4, x5, x6;
3077 3802594 : int res ATTRIBUTE_UNUSED;
3078 3802594 : if (!register_operand (operands[0], i1)
3079 3802594 : || GET_CODE (x1) != SET)
3080 : return -1;
3081 3013035 : x2 = XEXP (x1, 1);
3082 3013035 : if (GET_CODE (x2) != PLUS
3083 267760 : || GET_MODE (x2) != i1)
3084 : return -1;
3085 260140 : x3 = XEXP (x1, 0);
3086 260140 : operands[3] = x3;
3087 260140 : if (!register_operand (operands[3], i1))
3088 : return -1;
3089 260140 : x4 = XEXP (x2, 0);
3090 260140 : operands[4] = x4;
3091 260140 : if (!register_operand (operands[4], i1))
3092 : return -1;
3093 212765 : x5 = XEXP (x2, 1);
3094 212765 : operands[2] = x5;
3095 212765 : if (!x86_64_nonmemory_operand (operands[2], i1))
3096 : return -1;
3097 203975 : x6 = PATTERN (peep2_next_insn (2));
3098 203975 : return pattern735 (x6,
3099 203975 : i1); /* [-1, 0] */
3100 : }
3101 :
3102 : int
3103 720 : pattern749 (rtx x1, machine_mode i1)
3104 : {
3105 720 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3106 720 : rtx x2;
3107 720 : int res ATTRIBUTE_UNUSED;
3108 720 : if (!nonimmediate_operand (operands[0], i1)
3109 720 : || GET_MODE (x1) != i1)
3110 : return -1;
3111 720 : x2 = XEXP (x1, 0);
3112 720 : if (GET_MODE (x2) != i1
3113 720 : || !nonimmediate_operand (operands[1], i1)
3114 1103 : || !general_operand (operands[2], i1))
3115 337 : return -1;
3116 : return 0;
3117 : }
3118 :
3119 : int
3120 67602 : pattern752 ()
3121 : {
3122 67602 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3123 67602 : int res ATTRIBUTE_UNUSED;
3124 67602 : switch (GET_MODE (operands[0]))
3125 : {
3126 55069 : case E_XFmode:
3127 55069 : if (!register_operand (operands[0], E_XFmode)
3128 55069 : || !binary_fp_operator (operands[3], E_XFmode))
3129 1004 : return -1;
3130 : return 0;
3131 :
3132 10804 : case E_DFmode:
3133 10804 : if (!register_operand (operands[0], E_DFmode)
3134 10804 : || !binary_fp_operator (operands[3], E_DFmode))
3135 50 : return -1;
3136 : return 1;
3137 :
3138 : default:
3139 : return -1;
3140 : }
3141 : }
3142 :
3143 : int
3144 5351 : pattern761 (rtx x1)
3145 : {
3146 5351 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3147 5351 : rtx x2, x3, x4;
3148 5351 : int res ATTRIBUTE_UNUSED;
3149 5351 : x2 = XEXP (x1, 0);
3150 5351 : x3 = XEXP (x2, 0);
3151 5351 : operands[1] = x3;
3152 5351 : x4 = XEXP (x1, 1);
3153 5351 : if (!rtx_equal_p (x4, operands[1]))
3154 : return -1;
3155 2643 : switch (GET_MODE (x1))
3156 : {
3157 1104 : case E_SImode:
3158 1104 : if (GET_MODE (x2) != E_SImode
3159 1104 : || !nonimmediate_operand (operands[1], E_SImode))
3160 21 : return -1;
3161 : return 0;
3162 :
3163 1533 : case E_DImode:
3164 1533 : if (GET_MODE (x2) != E_DImode
3165 1533 : || !nonimmediate_operand (operands[1], E_DImode))
3166 16 : return -1;
3167 : return 1;
3168 :
3169 : default:
3170 : return -1;
3171 : }
3172 : }
3173 :
3174 : int
3175 2998 : pattern773 (rtx x1, machine_mode i1)
3176 : {
3177 2998 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3178 2998 : rtx x2, x3;
3179 2998 : int res ATTRIBUTE_UNUSED;
3180 2998 : if (!register_operand (operands[0], i1)
3181 2998 : || GET_MODE (x1) != i1)
3182 : return -1;
3183 2926 : x2 = XEXP (x1, 0);
3184 2926 : if (GET_MODE (x2) != i1)
3185 : return -1;
3186 2926 : x3 = XEXP (x2, 0);
3187 2926 : if (GET_MODE (x3) != i1
3188 2926 : || !register_operand (operands[1], i1)
3189 2926 : || !nonimmediate_operand (operands[2], i1)
3190 5852 : || !nonimm_or_0_operand (operands[3], i1))
3191 0 : return -1;
3192 : return 0;
3193 : }
3194 :
3195 : int
3196 213 : pattern779 (rtx x1, machine_mode i1)
3197 : {
3198 213 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3199 213 : int res ATTRIBUTE_UNUSED;
3200 213 : if (!register_operand (operands[0], i1)
3201 213 : || GET_MODE (x1) != i1)
3202 : return -1;
3203 182 : switch (GET_MODE (operands[1]))
3204 : {
3205 77 : case E_V8HFmode:
3206 77 : if (!vector_operand (operands[1], E_V8HFmode))
3207 : return -1;
3208 : return 0;
3209 :
3210 73 : case E_V8SFmode:
3211 73 : if (!nonimmediate_operand (operands[1], E_V8SFmode))
3212 : return -1;
3213 : return 1;
3214 :
3215 32 : case E_V8DFmode:
3216 32 : if (!nonimmediate_operand (operands[1], E_V8DFmode))
3217 : return -1;
3218 : return 2;
3219 :
3220 : default:
3221 : return -1;
3222 : }
3223 : }
3224 :
3225 : int
3226 40260 : pattern786 (rtx x1, machine_mode i1, machine_mode i2)
3227 : {
3228 40260 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3229 40260 : int res ATTRIBUTE_UNUSED;
3230 40260 : if (!register_operand (operands[0], i2)
3231 40253 : || GET_MODE (x1) != i2
3232 40253 : || !vector_operand (operands[1], i1)
3233 75996 : || !vector_operand (operands[2], i1))
3234 18813 : return -1;
3235 : return 0;
3236 : }
3237 :
3238 : int
3239 3105 : pattern793 (rtx x1, machine_mode i1, machine_mode i2)
3240 : {
3241 3105 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3242 3105 : int res ATTRIBUTE_UNUSED;
3243 3105 : if (!memory_operand (operands[0], i1)
3244 3093 : || GET_MODE (x1) != i1
3245 3093 : || !register_operand (operands[1], i1)
3246 5982 : || !const0_or_m1_operand (operands[2], i2))
3247 3099 : return -1;
3248 : return 0;
3249 : }
3250 :
3251 : int
3252 523 : pattern802 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
3253 : {
3254 523 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3255 523 : rtx x2, x3;
3256 523 : int res ATTRIBUTE_UNUSED;
3257 523 : if (!register_operand (operands[0], i3)
3258 523 : || GET_MODE (x1) != i3)
3259 : return -1;
3260 522 : x2 = XEXP (x1, 0);
3261 522 : if (GET_MODE (x2) != i2
3262 522 : || !register_operand (operands[1], i1))
3263 16 : return -1;
3264 506 : x3 = XEXP (x1, 1);
3265 506 : if (GET_MODE (x3) != i2
3266 506 : || !vector_operand (operands[2], i1))
3267 0 : return -1;
3268 : return 0;
3269 : }
3270 :
3271 : int
3272 95 : pattern811 (rtx x1, machine_mode i1, machine_mode i2)
3273 : {
3274 95 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3275 95 : rtx x2;
3276 95 : int res ATTRIBUTE_UNUSED;
3277 95 : if (!register_operand (operands[0], i2)
3278 95 : || GET_MODE (x1) != i2)
3279 : return -1;
3280 95 : x2 = XEXP (x1, 0);
3281 95 : if (GET_MODE (x2) != i2
3282 45 : || !memory_operand (operands[1], i1)
3283 133 : || !general_operand (operands[2], i1))
3284 57 : return -1;
3285 : return 0;
3286 : }
3287 :
3288 : int
3289 40422 : pattern819 (rtx x1)
3290 : {
3291 40422 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3292 40422 : rtx x2, x3, x4, x5;
3293 40422 : int res ATTRIBUTE_UNUSED;
3294 40422 : x2 = XEXP (x1, 1);
3295 40422 : x3 = XEXP (x2, 0);
3296 40422 : x4 = XEXP (x3, 0);
3297 40422 : operands[2] = x4;
3298 40422 : if (!int248_register_operand (operands[2], E_VOIDmode))
3299 : return -1;
3300 35740 : x5 = XEXP (x3, 1);
3301 35740 : operands[3] = x5;
3302 35740 : if (!const_int_operand (operands[3], E_VOIDmode))
3303 : return -1;
3304 35726 : return pattern249 (x1); /* [-1, 1] */
3305 : }
3306 :
3307 : int
3308 40910 : pattern823 (rtx x1, machine_mode i1)
3309 : {
3310 40910 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3311 40910 : rtx x2, x3, x4, x5;
3312 40910 : int res ATTRIBUTE_UNUSED;
3313 40910 : x2 = XVECEXP (x1, 0, 1);
3314 40910 : x3 = XEXP (x2, 0);
3315 40910 : if (GET_CODE (x3) != REG
3316 40910 : || REGNO (x3) != 17
3317 81820 : || GET_MODE (x3) != E_CCmode)
3318 : return -1;
3319 40910 : x4 = XVECEXP (x1, 0, 0);
3320 40910 : x5 = XEXP (x4, 0);
3321 40910 : operands[0] = x5;
3322 40910 : if (!register_operand (operands[0], i1))
3323 : return -1;
3324 : return 0;
3325 : }
3326 :
3327 : int
3328 331064 : pattern827 (rtx x1, machine_mode i1)
3329 : {
3330 331064 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3331 331064 : rtx x2, x3;
3332 331064 : int res ATTRIBUTE_UNUSED;
3333 331064 : x2 = XEXP (x1, 0);
3334 331064 : if (GET_CODE (x2) != REG
3335 331064 : || REGNO (x2) != 17
3336 662128 : || GET_MODE (x2) != i1)
3337 : return -1;
3338 331033 : x3 = XEXP (x1, 1);
3339 331033 : if (GET_MODE (x3) != i1)
3340 0 : return -1;
3341 : return 0;
3342 : }
3343 :
3344 : int
3345 57 : pattern832 (rtx x1)
3346 : {
3347 57 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3348 57 : rtx x2, x3, x4;
3349 57 : int res ATTRIBUTE_UNUSED;
3350 57 : x2 = XVECEXP (x1, 0, 1);
3351 57 : if (GET_CODE (x2) != UNSPEC
3352 55 : || XVECLEN (x2, 0) != 1
3353 55 : || XINT (x2, 1) != 39)
3354 : return -1;
3355 55 : x3 = XVECEXP (x1, 0, 2);
3356 55 : if (GET_CODE (x3) != CLOBBER)
3357 : return -1;
3358 55 : x4 = XEXP (x3, 0);
3359 55 : if (GET_CODE (x4) != REG
3360 55 : || REGNO (x4) != 17
3361 110 : || GET_MODE (x4) != E_CCmode)
3362 : return -1;
3363 55 : return pattern548 (x1); /* [-1, 1] */
3364 : }
3365 :
3366 : int
3367 87 : pattern837 (rtx x1)
3368 : {
3369 87 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3370 87 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3371 87 : rtx x10;
3372 87 : int res ATTRIBUTE_UNUSED;
3373 87 : x2 = XVECEXP (x1, 0, 1);
3374 87 : if (GET_CODE (x2) != UNSPEC
3375 74 : || XVECLEN (x2, 0) != 1
3376 74 : || XINT (x2, 1) != 39)
3377 : return -1;
3378 74 : x3 = XVECEXP (x1, 0, 2);
3379 74 : if (GET_CODE (x3) != CLOBBER)
3380 : return -1;
3381 74 : x4 = XEXP (x3, 0);
3382 74 : if (GET_CODE (x4) != REG
3383 74 : || REGNO (x4) != 17
3384 148 : || GET_MODE (x4) != E_CCmode)
3385 : return -1;
3386 74 : x5 = XVECEXP (x1, 0, 0);
3387 74 : x6 = XEXP (x5, 0);
3388 74 : operands[0] = x6;
3389 74 : x7 = XEXP (x5, 1);
3390 74 : x8 = XEXP (x7, 0);
3391 74 : x9 = XEXP (x8, 0);
3392 74 : operands[1] = x9;
3393 74 : if (!nonimmediate_operand (operands[1], E_SImode))
3394 : return -1;
3395 74 : x10 = XVECEXP (x2, 0, 0);
3396 74 : operands[2] = x10;
3397 74 : if (!register_operand (operands[2], E_DImode))
3398 : return -1;
3399 : return 0;
3400 : }
3401 :
3402 : int
3403 2938 : pattern846 (rtx x1, int i1, int i2, int i3)
3404 : {
3405 2938 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3406 2938 : rtx x2, x3, x4, x5, x6, x7, x8;
3407 2938 : int res ATTRIBUTE_UNUSED;
3408 2938 : x2 = XVECEXP (x1, 0, 0);
3409 2938 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3410 : return -1;
3411 1139 : x3 = XVECEXP (x1, 0, 1);
3412 1139 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3413 : return -1;
3414 1103 : x4 = XVECEXP (x1, 0, 2);
3415 1103 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
3416 : return -1;
3417 1103 : x5 = XVECEXP (x1, 0, 3);
3418 1103 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
3419 : return -1;
3420 1103 : x6 = XVECEXP (x1, 0, 4);
3421 1103 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
3422 : return -1;
3423 1075 : x7 = XVECEXP (x1, 0, 5);
3424 1075 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
3425 : return -1;
3426 1066 : x8 = XVECEXP (x1, 0, 6);
3427 1066 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
3428 0 : return -1;
3429 : return 0;
3430 : }
3431 :
3432 : int
3433 114 : pattern856 (rtx x1, machine_mode i1)
3434 : {
3435 114 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3436 114 : int res ATTRIBUTE_UNUSED;
3437 114 : if (GET_MODE (x1) != i1
3438 114 : || !register_operand (operands[3], i1)
3439 90 : || !nonmemory_operand (operands[4], i1)
3440 204 : || !const0_operand (operands[5], i1))
3441 60 : return -1;
3442 : return 0;
3443 : }
3444 :
3445 : int
3446 24808 : pattern860 (machine_mode i1)
3447 : {
3448 24808 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3449 24808 : int res ATTRIBUTE_UNUSED;
3450 24808 : if (!register_operand (operands[0], i1)
3451 24659 : || !ix86_comparison_int_operator (operands[1], i1)
3452 24525 : || !register_operand (operands[2], i1)
3453 37470 : || !register_operand (operands[3], i1))
3454 24673 : return -1;
3455 : return 0;
3456 : }
3457 :
3458 : int
3459 3413 : pattern864 (rtx x1)
3460 : {
3461 3413 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3462 3413 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3463 3413 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
3464 3413 : rtx x18, x19;
3465 3413 : int res ATTRIBUTE_UNUSED;
3466 3413 : x2 = XEXP (x1, 1);
3467 3413 : x3 = XEXP (x2, 0);
3468 3413 : if (GET_CODE (x3) != VEC_CONCAT)
3469 : return -1;
3470 3383 : x4 = XEXP (x1, 0);
3471 3383 : x5 = XEXP (x4, 0);
3472 3383 : x6 = XEXP (x5, 0);
3473 3383 : operands[1] = x6;
3474 3383 : x7 = XEXP (x5, 1);
3475 3383 : operands[2] = x7;
3476 3383 : x8 = XEXP (x3, 0);
3477 3383 : if (!rtx_equal_p (x8, operands[1]))
3478 : return -1;
3479 2773 : x9 = XEXP (x3, 1);
3480 2773 : if (!rtx_equal_p (x9, operands[2]))
3481 : return -1;
3482 2763 : x10 = XEXP (x4, 1);
3483 2763 : switch (XVECLEN (x10, 0))
3484 : {
3485 1300 : case 4:
3486 1300 : x11 = XVECEXP (x10, 0, 0);
3487 1300 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3488 : return -1;
3489 675 : x12 = XVECEXP (x10, 0, 1);
3490 675 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
3491 : return -1;
3492 675 : x13 = XVECEXP (x10, 0, 2);
3493 675 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
3494 : return -1;
3495 675 : x14 = XVECEXP (x10, 0, 3);
3496 675 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
3497 : return -1;
3498 675 : x15 = XEXP (x2, 1);
3499 675 : if (XVECLEN (x15, 0) != 4)
3500 : return -1;
3501 675 : x16 = XVECEXP (x15, 0, 0);
3502 675 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3503 : return -1;
3504 675 : x17 = XVECEXP (x15, 0, 1);
3505 675 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
3506 : return -1;
3507 675 : x18 = XVECEXP (x15, 0, 2);
3508 675 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
3509 : return -1;
3510 675 : x19 = XVECEXP (x15, 0, 3);
3511 675 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
3512 675 : || pattern863 (x1,
3513 : E_V8HImode,
3514 : E_V4HImode) != 0)
3515 385 : return -1;
3516 : return 0;
3517 :
3518 460 : case 2:
3519 460 : x11 = XVECEXP (x10, 0, 0);
3520 460 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3521 : return -1;
3522 376 : x12 = XVECEXP (x10, 0, 1);
3523 376 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
3524 : return -1;
3525 376 : x15 = XEXP (x2, 1);
3526 376 : if (XVECLEN (x15, 0) != 2)
3527 : return -1;
3528 376 : x16 = XVECEXP (x15, 0, 0);
3529 376 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3530 : return -1;
3531 376 : x17 = XVECEXP (x15, 0, 1);
3532 376 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
3533 376 : || pattern863 (x1,
3534 : E_V4SImode,
3535 : E_V2SImode) != 0)
3536 72 : return -1;
3537 : return 1;
3538 :
3539 : default:
3540 : return -1;
3541 : }
3542 : }
3543 :
3544 : int
3545 59960 : pattern896 (rtx x1, machine_mode i1, machine_mode i2)
3546 : {
3547 59960 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3548 59960 : rtx x2, x3, x4;
3549 59960 : int res ATTRIBUTE_UNUSED;
3550 59960 : if (!register_operand (operands[0], i1)
3551 59960 : || GET_MODE (x1) != i1)
3552 : return -1;
3553 59286 : x2 = XEXP (x1, 0);
3554 59286 : if (GET_MODE (x2) != i1)
3555 : return -1;
3556 59286 : x3 = XEXP (x2, 0);
3557 59286 : operands[2] = x3;
3558 59286 : if (!nonimmediate_operand (operands[2], i2))
3559 : return -1;
3560 48914 : x4 = XEXP (x1, 1);
3561 48914 : operands[1] = x4;
3562 48914 : if (!register_operand (operands[1], i1))
3563 : return -1;
3564 : return 0;
3565 : }
3566 :
3567 : int
3568 1707 : pattern906 (rtx x1, machine_mode i1)
3569 : {
3570 1707 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3571 1707 : rtx x2, x3;
3572 1707 : int res ATTRIBUTE_UNUSED;
3573 1707 : if (!register_operand (operands[0], i1)
3574 1707 : || GET_MODE (x1) != i1)
3575 : return -1;
3576 1630 : x2 = XEXP (x1, 0);
3577 1630 : if (GET_MODE (x2) != i1
3578 1630 : || !nonimm_or_0_operand (operands[2], i1))
3579 33 : return -1;
3580 1597 : x3 = XEXP (x2, 0);
3581 1597 : switch (GET_MODE (x3))
3582 : {
3583 767 : case E_V4QImode:
3584 767 : if (!register_operand (operands[1], E_V16QImode))
3585 : return -1;
3586 : return 0;
3587 :
3588 830 : case E_V4HImode:
3589 830 : if (!register_operand (operands[1], E_V8HImode))
3590 : return -1;
3591 : return 1;
3592 :
3593 : default:
3594 : return -1;
3595 : }
3596 : }
3597 :
3598 : int
3599 9634 : pattern916 (rtx x1, machine_mode i1, machine_mode i2)
3600 : {
3601 9634 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3602 9634 : int res ATTRIBUTE_UNUSED;
3603 9634 : if (!memory_operand (operands[0], i2)
3604 9536 : || GET_MODE (x1) != i2
3605 9536 : || !register_operand (operands[1], i2)
3606 17087 : || !register_operand (operands[2], i1))
3607 2334 : return -1;
3608 : return 0;
3609 : }
3610 :
3611 : int
3612 5165 : pattern918 (rtx x1)
3613 : {
3614 5165 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3615 5165 : int res ATTRIBUTE_UNUSED;
3616 5165 : if (!const_int_operand (operands[3], E_VOIDmode))
3617 : return -1;
3618 2759 : switch (GET_MODE (operands[0]))
3619 : {
3620 151 : case E_V16SImode:
3621 151 : return pattern917 (x1,
3622 151 : E_V16SImode); /* [-1, 0] */
3623 :
3624 171 : case E_V16SFmode:
3625 171 : if (pattern917 (x1,
3626 : E_V16SFmode) != 0)
3627 : return -1;
3628 : return 1;
3629 :
3630 188 : case E_V8DImode:
3631 188 : if (pattern917 (x1,
3632 : E_V8DImode) != 0)
3633 : return -1;
3634 : return 2;
3635 :
3636 182 : case E_V8DFmode:
3637 182 : if (pattern917 (x1,
3638 : E_V8DFmode) != 0)
3639 : return -1;
3640 : return 3;
3641 :
3642 149 : case E_V8SImode:
3643 149 : if (pattern917 (x1,
3644 : E_V8SImode) != 0)
3645 : return -1;
3646 : return 4;
3647 :
3648 171 : case E_V8SFmode:
3649 171 : if (pattern917 (x1,
3650 : E_V8SFmode) != 0)
3651 : return -1;
3652 : return 5;
3653 :
3654 186 : case E_V4DImode:
3655 186 : if (pattern917 (x1,
3656 : E_V4DImode) != 0)
3657 : return -1;
3658 : return 6;
3659 :
3660 172 : case E_V4DFmode:
3661 172 : if (pattern917 (x1,
3662 : E_V4DFmode) != 0)
3663 : return -1;
3664 : return 7;
3665 :
3666 131 : case E_V4SImode:
3667 131 : if (pattern917 (x1,
3668 : E_V4SImode) != 0)
3669 : return -1;
3670 : return 8;
3671 :
3672 152 : case E_V4SFmode:
3673 152 : if (pattern917 (x1,
3674 : E_V4SFmode) != 0)
3675 : return -1;
3676 : return 9;
3677 :
3678 160 : case E_V2DImode:
3679 160 : if (pattern917 (x1,
3680 : E_V2DImode) != 0)
3681 : return -1;
3682 : return 10;
3683 :
3684 148 : case E_V2DFmode:
3685 148 : if (pattern917 (x1,
3686 : E_V2DFmode) != 0)
3687 : return -1;
3688 : return 11;
3689 :
3690 121 : case E_V64QImode:
3691 121 : if (pattern917 (x1,
3692 : E_V64QImode) != 0)
3693 : return -1;
3694 : return 12;
3695 :
3696 126 : case E_V16QImode:
3697 126 : if (pattern917 (x1,
3698 : E_V16QImode) != 0)
3699 : return -1;
3700 : return 13;
3701 :
3702 141 : case E_V32QImode:
3703 141 : if (pattern917 (x1,
3704 : E_V32QImode) != 0)
3705 : return -1;
3706 : return 14;
3707 :
3708 143 : case E_V32HImode:
3709 143 : if (pattern917 (x1,
3710 : E_V32HImode) != 0)
3711 : return -1;
3712 : return 15;
3713 :
3714 141 : case E_V16HImode:
3715 141 : if (pattern917 (x1,
3716 : E_V16HImode) != 0)
3717 : return -1;
3718 : return 16;
3719 :
3720 126 : case E_V8HImode:
3721 126 : if (pattern917 (x1,
3722 : E_V8HImode) != 0)
3723 : return -1;
3724 : return 17;
3725 :
3726 : default:
3727 : return -1;
3728 : }
3729 : }
3730 :
3731 : int
3732 0 : pattern943 (rtx x1, machine_mode i1)
3733 : {
3734 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3735 0 : rtx x2, x3;
3736 0 : int res ATTRIBUTE_UNUSED;
3737 0 : if (!nonimmediate_operand (operands[0], i1)
3738 0 : || GET_MODE (x1) != i1)
3739 : return -1;
3740 0 : x2 = XEXP (x1, 0);
3741 0 : if (GET_MODE (x2) != i1
3742 0 : || !nonimmediate_operand (operands[1], i1))
3743 0 : return -1;
3744 0 : x3 = XEXP (x2, 1);
3745 0 : if (GET_MODE (x3) != i1
3746 0 : || !immediate_operand (operands[2], i1))
3747 0 : return -1;
3748 : return 0;
3749 : }
3750 :
3751 : int
3752 7698 : pattern950 (rtx x1)
3753 : {
3754 7698 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3755 7698 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3756 7698 : rtx x10, x11;
3757 7698 : int res ATTRIBUTE_UNUSED;
3758 7698 : x2 = XEXP (x1, 0);
3759 7698 : operands[0] = x2;
3760 7698 : x3 = XEXP (x1, 1);
3761 7698 : x4 = XEXP (x3, 0);
3762 7698 : switch (XVECLEN (x4, 0))
3763 : {
3764 7268 : case 1:
3765 7268 : if (XINT (x4, 1) != 20)
3766 : return -1;
3767 7195 : x5 = XVECEXP (x4, 0, 0);
3768 7195 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3769 : return -1;
3770 7195 : return pattern948 (x3); /* [-1, 1] */
3771 :
3772 27 : case 4:
3773 27 : if (XINT (x4, 1) != 23
3774 0 : || GET_MODE (x4) != E_SImode)
3775 : return -1;
3776 0 : x6 = XVECEXP (x4, 0, 3);
3777 0 : if (GET_CODE (x6) != REG
3778 0 : || REGNO (x6) != 7
3779 0 : || GET_MODE (x6) != E_SImode)
3780 : return -1;
3781 0 : x7 = XEXP (x3, 1);
3782 0 : if (GET_CODE (x7) != CONST
3783 0 : || GET_MODE (x7) != E_SImode)
3784 : return -1;
3785 0 : x8 = XEXP (x7, 0);
3786 0 : if (GET_CODE (x8) != UNSPEC
3787 0 : || XVECLEN (x8, 0) != 1
3788 0 : || XINT (x8, 1) != 6
3789 0 : || GET_MODE (x8) != E_SImode
3790 0 : || !register_operand (operands[0], E_SImode)
3791 0 : || GET_MODE (x3) != E_SImode)
3792 0 : return -1;
3793 0 : x5 = XVECEXP (x4, 0, 0);
3794 0 : operands[3] = x5;
3795 0 : if (!tls_modbase_operand (operands[3], E_VOIDmode))
3796 : return -1;
3797 0 : x9 = XVECEXP (x4, 0, 1);
3798 0 : operands[4] = x9;
3799 0 : x10 = XVECEXP (x4, 0, 2);
3800 0 : operands[2] = x10;
3801 0 : if (!register_operand (operands[2], E_SImode))
3802 : return -1;
3803 0 : x11 = XVECEXP (x8, 0, 0);
3804 0 : operands[1] = x11;
3805 0 : if (!tls_symbolic_operand (operands[1], E_VOIDmode))
3806 : return -1;
3807 : return 2;
3808 :
3809 403 : case 3:
3810 403 : if (XINT (x4, 1) != 23)
3811 : return -1;
3812 138 : x10 = XVECEXP (x4, 0, 2);
3813 138 : if (GET_CODE (x10) != REG
3814 138 : || REGNO (x10) != 7)
3815 : return -1;
3816 138 : x7 = XEXP (x3, 1);
3817 138 : if (GET_CODE (x7) != CONST)
3818 : return -1;
3819 55 : x8 = XEXP (x7, 0);
3820 55 : if (GET_CODE (x8) != UNSPEC
3821 55 : || XVECLEN (x8, 0) != 1
3822 55 : || XINT (x8, 1) != 6)
3823 : return -1;
3824 55 : x5 = XVECEXP (x4, 0, 0);
3825 55 : operands[2] = x5;
3826 55 : if (!tls_modbase_operand (operands[2], E_VOIDmode))
3827 : return -1;
3828 55 : x9 = XVECEXP (x4, 0, 1);
3829 55 : operands[3] = x9;
3830 55 : x11 = XVECEXP (x8, 0, 0);
3831 55 : operands[1] = x11;
3832 55 : if (!tls_symbolic_operand (operands[1], E_VOIDmode))
3833 : return -1;
3834 55 : switch (GET_MODE (operands[0]))
3835 : {
3836 8 : case E_SImode:
3837 8 : if (pattern949 (x3,
3838 : E_SImode) != 0)
3839 : return -1;
3840 : return 3;
3841 :
3842 47 : case E_DImode:
3843 47 : if (pattern949 (x3,
3844 : E_DImode) != 0)
3845 : return -1;
3846 : return 4;
3847 :
3848 : default:
3849 : return -1;
3850 : }
3851 :
3852 : default:
3853 : return -1;
3854 : }
3855 : }
3856 :
3857 : int
3858 2543 : pattern978 (rtx x1)
3859 : {
3860 2543 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3861 2543 : int res ATTRIBUTE_UNUSED;
3862 2543 : if (!nonimmediate_operand (operands[0], E_HFmode)
3863 2543 : || GET_MODE (x1) != E_HFmode)
3864 : return -1;
3865 2543 : switch (GET_MODE (operands[1]))
3866 : {
3867 46 : case E_V32HFmode:
3868 46 : if (!nonimmediate_operand (operands[1], E_V32HFmode))
3869 : return -1;
3870 : return 0;
3871 :
3872 81 : case E_V16HFmode:
3873 81 : if (!nonimmediate_operand (operands[1], E_V16HFmode))
3874 : return -1;
3875 : return 1;
3876 :
3877 2368 : case E_V8HFmode:
3878 2368 : if (!nonimmediate_operand (operands[1], E_V8HFmode))
3879 : return -1;
3880 : return 2;
3881 :
3882 : default:
3883 : return -1;
3884 : }
3885 : }
3886 :
3887 : int
3888 263623 : pattern981 (rtx x1)
3889 : {
3890 263623 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3891 263623 : rtx x2, x3;
3892 263623 : int res ATTRIBUTE_UNUSED;
3893 263623 : if (!const_0_to_3_operand (operands[3], E_VOIDmode))
3894 : return -1;
3895 263623 : x2 = XEXP (x1, 1);
3896 263623 : x3 = XVECEXP (x2, 0, 1);
3897 263623 : operands[4] = x3;
3898 263623 : if (!const_0_to_3_operand (operands[4], E_VOIDmode))
3899 : return -1;
3900 263623 : switch (GET_MODE (operands[0]))
3901 : {
3902 0 : case E_V2HFmode:
3903 0 : return pattern272 (x1,
3904 : E_V2HFmode,
3905 0 : E_V4HFmode); /* [-1, 0] */
3906 :
3907 0 : case E_V2BFmode:
3908 0 : if (pattern272 (x1,
3909 : E_V2BFmode,
3910 : E_V4BFmode) != 0)
3911 : return -1;
3912 : return 1;
3913 :
3914 2963 : case E_V2HImode:
3915 2963 : if (pattern272 (x1,
3916 : E_V2HImode,
3917 : E_V4HImode) != 0)
3918 : return -1;
3919 : return 2;
3920 :
3921 : default:
3922 : return -1;
3923 : }
3924 : }
3925 :
3926 : int
3927 0 : pattern990 (rtx x1, machine_mode i1)
3928 : {
3929 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3930 0 : rtx x2, x3;
3931 0 : int res ATTRIBUTE_UNUSED;
3932 0 : if (!register_operand (operands[0], i1)
3933 0 : || GET_MODE (x1) != i1)
3934 : return -1;
3935 0 : x2 = XEXP (x1, 0);
3936 0 : if (GET_MODE (x2) != i1)
3937 : return -1;
3938 0 : x3 = XEXP (x2, 0);
3939 0 : if (GET_MODE (x3) != i1
3940 0 : || !nonimmediate_operand (operands[1], i1))
3941 0 : return -1;
3942 : return 0;
3943 : }
3944 :
3945 : int
3946 1752 : pattern993 (rtx x1)
3947 : {
3948 1752 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3949 1752 : rtx x2;
3950 1752 : int res ATTRIBUTE_UNUSED;
3951 1752 : if (!register_operand (operands[0], E_DImode)
3952 1752 : || GET_MODE (x1) != E_DImode)
3953 : return -1;
3954 1726 : x2 = XEXP (x1, 0);
3955 1726 : if (GET_MODE (x2) != E_DImode
3956 1726 : || !register_operand (operands[1], E_V64QImode)
3957 1577 : || !nonimmediate_operand (operands[2], E_V64QImode)
3958 3297 : || !const_0_to_7_operand (operands[3], E_SImode))
3959 155 : return -1;
3960 : return 0;
3961 : }
3962 :
3963 : int
3964 517 : pattern997 (rtx x1)
3965 : {
3966 517 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3967 517 : rtx x2;
3968 517 : int res ATTRIBUTE_UNUSED;
3969 517 : if (!register_operand (operands[0], E_V16SImode)
3970 517 : || GET_MODE (x1) != E_V16SImode)
3971 : return -1;
3972 462 : x2 = XEXP (x1, 0);
3973 462 : if (GET_MODE (x2) != E_V16SImode
3974 462 : || !nonimm_or_0_operand (operands[2], E_V16SImode)
3975 897 : || !register_operand (operands[3], E_HImode))
3976 96 : return -1;
3977 366 : switch (GET_MODE (operands[1]))
3978 : {
3979 198 : case E_V16HFmode:
3980 198 : if (!vector_operand (operands[1], E_V16HFmode))
3981 : return -1;
3982 : return 0;
3983 :
3984 168 : case E_V16SFmode:
3985 168 : if (!vector_operand (operands[1], E_V16SFmode))
3986 : return -1;
3987 : return 1;
3988 :
3989 : default:
3990 : return -1;
3991 : }
3992 : }
3993 :
3994 : int
3995 199 : pattern1002 (rtx x1, machine_mode i1)
3996 : {
3997 199 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3998 199 : rtx x2;
3999 199 : int res ATTRIBUTE_UNUSED;
4000 199 : if (!register_operand (operands[0], i1)
4001 199 : || GET_MODE (x1) != i1)
4002 : return -1;
4003 199 : x2 = XEXP (x1, 0);
4004 199 : if (GET_MODE (x2) != i1
4005 199 : || !nonimmediate_operand (operands[1], i1)
4006 398 : || !const0_operand (operands[2], i1))
4007 66 : return -1;
4008 : return 0;
4009 : }
4010 :
4011 : int
4012 4087 : pattern1010 (rtx x1, machine_mode i1, machine_mode i2)
4013 : {
4014 4087 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4015 4087 : rtx x2;
4016 4087 : int res ATTRIBUTE_UNUSED;
4017 4087 : if (!register_operand (operands[0], i1)
4018 4087 : || GET_MODE (x1) != i1)
4019 : return -1;
4020 3910 : x2 = XEXP (x1, 0);
4021 3910 : if (GET_MODE (x2) != i1
4022 3910 : || !nonimmediate_operand (operands[2], i2)
4023 7797 : || !reg_or_0_operand (operands[1], i1))
4024 431 : return -1;
4025 : return 0;
4026 : }
4027 :
4028 : int
4029 8768 : pattern1017 (rtx x1)
4030 : {
4031 8768 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4032 8768 : rtx x2, x3, x4, x5, x6, x7;
4033 8768 : int res ATTRIBUTE_UNUSED;
4034 8768 : x2 = XEXP (x1, 1);
4035 8768 : operands[2] = x2;
4036 8768 : x3 = XEXP (x1, 2);
4037 8768 : x4 = XVECEXP (x3, 0, 1);
4038 8768 : operands[4] = x4;
4039 8768 : x5 = XVECEXP (x3, 0, 2);
4040 8768 : operands[5] = x5;
4041 8768 : x6 = XVECEXP (x3, 0, 0);
4042 8768 : switch (GET_CODE (x6))
4043 : {
4044 : case REG:
4045 : case SUBREG:
4046 : case MEM:
4047 : return 0;
4048 :
4049 0 : case NOT:
4050 0 : x7 = XEXP (x6, 0);
4051 0 : operands[3] = x7;
4052 0 : if (!const_0_to_7_operand (operands[5], E_SImode))
4053 : return -1;
4054 0 : switch (GET_MODE (operands[0]))
4055 : {
4056 0 : case E_V32QImode:
4057 0 : if (pattern1016 (x1,
4058 : E_V32QImode,
4059 : E_SImode) != 0)
4060 : return -1;
4061 : return 1;
4062 :
4063 0 : case E_V16QImode:
4064 0 : if (pattern1016 (x1,
4065 : E_V16QImode,
4066 : E_HImode) != 0)
4067 : return -1;
4068 : return 2;
4069 :
4070 : default:
4071 : return -1;
4072 : }
4073 :
4074 : default:
4075 : return -1;
4076 : }
4077 : }
4078 :
4079 : int
4080 217 : pattern1034 (rtx x1, machine_mode i1, machine_mode i2)
4081 : {
4082 217 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4083 217 : rtx x2;
4084 217 : int res ATTRIBUTE_UNUSED;
4085 217 : if (!register_operand (operands[0], i2)
4086 217 : || GET_MODE (x1) != i2)
4087 : return -1;
4088 209 : x2 = XVECEXP (x1, 0, 0);
4089 209 : if (GET_MODE (x2) != i2
4090 209 : || !nonimmediate_operand (operands[1], i1))
4091 3 : return -1;
4092 : return 0;
4093 : }
4094 :
4095 : int
4096 450 : pattern1039 (rtx x1, machine_mode i1)
4097 : {
4098 450 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4099 450 : int res ATTRIBUTE_UNUSED;
4100 450 : if (!register_operand (operands[0], i1)
4101 396 : || GET_MODE (x1) != i1
4102 396 : || !register_operand (operands[1], i1)
4103 789 : || !bcst_vector_operand (operands[2], i1))
4104 111 : return -1;
4105 : return 0;
4106 : }
4107 :
4108 : int
4109 22482 : pattern1044 (rtx x1)
4110 : {
4111 22482 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4112 22482 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4113 22482 : rtx x10;
4114 22482 : int res ATTRIBUTE_UNUSED;
4115 22482 : x2 = XEXP (x1, 1);
4116 22482 : x3 = XEXP (x2, 0);
4117 22482 : if (GET_MODE (x3) != E_QImode)
4118 : return -1;
4119 22142 : x4 = XEXP (x3, 0);
4120 22142 : if (GET_CODE (x4) != SUBREG
4121 22136 : || maybe_ne (SUBREG_BYTE (x4), 0)
4122 44278 : || GET_MODE (x4) != E_QImode)
4123 : return -1;
4124 22136 : x5 = XEXP (x4, 0);
4125 22136 : switch (GET_CODE (x5))
4126 : {
4127 22136 : case ASHIFTRT:
4128 22136 : case LSHIFTRT:
4129 22136 : case SIGN_EXTRACT:
4130 22136 : case ZERO_EXTRACT:
4131 22136 : operands[3] = x5;
4132 22136 : x6 = XEXP (x1, 0);
4133 22136 : if (GET_CODE (x6) != ZERO_EXTRACT)
4134 : return -1;
4135 22136 : x7 = XEXP (x6, 1);
4136 22136 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
4137 : return -1;
4138 22136 : x8 = XEXP (x6, 2);
4139 22136 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
4140 : return -1;
4141 22136 : x9 = XEXP (x6, 0);
4142 22136 : operands[0] = x9;
4143 22136 : if (!int248_register_operand (operands[0], E_VOIDmode))
4144 : return -1;
4145 22136 : x10 = XEXP (x5, 0);
4146 22136 : operands[1] = x10;
4147 22136 : if (!int248_register_operand (operands[1], E_VOIDmode))
4148 : return -1;
4149 : return 0;
4150 :
4151 : default:
4152 : return -1;
4153 : }
4154 : }
4155 :
4156 : int
4157 595 : pattern1054 (rtx x1)
4158 : {
4159 595 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4160 595 : rtx x2, x3, x4, x5, x6, x7;
4161 595 : int res ATTRIBUTE_UNUSED;
4162 595 : x2 = XEXP (x1, 1);
4163 595 : x3 = XEXP (x2, 1);
4164 595 : x4 = XEXP (x3, 0);
4165 595 : x5 = XEXP (x4, 0);
4166 595 : operands[2] = x5;
4167 595 : if (!int248_register_operand (operands[2], E_VOIDmode))
4168 : return -1;
4169 407 : x6 = XEXP (x1, 0);
4170 407 : switch (GET_CODE (x6))
4171 : {
4172 65 : case STRICT_LOW_PART:
4173 65 : x7 = XEXP (x6, 0);
4174 65 : operands[0] = x7;
4175 65 : if (!register_operand (operands[0], E_QImode))
4176 : return -1;
4177 65 : return pattern1053 (); /* [-1, 2] */
4178 :
4179 342 : case REG:
4180 342 : case SUBREG:
4181 342 : operands[0] = x6;
4182 342 : if (!register_operand (operands[0], E_QImode))
4183 : return -1;
4184 342 : res = pattern1053 ();
4185 342 : if (res >= 0)
4186 194 : return res + 3; /* [3, 5] */
4187 : return -1;
4188 :
4189 : default:
4190 : return -1;
4191 : }
4192 : }
4193 :
4194 : int
4195 1207 : pattern1060 (rtx x1)
4196 : {
4197 1207 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4198 1207 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4199 1207 : int res ATTRIBUTE_UNUSED;
4200 1207 : x2 = XEXP (x1, 0);
4201 1207 : operands[0] = x2;
4202 1207 : x3 = XEXP (x1, 1);
4203 1207 : x4 = XEXP (x3, 0);
4204 1207 : x5 = XEXP (x4, 0);
4205 1207 : x6 = XEXP (x5, 0);
4206 1207 : operands[1] = x6;
4207 1207 : x7 = XEXP (x5, 1);
4208 1207 : operands[2] = x7;
4209 1207 : x8 = XEXP (x4, 1);
4210 1207 : operands[3] = x8;
4211 1207 : x9 = XEXP (x3, 1);
4212 1207 : if (!rtx_equal_p (x9, operands[1]))
4213 : return -1;
4214 845 : switch (GET_MODE (operands[0]))
4215 : {
4216 84 : case E_HImode:
4217 84 : return pattern1059 (x3,
4218 84 : E_HImode); /* [-1, 0] */
4219 :
4220 761 : case E_SImode:
4221 761 : if (pattern1059 (x3,
4222 : E_SImode) != 0)
4223 : return -1;
4224 : return 1;
4225 :
4226 0 : case E_DImode:
4227 0 : if (pattern1059 (x3,
4228 : E_DImode) != 0)
4229 : return -1;
4230 : return 2;
4231 :
4232 : default:
4233 : return -1;
4234 : }
4235 : }
4236 :
4237 : int
4238 4255 : pattern1068 (rtx x1, int i1)
4239 : {
4240 4255 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4241 4255 : rtx x2, x3, x4, x5;
4242 4255 : int res ATTRIBUTE_UNUSED;
4243 4255 : x2 = XEXP (x1, 1);
4244 4255 : x3 = XEXP (x2, 0);
4245 4255 : x4 = XEXP (x3, 0);
4246 4255 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
4247 : return -1;
4248 567 : x5 = XEXP (x1, 0);
4249 567 : operands[0] = x5;
4250 567 : return pattern1067 (x2); /* [-1, 3] */
4251 : }
4252 :
4253 : int
4254 4 : pattern1073 (rtx x1, machine_mode i1, machine_mode i2)
4255 : {
4256 4 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4257 4 : rtx x2, x3;
4258 4 : int res ATTRIBUTE_UNUSED;
4259 4 : if (!register_operand (operands[0], i1)
4260 4 : || GET_MODE (x1) != i1)
4261 : return -1;
4262 4 : x2 = XEXP (x1, 0);
4263 4 : if (GET_MODE (x2) != i1)
4264 : return -1;
4265 4 : x3 = XEXP (x2, 0);
4266 4 : if (GET_MODE (x3) != i2
4267 4 : || !vector_operand (operands[2], i1))
4268 0 : return -1;
4269 : return 0;
4270 : }
4271 :
4272 : int
4273 16405 : pattern1079 ()
4274 : {
4275 16405 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4276 16405 : int res ATTRIBUTE_UNUSED;
4277 16405 : switch (GET_MODE (operands[3]))
4278 : {
4279 699 : case E_HImode:
4280 699 : if (!extract_high_operator (operands[3], E_HImode))
4281 : return -1;
4282 : return 0;
4283 :
4284 10708 : case E_SImode:
4285 10708 : if (!extract_high_operator (operands[3], E_SImode))
4286 : return -1;
4287 : return 1;
4288 :
4289 4998 : case E_DImode:
4290 4998 : if (!extract_high_operator (operands[3], E_DImode))
4291 : return -1;
4292 : return 2;
4293 :
4294 : default:
4295 : return -1;
4296 : }
4297 : }
4298 :
4299 : int
4300 2 : pattern1084 (rtx x1)
4301 : {
4302 2 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4303 2 : rtx x2, x3, x4, x5;
4304 2 : int res ATTRIBUTE_UNUSED;
4305 2 : x2 = XEXP (x1, 0);
4306 2 : x3 = XEXP (x2, 0);
4307 2 : if (GET_CODE (x3) != REG
4308 2 : || REGNO (x3) != 17)
4309 : return -1;
4310 2 : x4 = XEXP (x2, 1);
4311 2 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4312 : return -1;
4313 2 : x5 = XEXP (x1, 1);
4314 2 : operands[1] = x5;
4315 2 : if (!nonimmediate_operand (operands[1], E_QImode))
4316 : return -1;
4317 : return 0;
4318 : }
4319 :
4320 : int
4321 309 : pattern1092 (rtx x1, int i1, int i2, int i3, int i4)
4322 : {
4323 309 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4324 309 : rtx x2, x3, x4, x5;
4325 309 : int res ATTRIBUTE_UNUSED;
4326 309 : x2 = XVECEXP (x1, 0, 0);
4327 309 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
4328 : return -1;
4329 309 : x3 = XVECEXP (x1, 0, 1);
4330 309 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
4331 : return -1;
4332 309 : x4 = XVECEXP (x1, 0, 2);
4333 309 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
4334 : return -1;
4335 309 : x5 = XVECEXP (x1, 0, 3);
4336 309 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
4337 0 : return -1;
4338 : return 0;
4339 : }
4340 :
4341 : int
4342 0 : pattern1104 (rtx x1)
4343 : {
4344 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4345 0 : rtx x2;
4346 0 : int res ATTRIBUTE_UNUSED;
4347 0 : if (!register_operand (operands[0], E_SImode)
4348 0 : || GET_MODE (x1) != E_SImode)
4349 : return -1;
4350 0 : x2 = XEXP (x1, 0);
4351 0 : if (GET_MODE (x2) != E_SImode)
4352 : return -1;
4353 0 : return pattern879 (); /* [-1, 1] */
4354 : }
4355 :
4356 : int
4357 827 : pattern1109 (rtx x1, machine_mode i1)
4358 : {
4359 827 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4360 827 : rtx x2;
4361 827 : int res ATTRIBUTE_UNUSED;
4362 827 : if (!register_operand (operands[0], i1)
4363 827 : || GET_MODE (x1) != i1)
4364 : return -1;
4365 803 : x2 = XVECEXP (x1, 0, 0);
4366 803 : switch (GET_MODE (x2))
4367 : {
4368 22 : case E_HFmode:
4369 22 : if (!register_operand (operands[1], E_V8HFmode))
4370 : return -1;
4371 : return 0;
4372 :
4373 433 : case E_SFmode:
4374 433 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
4375 : return -1;
4376 : return 1;
4377 :
4378 348 : case E_DFmode:
4379 348 : if (!nonimmediate_operand (operands[1], E_V2DFmode))
4380 : return -1;
4381 : return 2;
4382 :
4383 : default:
4384 : return -1;
4385 : }
4386 : }
4387 :
4388 : int
4389 936 : pattern1114 (rtx x1)
4390 : {
4391 936 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4392 936 : rtx x2;
4393 936 : int res ATTRIBUTE_UNUSED;
4394 936 : if (!register_operand (operands[0], E_V2DImode)
4395 936 : || GET_MODE (x1) != E_V2DImode)
4396 : return -1;
4397 899 : x2 = XEXP (x1, 0);
4398 899 : if (GET_MODE (x2) != E_V2DImode
4399 899 : || !nonimm_or_0_operand (operands[2], E_V2DImode)
4400 1786 : || !register_operand (operands[3], E_QImode))
4401 38 : return -1;
4402 861 : switch (GET_MODE (operands[1]))
4403 : {
4404 : case E_V8HFmode:
4405 : return 0;
4406 :
4407 444 : case E_V2DFmode:
4408 444 : return 1;
4409 :
4410 : default:
4411 : return -1;
4412 : }
4413 : }
4414 :
4415 : int
4416 3233 : pattern1117 (rtx x1, machine_mode i1, machine_mode i2)
4417 : {
4418 3233 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4419 3233 : rtx x2;
4420 3233 : int res ATTRIBUTE_UNUSED;
4421 3233 : if (!register_operand (operands[0], i2)
4422 3233 : || GET_MODE (x1) != i2)
4423 : return -1;
4424 3064 : x2 = XEXP (x1, 0);
4425 3064 : if (GET_MODE (x2) != i2
4426 3064 : || !nonimmediate_operand (operands[1], i2)
4427 3016 : || !register_operand (operands[2], i2)
4428 2997 : || !nonimm_or_0_operand (operands[3], i2)
4429 5963 : || !register_operand (operands[4], i1))
4430 676 : return -1;
4431 : return 0;
4432 : }
4433 :
4434 : int
4435 1642 : pattern1124 (rtx x1)
4436 : {
4437 1642 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4438 1642 : rtx x2;
4439 1642 : int res ATTRIBUTE_UNUSED;
4440 1642 : x2 = XEXP (x1, 2);
4441 1642 : if (XWINT (x2, 0) != 1L
4442 1642 : || !const_0_to_255_operand (operands[3], E_SImode))
4443 0 : return -1;
4444 1642 : return pattern1123 (x1); /* [-1, 2] */
4445 : }
4446 :
4447 : int
4448 14582 : pattern1131 (rtx x1, machine_mode i1)
4449 : {
4450 14582 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4451 14582 : int res ATTRIBUTE_UNUSED;
4452 14582 : if (!register_operand (operands[0], i1)
4453 14202 : || GET_MODE (x1) != i1
4454 14202 : || !nonimmediate_operand (operands[2], i1)
4455 10270 : || !register_operand (operands[1], i1)
4456 22595 : || !const_0_to_255_operand (operands[3], E_SImode))
4457 6987 : return -1;
4458 : return 0;
4459 : }
4460 :
4461 : int
4462 940 : pattern1139 (rtx x1, machine_mode i1)
4463 : {
4464 940 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4465 940 : rtx x2, x3, x4;
4466 940 : int res ATTRIBUTE_UNUSED;
4467 940 : if (!register_operand (operands[0], i1)
4468 940 : || GET_MODE (x1) != i1)
4469 : return -1;
4470 892 : x2 = XVECEXP (x1, 0, 0);
4471 892 : if (GET_MODE (x2) != i1)
4472 : return -1;
4473 892 : x3 = XEXP (x2, 0);
4474 892 : if (GET_MODE (x3) != i1)
4475 : return -1;
4476 892 : x4 = XEXP (x3, 0);
4477 892 : if (GET_MODE (x4) != i1
4478 892 : || !register_operand (operands[1], i1)
4479 868 : || !nonimmediate_operand (operands[2], i1)
4480 1756 : || !nonimm_or_0_operand (operands[3], i1))
4481 56 : return -1;
4482 : return 0;
4483 : }
4484 :
4485 : int
4486 350 : pattern1145 (rtx x1)
4487 : {
4488 350 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4489 350 : rtx x2;
4490 350 : int res ATTRIBUTE_UNUSED;
4491 350 : x2 = XVECEXP (x1, 0, 0);
4492 350 : if (GET_MODE (x2) != E_V32HFmode
4493 350 : || !register_operand (operands[0], E_V32HFmode)
4494 324 : || GET_MODE (x1) != E_V32HFmode
4495 324 : || !register_operand (operands[1], E_V32HFmode)
4496 308 : || !register_operand (operands[2], E_V32HFmode)
4497 650 : || !const_4_or_8_to_11_operand (operands[3], E_SImode))
4498 50 : return -1;
4499 : return 0;
4500 : }
4501 :
4502 : int
4503 5598 : pattern1152 (rtx x1, machine_mode i1, machine_mode i2)
4504 : {
4505 5598 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4506 5598 : rtx x2;
4507 5598 : int res ATTRIBUTE_UNUSED;
4508 5598 : if (!register_operand (operands[0], i2)
4509 5598 : || GET_MODE (x1) != i2)
4510 : return -1;
4511 4687 : x2 = XEXP (x1, 0);
4512 4687 : if (GET_MODE (x2) != i1
4513 4687 : || !register_operand (operands[1], i2)
4514 8439 : || !nonimmediate_operand (operands[2], i1))
4515 1871 : return -1;
4516 : return 0;
4517 : }
4518 :
4519 : int
4520 0 : pattern1161 (rtx x1)
4521 : {
4522 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4523 0 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4524 0 : rtx x10;
4525 0 : int res ATTRIBUTE_UNUSED;
4526 0 : x2 = XVECEXP (x1, 0, 0);
4527 0 : x3 = XEXP (x2, 1);
4528 0 : x4 = XVECEXP (x3, 0, 0);
4529 0 : x5 = XEXP (x4, 0);
4530 0 : operands[5] = x5;
4531 0 : x6 = XVECEXP (x3, 0, 1);
4532 0 : operands[2] = x6;
4533 0 : if (!register_operand (operands[2], E_QImode))
4534 : return -1;
4535 0 : x7 = XVECEXP (x3, 0, 2);
4536 0 : operands[3] = x7;
4537 0 : x8 = XVECEXP (x3, 0, 3);
4538 0 : operands[4] = x8;
4539 0 : x9 = XVECEXP (x1, 0, 1);
4540 0 : x10 = XEXP (x9, 0);
4541 0 : operands[1] = x10;
4542 0 : switch (GET_MODE (operands[0]))
4543 : {
4544 0 : case E_SImode:
4545 0 : return pattern1160 (x3,
4546 0 : E_SImode); /* [-1, 0] */
4547 :
4548 0 : case E_DImode:
4549 0 : if (pattern1160 (x3,
4550 : E_DImode) != 0)
4551 : return -1;
4552 : return 1;
4553 :
4554 : default:
4555 : return -1;
4556 : }
4557 : }
4558 :
4559 : int
4560 802 : pattern1173 (rtx x1)
4561 : {
4562 802 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4563 802 : rtx x2, x3, x4, x5, x6, x7;
4564 802 : int res ATTRIBUTE_UNUSED;
4565 802 : x2 = XEXP (x1, 0);
4566 802 : x3 = XEXP (x2, 0);
4567 802 : x4 = XEXP (x3, 1);
4568 802 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4569 : return -1;
4570 740 : x5 = XEXP (x3, 0);
4571 740 : operands[3] = x5;
4572 740 : if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
4573 : return -1;
4574 589 : x6 = XEXP (x2, 1);
4575 589 : operands[1] = x6;
4576 589 : x7 = XEXP (x1, 1);
4577 589 : operands[2] = x7;
4578 589 : switch (GET_MODE (operands[0]))
4579 : {
4580 0 : case E_QImode:
4581 0 : return pattern1171 (x1,
4582 0 : E_QImode); /* [-1, 0] */
4583 :
4584 0 : case E_HImode:
4585 0 : if (pattern1171 (x1,
4586 : E_HImode) != 0)
4587 : return -1;
4588 : return 1;
4589 :
4590 225 : case E_SImode:
4591 225 : if (pattern1172 (x1,
4592 : E_SImode) != 0)
4593 : return -1;
4594 : return 2;
4595 :
4596 364 : case E_DImode:
4597 364 : if (pattern1172 (x1,
4598 : E_DImode) != 0)
4599 : return -1;
4600 : return 3;
4601 :
4602 : default:
4603 : return -1;
4604 : }
4605 : }
4606 :
4607 : int
4608 84804 : pattern1187 (rtx x1)
4609 : {
4610 84804 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4611 84804 : rtx x2, x3, x4;
4612 84804 : int res ATTRIBUTE_UNUSED;
4613 84804 : x2 = XEXP (x1, 0);
4614 84804 : if (maybe_ne (SUBREG_BYTE (x2), 0)
4615 84804 : || GET_MODE (x2) != E_QImode)
4616 : return -1;
4617 17807 : x3 = XEXP (x2, 0);
4618 17807 : switch (GET_CODE (x3))
4619 : {
4620 2391 : case ASHIFTRT:
4621 2391 : case LSHIFTRT:
4622 2391 : case SIGN_EXTRACT:
4623 2391 : case ZERO_EXTRACT:
4624 2391 : operands[3] = x3;
4625 2391 : if (GET_MODE (x1) != E_QImode)
4626 : return -1;
4627 2391 : x4 = XEXP (x3, 0);
4628 2391 : if (!int248_register_operand (x4, E_VOIDmode))
4629 : return -1;
4630 : return 0;
4631 :
4632 : default:
4633 : return -1;
4634 : }
4635 : }
4636 :
4637 : int
4638 0 : pattern1198 (rtx x1, machine_mode i1)
4639 : {
4640 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4641 0 : rtx x2, x3;
4642 0 : int res ATTRIBUTE_UNUSED;
4643 0 : if (!register_operand (operands[0], i1)
4644 0 : || GET_MODE (x1) != i1)
4645 : return -1;
4646 0 : x2 = XEXP (x1, 0);
4647 0 : if (GET_MODE (x2) != i1)
4648 : return -1;
4649 0 : x3 = XEXP (x2, 0);
4650 0 : if (GET_MODE (x3) != i1
4651 0 : || !register_operand (operands[1], i1)
4652 0 : || !register_operand (operands[2], i1)
4653 0 : || !nonimmediate_operand (operands[3], i1))
4654 0 : return -1;
4655 : return 0;
4656 : }
4657 :
4658 : int
4659 434931 : pattern1205 (rtx x1, machine_mode i1, machine_mode i2)
4660 : {
4661 434931 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4662 434931 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4663 434931 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
4664 434931 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
4665 434931 : rtx x26, x27, x28, x29, x30;
4666 434931 : int res ATTRIBUTE_UNUSED;
4667 434931 : x2 = PATTERN (peep2_next_insn (2));
4668 434931 : if (GET_CODE (x2) != SET)
4669 : return -1;
4670 315982 : x3 = XEXP (x2, 1);
4671 315982 : if (!rtx_equal_p (x3, operands[0]))
4672 : return -1;
4673 65032 : x4 = XVECEXP (x1, 0, 0);
4674 65032 : x5 = XEXP (x4, 1);
4675 65032 : switch (GET_CODE (x5))
4676 : {
4677 2529 : case COMPARE:
4678 2529 : x6 = XEXP (x4, 0);
4679 2529 : if (GET_CODE (x6) != REG
4680 2529 : || REGNO (x6) != 17)
4681 : return -1;
4682 2529 : x7 = XVECEXP (x1, 0, 1);
4683 2529 : if (GET_CODE (x7) != SET)
4684 : return -1;
4685 2509 : x8 = XEXP (x7, 1);
4686 2509 : if (GET_MODE (x8) != i1)
4687 : return -1;
4688 2503 : x9 = XEXP (x7, 0);
4689 2503 : if (!rtx_equal_p (x9, operands[0]))
4690 : return -1;
4691 2497 : x10 = XEXP (x5, 0);
4692 2497 : switch (GET_CODE (x10))
4693 : {
4694 183 : case REG:
4695 183 : return pattern1199 (x1,
4696 183 : i1); /* [-1, 0] */
4697 :
4698 4 : case SUBREG:
4699 4 : case MEM:
4700 4 : if (pattern1200 (x1,
4701 : i1) != 0)
4702 : return -1;
4703 : return 1;
4704 :
4705 548 : case ZERO_EXTEND:
4706 548 : if (GET_MODE (x10) != i2)
4707 : return -1;
4708 548 : x11 = XEXP (x5, 1);
4709 548 : if (GET_CODE (x11) != PLUS
4710 548 : || GET_MODE (x11) != i2)
4711 : return -1;
4712 548 : x12 = XEXP (x11, 0);
4713 548 : if (!ix86_carry_flag_operator (x12, i2))
4714 : return -1;
4715 548 : operands[4] = x12;
4716 548 : x13 = XEXP (x12, 1);
4717 548 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4718 : return -1;
4719 548 : x14 = XEXP (x11, 1);
4720 548 : if (GET_CODE (x14) != ZERO_EXTEND
4721 548 : || GET_MODE (x14) != i2
4722 548 : || GET_MODE (x6) != E_CCCmode
4723 548 : || GET_MODE (x5) != E_CCCmode)
4724 : return -1;
4725 548 : x15 = XEXP (x10, 0);
4726 548 : switch (GET_CODE (x15))
4727 : {
4728 216 : case PLUS:
4729 216 : if (GET_MODE (x15) != i1)
4730 : return -1;
4731 216 : x16 = XEXP (x15, 0);
4732 216 : if (GET_CODE (x16) != PLUS
4733 216 : || GET_MODE (x16) != i1)
4734 : return -1;
4735 216 : x17 = XEXP (x16, 0);
4736 216 : if (!ix86_carry_flag_operator (x17, i1))
4737 : return -1;
4738 216 : operands[5] = x17;
4739 216 : x18 = XEXP (x17, 1);
4740 216 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
4741 216 : || GET_CODE (x8) != PLUS)
4742 : return -1;
4743 216 : x19 = XEXP (x8, 0);
4744 216 : if (GET_CODE (x19) != PLUS
4745 216 : || GET_MODE (x19) != i1)
4746 : return -1;
4747 216 : x20 = XEXP (x19, 0);
4748 216 : switch (GET_CODE (x20))
4749 : {
4750 216 : case LTU:
4751 216 : case UNLT:
4752 216 : if (!rtx_equal_p (x20, operands[5]))
4753 : return -1;
4754 216 : x21 = XEXP (x17, 0);
4755 216 : operands[3] = x21;
4756 216 : if (!flags_reg_operand (operands[3], E_VOIDmode))
4757 : return -1;
4758 216 : x22 = XEXP (x12, 0);
4759 216 : if (!rtx_equal_p (x22, operands[3]))
4760 : return -1;
4761 216 : x23 = XEXP (x16, 1);
4762 216 : switch (GET_CODE (x23))
4763 : {
4764 204 : case REG:
4765 204 : if (!rtx_equal_p (x23, operands[0]))
4766 : return -1;
4767 204 : x24 = XEXP (x15, 1);
4768 204 : operands[2] = x24;
4769 204 : if (!memory_operand (operands[2], i1))
4770 : return -1;
4771 193 : x25 = XEXP (x14, 0);
4772 193 : if (!rtx_equal_p (x25, operands[2]))
4773 : return -1;
4774 193 : x26 = XEXP (x19, 1);
4775 193 : if (!rtx_equal_p (x26, operands[0]))
4776 : return -1;
4777 193 : x27 = XEXP (x8, 1);
4778 193 : if (!rtx_equal_p (x27, operands[2]))
4779 : return -1;
4780 193 : x28 = XEXP (x2, 0);
4781 193 : if (!rtx_equal_p (x28, operands[1]))
4782 : return -1;
4783 : return 2;
4784 :
4785 12 : case SUBREG:
4786 12 : case MEM:
4787 12 : operands[2] = x23;
4788 12 : if (!memory_operand (operands[2], i1))
4789 : return -1;
4790 12 : x24 = XEXP (x15, 1);
4791 12 : if (!rtx_equal_p (x24, operands[0]))
4792 : return -1;
4793 12 : x25 = XEXP (x14, 0);
4794 12 : if (!rtx_equal_p (x25, operands[0]))
4795 : return -1;
4796 12 : x26 = XEXP (x19, 1);
4797 12 : if (!rtx_equal_p (x26, operands[2]))
4798 : return -1;
4799 12 : x27 = XEXP (x8, 1);
4800 12 : if (!rtx_equal_p (x27, operands[0]))
4801 : return -1;
4802 : return 3;
4803 :
4804 : default:
4805 : return -1;
4806 : }
4807 :
4808 : default:
4809 : return -1;
4810 : }
4811 :
4812 322 : case REG:
4813 322 : if (!rtx_equal_p (x15, operands[0])
4814 322 : || GET_CODE (x8) != MINUS)
4815 : return -1;
4816 322 : x19 = XEXP (x8, 0);
4817 322 : if (GET_CODE (x19) != MINUS
4818 322 : || GET_MODE (x19) != i1)
4819 : return -1;
4820 322 : x26 = XEXP (x19, 1);
4821 322 : if (!ix86_carry_flag_operator (x26, i1))
4822 : return -1;
4823 322 : operands[5] = x26;
4824 322 : x29 = XEXP (x26, 1);
4825 322 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4826 : return -1;
4827 322 : x22 = XEXP (x12, 0);
4828 322 : operands[3] = x22;
4829 322 : if (!flags_reg_operand (operands[3], E_VOIDmode))
4830 : return -1;
4831 322 : x25 = XEXP (x14, 0);
4832 322 : operands[2] = x25;
4833 322 : if (!memory_operand (operands[2], i1))
4834 : return -1;
4835 169 : x20 = XEXP (x19, 0);
4836 169 : if (!rtx_equal_p (x20, operands[0]))
4837 : return -1;
4838 169 : x30 = XEXP (x26, 0);
4839 169 : if (!rtx_equal_p (x30, operands[3]))
4840 : return -1;
4841 169 : x27 = XEXP (x8, 1);
4842 169 : if (!rtx_equal_p (x27, operands[2]))
4843 : return -1;
4844 169 : x28 = XEXP (x2, 0);
4845 169 : if (!rtx_equal_p (x28, operands[1]))
4846 : return -1;
4847 : return 4;
4848 :
4849 10 : case SUBREG:
4850 10 : case MEM:
4851 10 : operands[2] = x15;
4852 10 : if (!memory_operand (operands[2], i1)
4853 10 : || GET_CODE (x8) != MINUS)
4854 : return -1;
4855 10 : x19 = XEXP (x8, 0);
4856 10 : if (GET_CODE (x19) != MINUS
4857 10 : || GET_MODE (x19) != i1)
4858 : return -1;
4859 10 : x26 = XEXP (x19, 1);
4860 10 : if (!ix86_carry_flag_operator (x26, i1))
4861 : return -1;
4862 10 : operands[5] = x26;
4863 10 : x29 = XEXP (x26, 1);
4864 10 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4865 : return -1;
4866 10 : x22 = XEXP (x12, 0);
4867 10 : operands[3] = x22;
4868 10 : if (!flags_reg_operand (operands[3], E_VOIDmode))
4869 : return -1;
4870 10 : x25 = XEXP (x14, 0);
4871 10 : if (!rtx_equal_p (x25, operands[0]))
4872 : return -1;
4873 10 : x20 = XEXP (x19, 0);
4874 10 : if (!rtx_equal_p (x20, operands[2]))
4875 : return -1;
4876 10 : x30 = XEXP (x26, 0);
4877 10 : if (!rtx_equal_p (x30, operands[3]))
4878 : return -1;
4879 10 : x27 = XEXP (x8, 1);
4880 10 : if (!rtx_equal_p (x27, operands[0]))
4881 : return -1;
4882 10 : x28 = XEXP (x2, 0);
4883 10 : if (!rtx_equal_p (x28, operands[2]))
4884 : return -1;
4885 : return 5;
4886 :
4887 : default:
4888 : return -1;
4889 : }
4890 :
4891 875 : case PLUS:
4892 875 : if (pattern1201 (x1,
4893 : i1) != 0)
4894 : return -1;
4895 : return 6;
4896 :
4897 : default:
4898 : return -1;
4899 : }
4900 :
4901 36191 : case PLUS:
4902 36191 : res = pattern1203 (x1,
4903 : i1);
4904 36191 : if (res >= 0)
4905 4 : return res + 7; /* [7, 8] */
4906 : return -1;
4907 :
4908 8854 : case MINUS:
4909 8854 : res = pattern1204 (x1,
4910 : i1);
4911 8854 : if (res >= 0)
4912 8 : return res + 9; /* [9, 10] */
4913 : return -1;
4914 :
4915 : default:
4916 : return -1;
4917 : }
4918 : }
4919 :
4920 : int
4921 2130 : pattern1314 (rtx x1)
4922 : {
4923 2130 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4924 2130 : rtx x2, x3;
4925 2130 : int res ATTRIBUTE_UNUSED;
4926 2130 : if (!const48_operand (operands[4], E_SImode))
4927 : return -1;
4928 2130 : switch (GET_MODE (operands[0]))
4929 : {
4930 530 : case E_V16SImode:
4931 530 : return pattern1308 (x1,
4932 : E_HImode,
4933 : E_V16SImode,
4934 530 : E_V16SFmode); /* [-1, 0] */
4935 :
4936 560 : case E_V8SImode:
4937 560 : if (pattern1308 (x1,
4938 : E_QImode,
4939 : E_V8SImode,
4940 : E_V8DFmode) != 0)
4941 : return -1;
4942 : return 1;
4943 :
4944 1040 : case E_V8DImode:
4945 1040 : if (!register_operand (operands[0], E_V8DImode)
4946 1040 : || GET_MODE (x1) != E_V8DImode)
4947 : return -1;
4948 960 : x2 = XVECEXP (x1, 0, 0);
4949 960 : if (GET_MODE (x2) != E_V8DImode)
4950 : return -1;
4951 960 : x3 = XEXP (x2, 0);
4952 960 : if (GET_MODE (x3) != E_V8DImode
4953 960 : || !nonimm_or_0_operand (operands[2], E_V8DImode)
4954 1884 : || !register_operand (operands[3], E_QImode))
4955 80 : return -1;
4956 880 : switch (GET_MODE (operands[1]))
4957 : {
4958 440 : case E_V8DFmode:
4959 440 : if (!register_operand (operands[1], E_V8DFmode))
4960 : return -1;
4961 : return 2;
4962 :
4963 440 : case E_V8SFmode:
4964 440 : if (!register_operand (operands[1], E_V8SFmode))
4965 : return -1;
4966 : return 3;
4967 :
4968 : default:
4969 : return -1;
4970 : }
4971 :
4972 : default:
4973 : return -1;
4974 : }
4975 : }
4976 :
4977 : int
4978 5448 : pattern1330 (rtx x1, machine_mode i1)
4979 : {
4980 5448 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4981 5448 : int res ATTRIBUTE_UNUSED;
4982 5448 : if (!nonimmediate_operand (operands[1], i1)
4983 3148 : || !const_1_to_31_operand (operands[2], E_QImode)
4984 1973 : || !nonimmediate_operand (operands[0], i1)
4985 7421 : || GET_MODE (x1) != i1)
4986 3475 : return -1;
4987 : return 0;
4988 : }
4989 :
4990 : int
4991 224 : pattern1336 (rtx x1, machine_mode i1)
4992 : {
4993 224 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4994 224 : rtx x2, x3;
4995 224 : int res ATTRIBUTE_UNUSED;
4996 224 : if (!register_operand (operands[0], i1)
4997 224 : || GET_MODE (x1) != i1)
4998 : return -1;
4999 224 : x2 = XEXP (x1, 0);
5000 224 : if (GET_MODE (x2) != i1
5001 224 : || !nonimmediate_operand (operands[1], i1))
5002 0 : return -1;
5003 224 : x3 = XEXP (x1, 1);
5004 224 : if (GET_MODE (x3) != i1)
5005 : return -1;
5006 : return 0;
5007 : }
5008 :
5009 : int
5010 847701 : pattern1342 (rtx x1, int *pnum_clobbers)
5011 : {
5012 847701 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5013 847701 : rtx x2, x3;
5014 847701 : int res ATTRIBUTE_UNUSED;
5015 847701 : x2 = XVECEXP (x1, 0, 2);
5016 847701 : switch (GET_CODE (x2))
5017 : {
5018 18 : case UNSPEC:
5019 18 : if (pnum_clobbers == NULL)
5020 : return -1;
5021 18 : return pattern392 (x1); /* [-1, 1] */
5022 :
5023 825132 : case CLOBBER:
5024 825132 : x3 = XEXP (x2, 0);
5025 825132 : if (GET_CODE (x3) != REG
5026 825132 : || REGNO (x3) != 17
5027 1650264 : || GET_MODE (x3) != E_CCmode)
5028 : return -1;
5029 825132 : switch (GET_MODE (operands[0]))
5030 : {
5031 6827 : case E_HImode:
5032 6827 : if (pattern391 (x1,
5033 : E_HImode) != 0)
5034 : return -1;
5035 : return 2;
5036 :
5037 239238 : case E_SImode:
5038 239238 : if (pattern391 (x1,
5039 : E_SImode) != 0)
5040 : return -1;
5041 : return 3;
5042 :
5043 579067 : case E_DImode:
5044 579067 : if (pattern391 (x1,
5045 : E_DImode) != 0)
5046 : return -1;
5047 : return 4;
5048 :
5049 : default:
5050 : return -1;
5051 : }
5052 :
5053 0 : case USE:
5054 0 : res = pattern394 (x1);
5055 0 : if (res >= 0)
5056 0 : return res + 5; /* [5, 7] */
5057 : return -1;
5058 :
5059 : default:
5060 : return -1;
5061 : }
5062 : }
5063 :
5064 : int
5065 273783 : pattern1361 (rtx x1, machine_mode i1)
5066 : {
5067 273783 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5068 273783 : rtx x2, x3, x4, x5, x6;
5069 273783 : int res ATTRIBUTE_UNUSED;
5070 273783 : if (!plusminuslogic_operator (operands[3], i1))
5071 : return -1;
5072 267327 : x2 = XVECEXP (x1, 0, 1);
5073 267327 : if (GET_CODE (x2) != CLOBBER)
5074 : return -1;
5075 267327 : x3 = XEXP (x2, 0);
5076 267327 : if (GET_CODE (x3) != REG
5077 267327 : || REGNO (x3) != 17
5078 534654 : || GET_MODE (x3) != E_CCmode)
5079 : return -1;
5080 267327 : x4 = XVECEXP (x1, 0, 0);
5081 267327 : x5 = XEXP (x4, 1);
5082 267327 : x6 = XEXP (x5, 1);
5083 267327 : operands[2] = x6;
5084 267327 : if (!x86_64_nonmemory_operand (operands[2], i1))
5085 : return -1;
5086 : return 0;
5087 : }
5088 :
5089 : int
5090 21 : pattern1369 (rtx x1, machine_mode i1)
5091 : {
5092 21 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5093 21 : rtx x2;
5094 21 : int res ATTRIBUTE_UNUSED;
5095 21 : if (!nonimmediate_operand (operands[0], i1)
5096 21 : || GET_MODE (x1) != i1)
5097 : return -1;
5098 21 : x2 = XEXP (x1, 0);
5099 21 : if (GET_MODE (x2) != i1
5100 21 : || !nonimmediate_operand (operands[1], i1)
5101 21 : || !ix86_carry_flag_operator (operands[4], i1)
5102 42 : || !general_operand (operands[2], i1))
5103 0 : return -1;
5104 : return 0;
5105 : }
5106 :
5107 : int
5108 3888 : pattern1375 ()
5109 : {
5110 3888 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5111 3888 : int res ATTRIBUTE_UNUSED;
5112 3888 : switch (GET_MODE (operands[4]))
5113 : {
5114 147 : case E_QImode:
5115 147 : if (!register_operand (operands[4], E_QImode))
5116 : return -1;
5117 : return 0;
5118 :
5119 54 : case E_HImode:
5120 54 : if (!register_operand (operands[4], E_HImode))
5121 : return -1;
5122 : return 1;
5123 :
5124 1492 : case E_SImode:
5125 1492 : if (!register_operand (operands[4], E_SImode))
5126 : return -1;
5127 : return 2;
5128 :
5129 2195 : case E_DImode:
5130 2195 : if (!register_operand (operands[4], E_DImode))
5131 : return -1;
5132 : return 3;
5133 :
5134 : default:
5135 : return -1;
5136 : }
5137 : }
5138 :
5139 : int
5140 972 : pattern1384 (rtx x1, machine_mode i1, machine_mode i2)
5141 : {
5142 972 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5143 972 : rtx x2;
5144 972 : int res ATTRIBUTE_UNUSED;
5145 972 : if (!register_operand (operands[0], i1)
5146 972 : || GET_MODE (x1) != i1)
5147 : return -1;
5148 925 : x2 = XEXP (x1, 0);
5149 925 : if (GET_MODE (x2) != i1
5150 925 : || !bcst_vector_operand (operands[1], i1)
5151 1850 : || pattern1383 (
5152 : i1,
5153 : i2) != 0)
5154 4 : return -1;
5155 : return 0;
5156 : }
5157 :
5158 : int
5159 546 : pattern1391 (rtx x1, machine_mode i1, machine_mode i2)
5160 : {
5161 546 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5162 546 : int res ATTRIBUTE_UNUSED;
5163 546 : if (!nonimmediate_operand (operands[2], i2)
5164 546 : || GET_MODE (x1) != i2
5165 546 : || !nonimmediate_operand (operands[3], i2)
5166 546 : || !const0_operand (operands[4], i2)
5167 1092 : || !register_operand (operands[5], i1))
5168 0 : return -1;
5169 : return 0;
5170 : }
5171 :
5172 : int
5173 40 : pattern1398 (rtx x1, machine_mode i1)
5174 : {
5175 40 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5176 40 : rtx x2, x3;
5177 40 : int res ATTRIBUTE_UNUSED;
5178 40 : if (!register_operand (operands[0], i1)
5179 40 : || GET_MODE (x1) != i1)
5180 : return -1;
5181 40 : x2 = XEXP (x1, 0);
5182 40 : if (GET_MODE (x2) != i1)
5183 : return -1;
5184 40 : x3 = XEXP (x2, 0);
5185 40 : if (GET_MODE (x3) != i1
5186 40 : || !nonimmediate_operand (operands[1], i1)
5187 40 : || !nonimmediate_operand (operands[2], i1)
5188 40 : || !nonimmediate_operand (operands[3], i1)
5189 80 : || !const0_operand (operands[4], i1))
5190 0 : return -1;
5191 : return 0;
5192 : }
5193 :
5194 : int
5195 1136 : pattern1410 (rtx x1, machine_mode i1)
5196 : {
5197 1136 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5198 1136 : rtx x2, x3, x4, x5, x6;
5199 1136 : int res ATTRIBUTE_UNUSED;
5200 1136 : if (!register_operand (operands[0], i1)
5201 1136 : || GET_MODE (x1) != i1)
5202 : return -1;
5203 1085 : x2 = XVECEXP (x1, 0, 0);
5204 1085 : if (GET_MODE (x2) != i1)
5205 : return -1;
5206 1085 : x3 = XEXP (x2, 0);
5207 1085 : if (GET_MODE (x3) != i1)
5208 : return -1;
5209 1085 : x4 = XEXP (x3, 0);
5210 1085 : if (GET_MODE (x4) != i1)
5211 : return -1;
5212 1085 : x5 = XEXP (x4, 0);
5213 1085 : if (GET_MODE (x5) != i1)
5214 : return -1;
5215 1085 : x6 = XEXP (x4, 1);
5216 1085 : if (!register_operand (x6, i1))
5217 : return -1;
5218 : return 0;
5219 : }
5220 :
5221 : int
5222 1945 : pattern1417 (rtx x1)
5223 : {
5224 1945 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5225 1945 : rtx x2, x3;
5226 1945 : int res ATTRIBUTE_UNUSED;
5227 1945 : x2 = XVECEXP (x1, 0, 0);
5228 1945 : x3 = XEXP (x2, 1);
5229 1945 : if (!rtx_equal_p (x3, operands[1]))
5230 : return -1;
5231 1945 : switch (GET_MODE (operands[0]))
5232 : {
5233 379 : case E_V8HFmode:
5234 379 : return pattern1416 (x1,
5235 379 : E_V8HFmode); /* [-1, 0] */
5236 :
5237 235 : case E_V4SFmode:
5238 235 : if (pattern1416 (x1,
5239 : E_V4SFmode) != 0)
5240 : return -1;
5241 : return 1;
5242 :
5243 1331 : case E_V2DFmode:
5244 1331 : if (pattern1416 (x1,
5245 : E_V2DFmode) != 0)
5246 : return -1;
5247 : return 2;
5248 :
5249 : default:
5250 : return -1;
5251 : }
5252 : }
5253 :
5254 : int
5255 3729 : pattern1426 (rtx x1)
5256 : {
5257 3729 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5258 3729 : rtx x2, x3, x4, x5;
5259 3729 : int res ATTRIBUTE_UNUSED;
5260 3729 : x2 = XVECEXP (x1, 0, 12);
5261 3729 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
5262 : return -1;
5263 3720 : x3 = XVECEXP (x1, 0, 13);
5264 3720 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
5265 : return -1;
5266 3720 : x4 = XVECEXP (x1, 0, 14);
5267 3720 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
5268 : return -1;
5269 3720 : x5 = XVECEXP (x1, 0, 15);
5270 3720 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
5271 0 : return -1;
5272 : return 0;
5273 : }
5274 :
5275 : int
5276 602 : pattern1436 (rtx x1, rtx_code i1)
5277 : {
5278 602 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5279 602 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5280 602 : int res ATTRIBUTE_UNUSED;
5281 602 : x2 = XVECEXP (x1, 0, 1);
5282 602 : x3 = XEXP (x2, 1);
5283 602 : if (GET_MODE (x3) != E_DImode)
5284 : return -1;
5285 534 : x4 = XEXP (x3, 0);
5286 534 : if (GET_CODE (x4) != i1
5287 88 : || GET_MODE (x4) != E_SImode)
5288 : return -1;
5289 64 : x5 = XVECEXP (x1, 0, 0);
5290 64 : x6 = XEXP (x5, 1);
5291 64 : x7 = XEXP (x6, 0);
5292 64 : if (GET_MODE (x7) != E_SImode
5293 64 : || !nonimmediate_operand (operands[1], E_SImode)
5294 64 : || !x86_64_general_operand (operands[2], E_SImode)
5295 128 : || !register_operand (operands[0], E_DImode))
5296 0 : return -1;
5297 64 : x8 = XEXP (x4, 0);
5298 64 : if (!rtx_equal_p (x8, operands[1]))
5299 : return -1;
5300 64 : x9 = XEXP (x4, 1);
5301 64 : if (!rtx_equal_p (x9, operands[2]))
5302 : return -1;
5303 : return 0;
5304 : }
5305 :
5306 : int
5307 54412 : pattern1451 (rtx x1, machine_mode i1, machine_mode i2)
5308 : {
5309 54412 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5310 54412 : int res ATTRIBUTE_UNUSED;
5311 54412 : if (!nonimmediate_operand (operands[0], i2)
5312 54325 : || GET_MODE (x1) != i2
5313 54325 : || !register_operand (operands[1], i1)
5314 108237 : || !scratch_operand (operands[2], i1))
5315 587 : return -1;
5316 : return 0;
5317 : }
5318 :
5319 : int
5320 1161 : pattern1458 (rtx x1, int i1)
5321 : {
5322 1161 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5323 1161 : rtx x2, x3, x4;
5324 1161 : int res ATTRIBUTE_UNUSED;
5325 1161 : x2 = XEXP (x1, 1);
5326 1161 : x3 = XEXP (x2, 1);
5327 1161 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
5328 : return -1;
5329 721 : x4 = XEXP (x1, 0);
5330 721 : if (GET_CODE (x4) != REG
5331 721 : || REGNO (x4) != 17
5332 1442 : || GET_MODE (x4) != E_CCZmode)
5333 0 : return -1;
5334 : return 0;
5335 : }
5336 :
5337 : int
5338 0 : pattern1464 (rtx x1, machine_mode i1)
5339 : {
5340 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5341 0 : rtx x2, x3, x4;
5342 0 : int res ATTRIBUTE_UNUSED;
5343 0 : if (!register_operand (operands[0], i1)
5344 0 : || GET_MODE (x1) != i1)
5345 : return -1;
5346 0 : x2 = XEXP (x1, 0);
5347 0 : if (GET_MODE (x2) != i1
5348 0 : || !nonimmediate_operand (operands[1], i1))
5349 0 : return -1;
5350 0 : x3 = XEXP (x1, 1);
5351 0 : if (GET_MODE (x3) != i1)
5352 : return -1;
5353 0 : x4 = XEXP (x3, 0);
5354 0 : if (GET_MODE (x4) != i1)
5355 : return -1;
5356 : return 0;
5357 : }
5358 :
5359 : int
5360 284 : pattern1472 (rtx x1, machine_mode i1)
5361 : {
5362 284 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5363 284 : rtx x2, x3, x4;
5364 284 : int res ATTRIBUTE_UNUSED;
5365 284 : if (!register_operand (operands[0], i1)
5366 284 : || GET_MODE (x1) != i1)
5367 : return -1;
5368 256 : x2 = XEXP (x1, 0);
5369 256 : if (GET_MODE (x2) != i1)
5370 : return -1;
5371 256 : x3 = XEXP (x2, 0);
5372 256 : if (GET_MODE (x3) != i1
5373 256 : || !nonimmediate_operand (operands[1], i1)
5374 512 : || !nonimmediate_operand (operands[2], i1))
5375 4 : return -1;
5376 252 : x4 = XEXP (x3, 2);
5377 252 : if (GET_MODE (x4) != i1
5378 252 : || !nonimmediate_operand (operands[3], i1))
5379 0 : return -1;
5380 : return 0;
5381 : }
5382 :
5383 : int
5384 446 : pattern1482 (rtx x1)
5385 : {
5386 446 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5387 446 : rtx x2, x3, x4, x5;
5388 446 : int res ATTRIBUTE_UNUSED;
5389 446 : x2 = XVECEXP (x1, 0, 12);
5390 446 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
5391 : return -1;
5392 446 : x3 = XVECEXP (x1, 0, 13);
5393 446 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
5394 : return -1;
5395 446 : x4 = XVECEXP (x1, 0, 14);
5396 446 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
5397 : return -1;
5398 446 : x5 = XVECEXP (x1, 0, 15);
5399 446 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
5400 0 : return -1;
5401 : return 0;
5402 : }
5403 :
5404 : int
5405 217 : pattern1489 (rtx x1, machine_mode i1)
5406 : {
5407 217 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5408 217 : rtx x2, x3;
5409 217 : int res ATTRIBUTE_UNUSED;
5410 217 : if (!register_operand (operands[0], i1)
5411 217 : || GET_MODE (x1) != i1)
5412 : return -1;
5413 198 : x2 = XVECEXP (x1, 0, 0);
5414 198 : if (GET_MODE (x2) != i1
5415 198 : || !register_operand (operands[1], i1)
5416 385 : || !register_operand (operands[2], i1))
5417 15 : return -1;
5418 183 : x3 = XVECEXP (x2, 0, 2);
5419 183 : if (GET_MODE (x3) != i1
5420 183 : || !register_operand (operands[3], i1))
5421 0 : return -1;
5422 : return 0;
5423 : }
5424 :
5425 : int
5426 360150 : pattern1495 (machine_mode i1)
5427 : {
5428 360150 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5429 360150 : int res ATTRIBUTE_UNUSED;
5430 360150 : if (!register_operand (operands[1], i1)
5431 331 : || !const_0_to_15_operand (operands[2], E_VOIDmode)
5432 331 : || !const_0_to_15_operand (operands[3], E_VOIDmode)
5433 331 : || !const_0_to_15_operand (operands[4], E_VOIDmode)
5434 360481 : || !const_0_to_15_operand (operands[5], E_VOIDmode))
5435 359819 : return -1;
5436 : return 0;
5437 : }
5438 :
5439 : int
5440 33227 : pattern1504 (rtx x1)
5441 : {
5442 33227 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5443 33227 : rtx x2, x3, x4, x5;
5444 33227 : int res ATTRIBUTE_UNUSED;
5445 33227 : if (!register_operand (operands[0], E_SImode))
5446 : return -1;
5447 26545 : x2 = XVECEXP (x1, 0, 0);
5448 26545 : x3 = XEXP (x2, 1);
5449 26545 : if (GET_MODE (x3) != E_SImode
5450 26545 : || !nonimmediate_operand (operands[3], E_SImode)
5451 52638 : || !register_operand (operands[1], E_SImode))
5452 484 : return -1;
5453 26061 : x4 = XVECEXP (x1, 0, 1);
5454 26061 : x5 = XEXP (x4, 1);
5455 26061 : if (GET_MODE (x5) != E_SImode)
5456 : return -1;
5457 : return 0;
5458 : }
5459 :
5460 : int
5461 9 : pattern1512 (rtx x1)
5462 : {
5463 9 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5464 9 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5465 9 : int res ATTRIBUTE_UNUSED;
5466 9 : x2 = XVECEXP (x1, 0, 0);
5467 9 : x3 = XEXP (x2, 1);
5468 9 : x4 = XEXP (x3, 0);
5469 9 : x5 = XEXP (x4, 0);
5470 9 : x6 = XEXP (x5, 0);
5471 9 : operands[1] = x6;
5472 9 : x7 = XVECEXP (x1, 0, 1);
5473 9 : x8 = XEXP (x7, 0);
5474 9 : operands[0] = x8;
5475 9 : x9 = XEXP (x4, 1);
5476 9 : if (!rtx_equal_p (x9, operands[1]))
5477 : return -1;
5478 9 : return pattern1503 (x1); /* [-1, 1] */
5479 : }
5480 :
5481 : int
5482 394677 : pattern1519 (rtx x1, machine_mode i1)
5483 : {
5484 394677 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5485 394677 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5486 394677 : rtx x10, x11;
5487 394677 : int res ATTRIBUTE_UNUSED;
5488 394677 : if (!register_operand (operands[0], i1)
5489 394677 : || GET_MODE (x1) != i1)
5490 : return -1;
5491 372562 : x2 = PATTERN (peep2_next_insn (1));
5492 372562 : switch (GET_CODE (x2))
5493 : {
5494 121534 : case PARALLEL:
5495 121534 : if (XVECLEN (x2, 0) != 2)
5496 : return -1;
5497 121508 : x3 = XVECEXP (x2, 0, 0);
5498 121508 : if (GET_CODE (x3) != SET)
5499 : return -1;
5500 121492 : x4 = XEXP (x3, 1);
5501 121492 : if (GET_CODE (x4) != PLUS
5502 83476 : || GET_MODE (x4) != i1)
5503 : return -1;
5504 79957 : x5 = XVECEXP (x2, 0, 1);
5505 79957 : if (GET_CODE (x5) != CLOBBER)
5506 : return -1;
5507 79957 : x6 = XEXP (x5, 0);
5508 79957 : if (GET_CODE (x6) != REG
5509 79957 : || REGNO (x6) != 17
5510 159914 : || GET_MODE (x6) != E_CCmode)
5511 : return -1;
5512 79957 : x7 = XEXP (x4, 1);
5513 79957 : operands[2] = x7;
5514 79957 : if (!x86_64_immediate_operand (operands[2], E_VOIDmode))
5515 : return -1;
5516 13784 : x8 = XEXP (x4, 0);
5517 13784 : if (!rtx_equal_p (x8, operands[0]))
5518 : return -1;
5519 : return 0;
5520 :
5521 245144 : case SET:
5522 245144 : x9 = XEXP (x2, 1);
5523 245144 : if (GET_CODE (x9) != PLUS
5524 24812 : || GET_MODE (x9) != i1)
5525 : return -1;
5526 23122 : x10 = XEXP (x9, 1);
5527 23122 : operands[2] = x10;
5528 23122 : if (!x86_64_immediate_operand (operands[2], E_VOIDmode))
5529 : return -1;
5530 11160 : x11 = XEXP (x9, 0);
5531 11160 : if (!rtx_equal_p (x11, operands[0]))
5532 : return -1;
5533 : return 1;
5534 :
5535 : default:
5536 : return -1;
5537 : }
5538 : }
5539 :
5540 : int
5541 37 : pattern1543 (rtx x1, rtx_code i1)
5542 : {
5543 37 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5544 37 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5545 37 : rtx x10, x11, x12;
5546 37 : int res ATTRIBUTE_UNUSED;
5547 37 : x2 = XVECEXP (x1, 0, 1);
5548 37 : x3 = XEXP (x2, 1);
5549 37 : if (GET_CODE (x3) != i1)
5550 : return -1;
5551 37 : x4 = XVECEXP (x1, 0, 0);
5552 37 : x5 = XEXP (x4, 0);
5553 37 : operands[1] = x5;
5554 37 : x6 = XEXP (x4, 1);
5555 37 : x7 = XEXP (x6, 0);
5556 37 : x8 = XEXP (x7, 0);
5557 37 : operands[2] = x8;
5558 37 : if (!register_operand (operands[2], E_SImode))
5559 : return -1;
5560 37 : x9 = XEXP (x7, 1);
5561 37 : operands[3] = x9;
5562 37 : if (!nonimmediate_operand (operands[3], E_SImode))
5563 : return -1;
5564 37 : x10 = XEXP (x2, 0);
5565 37 : operands[0] = x10;
5566 37 : x11 = XEXP (x3, 0);
5567 37 : if (!rtx_equal_p (x11, operands[2]))
5568 : return -1;
5569 37 : x12 = XEXP (x3, 1);
5570 37 : if (!rtx_equal_p (x12, operands[3]))
5571 : return -1;
5572 : return 0;
5573 : }
5574 :
5575 : int
5576 366 : pattern1558 (rtx x1)
5577 : {
5578 366 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5579 366 : rtx x2, x3, x4, x5;
5580 366 : int res ATTRIBUTE_UNUSED;
5581 366 : x2 = XVECEXP (x1, 0, 4);
5582 366 : operands[2] = x2;
5583 366 : if (!const_4_to_7_operand (operands[2], E_VOIDmode))
5584 : return -1;
5585 366 : x3 = XVECEXP (x1, 0, 5);
5586 366 : operands[3] = x3;
5587 366 : if (!const_4_to_7_operand (operands[3], E_VOIDmode))
5588 : return -1;
5589 366 : x4 = XVECEXP (x1, 0, 6);
5590 366 : operands[4] = x4;
5591 366 : if (!const_4_to_7_operand (operands[4], E_VOIDmode))
5592 : return -1;
5593 366 : x5 = XVECEXP (x1, 0, 7);
5594 366 : operands[5] = x5;
5595 366 : if (!const_4_to_7_operand (operands[5], E_VOIDmode))
5596 : return -1;
5597 : return 0;
5598 : }
5599 :
5600 : int
5601 66529 : pattern1568 (rtx x1)
5602 : {
5603 66529 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5604 66529 : rtx x2, x3;
5605 66529 : int res ATTRIBUTE_UNUSED;
5606 66529 : if (!nonimmediate_operand (operands[0], E_V4SFmode)
5607 66529 : || GET_MODE (x1) != E_V4SFmode)
5608 : return -1;
5609 56577 : x2 = XEXP (x1, 0);
5610 56577 : if (GET_MODE (x2) != E_V8SFmode
5611 56577 : || !nonimmediate_operand (operands[1], E_V4SFmode))
5612 33 : return -1;
5613 56544 : x3 = XEXP (x2, 1);
5614 56544 : operands[2] = x3;
5615 56544 : if (!nonimmediate_operand (operands[2], E_V4SFmode))
5616 : return -1;
5617 : return 0;
5618 : }
5619 :
5620 : int
5621 12989 : pattern1575 (rtx x1, machine_mode i1)
5622 : {
5623 12989 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5624 12989 : int res ATTRIBUTE_UNUSED;
5625 12989 : if (!nonimmediate_operand (operands[0], i1)
5626 12989 : || GET_MODE (x1) != i1
5627 12989 : || !nonimmediate_operand (operands[1], i1)
5628 24961 : || !ix86_carry_flag_operator (operands[2], i1))
5629 1017 : return -1;
5630 : return 0;
5631 : }
5632 :
5633 : int
5634 137 : pattern1582 (rtx x1, int *pnum_clobbers)
5635 : {
5636 137 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5637 137 : rtx x2, x3;
5638 137 : int res ATTRIBUTE_UNUSED;
5639 137 : switch (GET_CODE (x1))
5640 : {
5641 6 : case UNSPEC:
5642 6 : if (pnum_clobbers == NULL
5643 6 : || XVECLEN (x1, 0) != 1
5644 6 : || XINT (x1, 1) != 33)
5645 : return -1;
5646 6 : x2 = XVECEXP (x1, 0, 0);
5647 6 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
5648 : return -1;
5649 : return 0;
5650 :
5651 95 : case CLOBBER:
5652 95 : x3 = XEXP (x1, 0);
5653 95 : if (GET_CODE (x3) != REG
5654 95 : || REGNO (x3) != 17
5655 190 : || GET_MODE (x3) != E_CCmode)
5656 : return -1;
5657 : return 1;
5658 :
5659 0 : case USE:
5660 0 : if (pnum_clobbers == NULL)
5661 : return -1;
5662 0 : x3 = XEXP (x1, 0);
5663 0 : operands[4] = x3;
5664 0 : if (!register_operand (operands[4], E_SImode))
5665 : return -1;
5666 : return 2;
5667 :
5668 : default:
5669 : return -1;
5670 : }
5671 : }
5672 :
5673 : int
5674 4476 : pattern1593 (rtx x1, machine_mode i1, machine_mode i2)
5675 : {
5676 4476 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5677 4476 : rtx x2, x3;
5678 4476 : int res ATTRIBUTE_UNUSED;
5679 4476 : if (!register_operand (operands[0], i1)
5680 4476 : || GET_MODE (x1) != i1)
5681 : return -1;
5682 4256 : x2 = XEXP (x1, 0);
5683 4256 : if (GET_MODE (x2) != i1)
5684 : return -1;
5685 4256 : x3 = XEXP (x2, 0);
5686 4256 : if (GET_MODE (x3) != i2
5687 4256 : || !register_operand (operands[1], i1)
5688 4250 : || !nonimmediate_operand (operands[2], i1)
5689 8426 : || !nonimm_or_0_operand (operands[3], i1))
5690 196 : return -1;
5691 : return 0;
5692 : }
5693 :
5694 : int
5695 507 : pattern1601 (rtx x1, machine_mode i1, machine_mode i2)
5696 : {
5697 507 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5698 507 : rtx x2, x3;
5699 507 : int res ATTRIBUTE_UNUSED;
5700 507 : if (!register_operand (operands[0], i2)
5701 507 : || GET_MODE (x1) != i2)
5702 : return -1;
5703 493 : x2 = XVECEXP (x1, 0, 0);
5704 493 : if (GET_MODE (x2) != i2)
5705 : return -1;
5706 493 : x3 = XEXP (x2, 0);
5707 493 : if (GET_MODE (x3) != i2
5708 493 : || !register_operand (operands[1], i2)
5709 981 : || pattern1600 (
5710 : i1,
5711 : i2) != 0)
5712 17 : return -1;
5713 : return 0;
5714 : }
5715 :
5716 : int
5717 0 : pattern1610 (rtx x1, machine_mode i1)
5718 : {
5719 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5720 0 : rtx x2, x3, x4, x5;
5721 0 : int res ATTRIBUTE_UNUSED;
5722 0 : if (!register_operand (operands[0], i1)
5723 0 : || GET_MODE (x1) != i1)
5724 : return -1;
5725 0 : x2 = XVECEXP (x1, 0, 0);
5726 0 : if (GET_MODE (x2) != i1)
5727 : return -1;
5728 0 : x3 = XEXP (x2, 0);
5729 0 : if (GET_MODE (x3) != i1)
5730 : return -1;
5731 0 : x4 = XEXP (x3, 0);
5732 0 : if (GET_MODE (x4) != i1
5733 0 : || !nonimmediate_operand (operands[1], i1)
5734 0 : || !nonimmediate_operand (operands[2], i1))
5735 0 : return -1;
5736 0 : x5 = XEXP (x3, 2);
5737 0 : if (GET_MODE (x5) != i1
5738 0 : || !nonimmediate_operand (operands[3], i1)
5739 0 : || !const0_operand (operands[4], i1)
5740 0 : || !register_operand (operands[5], E_QImode))
5741 0 : return -1;
5742 : return 0;
5743 : }
5744 :
5745 : int
5746 218 : pattern1623 (machine_mode i1)
5747 : {
5748 218 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5749 218 : int res ATTRIBUTE_UNUSED;
5750 218 : if (!vsib_address_operand (operands[3], i1))
5751 : return -1;
5752 208 : switch (GET_MODE (operands[2]))
5753 : {
5754 128 : case E_V8SImode:
5755 128 : if (!register_operand (operands[2], E_V8SImode))
5756 : return -1;
5757 : return 0;
5758 :
5759 80 : case E_V8DImode:
5760 80 : if (!register_operand (operands[2], E_V8DImode))
5761 : return -1;
5762 : return 1;
5763 :
5764 : default:
5765 : return -1;
5766 : }
5767 : }
5768 :
5769 : int
5770 4454 : pattern1631 (rtx x1, machine_mode i1, machine_mode i2)
5771 : {
5772 4454 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5773 4454 : rtx x2, x3;
5774 4454 : int res ATTRIBUTE_UNUSED;
5775 4454 : if (!register_operand (operands[0], i1)
5776 4454 : || GET_MODE (x1) != i1)
5777 : return -1;
5778 4424 : x2 = XEXP (x1, 0);
5779 4424 : if (GET_MODE (x2) != i2
5780 4424 : || !register_operand (operands[1], i1))
5781 909 : return -1;
5782 3515 : x3 = XEXP (x2, 1);
5783 3515 : operands[2] = x3;
5784 3515 : if (!nonimmediate_operand (operands[2], i1))
5785 : return -1;
5786 : return 0;
5787 : }
5788 :
5789 : int
5790 53438 : pattern1639 (rtx x1, machine_mode i1)
5791 : {
5792 53438 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5793 53438 : rtx x2;
5794 53438 : int res ATTRIBUTE_UNUSED;
5795 53438 : if (!nonimmediate_operand (operands[1], i1)
5796 53426 : || !register_operand (operands[0], i1)
5797 106864 : || GET_MODE (x1) != i1)
5798 12 : return -1;
5799 53426 : x2 = XEXP (x1, 1);
5800 53426 : if (GET_MODE (x2) != i1)
5801 : return -1;
5802 : return 0;
5803 : }
5804 :
5805 : int
5806 17301 : pattern1646 (rtx x1)
5807 : {
5808 17301 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5809 17301 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5810 17301 : rtx x10, x11;
5811 17301 : int res ATTRIBUTE_UNUSED;
5812 17301 : if (!plusminuslogic_operator (operands[3], E_SImode))
5813 : return -1;
5814 10940 : x2 = XVECEXP (x1, 0, 1);
5815 10940 : if (GET_CODE (x2) != CLOBBER)
5816 : return -1;
5817 10940 : x3 = XEXP (x2, 0);
5818 10940 : if (GET_CODE (x3) != REG
5819 10940 : || REGNO (x3) != 17
5820 21880 : || GET_MODE (x3) != E_CCmode)
5821 : return -1;
5822 10940 : x4 = XVECEXP (x1, 0, 0);
5823 10940 : x5 = XEXP (x4, 0);
5824 10940 : operands[4] = x5;
5825 10940 : if (!register_operand (operands[4], E_SImode))
5826 : return -1;
5827 10934 : x6 = XEXP (x4, 1);
5828 10934 : x7 = XEXP (x6, 1);
5829 10934 : operands[2] = x7;
5830 10934 : if (!nonmemory_operand (operands[2], E_SImode))
5831 : return -1;
5832 10893 : x8 = XEXP (x6, 0);
5833 10893 : if (!rtx_equal_p (x8, operands[4]))
5834 : return -1;
5835 10839 : x9 = PATTERN (peep2_next_insn (2));
5836 10839 : x10 = XEXP (x9, 1);
5837 10839 : if (!rtx_equal_p (x10, operands[0]))
5838 : return -1;
5839 1521 : x11 = PATTERN (peep2_next_insn (3));
5840 1521 : if (GET_CODE (x11) != SET)
5841 : return -1;
5842 : return 0;
5843 : }
5844 :
5845 : int
5846 1084 : pattern1661 (rtx x1, machine_mode i1)
5847 : {
5848 1084 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5849 1084 : rtx x2, x3, x4;
5850 1084 : int res ATTRIBUTE_UNUSED;
5851 1084 : if (!register_operand (operands[0], i1)
5852 1084 : || GET_MODE (x1) != i1)
5853 : return -1;
5854 1041 : x2 = XVECEXP (x1, 0, 0);
5855 1041 : if (GET_MODE (x2) != i1)
5856 : return -1;
5857 1041 : x3 = XEXP (x2, 0);
5858 1041 : if (GET_MODE (x3) != i1)
5859 : return -1;
5860 1041 : x4 = XEXP (x3, 0);
5861 1041 : if (GET_MODE (x4) != i1
5862 1041 : || !register_operand (operands[1], i1)
5863 1041 : || !register_operand (operands[2], i1)
5864 2082 : || !nonimm_or_0_operand (operands[3], i1))
5865 0 : return -1;
5866 : return 0;
5867 : }
5868 :
5869 : int
5870 54 : pattern1669 (rtx x1, machine_mode i1)
5871 : {
5872 54 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5873 54 : rtx x2, x3, x4, x5;
5874 54 : int res ATTRIBUTE_UNUSED;
5875 54 : if (!register_operand (operands[0], i1)
5876 54 : || GET_MODE (x1) != i1)
5877 : return -1;
5878 39 : x2 = XVECEXP (x1, 0, 0);
5879 39 : if (GET_MODE (x2) != i1)
5880 : return -1;
5881 39 : x3 = XEXP (x2, 0);
5882 39 : if (GET_MODE (x3) != i1)
5883 : return -1;
5884 39 : x4 = XEXP (x3, 0);
5885 39 : if (GET_MODE (x4) != i1
5886 39 : || !nonimmediate_operand (operands[1], i1)
5887 78 : || !register_operand (operands[2], i1))
5888 6 : return -1;
5889 33 : x5 = XEXP (x3, 2);
5890 33 : if (GET_MODE (x5) != i1
5891 33 : || !register_operand (operands[3], i1))
5892 0 : return -1;
5893 : return 0;
5894 : }
5895 :
5896 : int
5897 49288 : pattern1682 (rtx x1, machine_mode i1)
5898 : {
5899 49288 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5900 49288 : int res ATTRIBUTE_UNUSED;
5901 49288 : if (!nonimmediate_operand (operands[1], i1)
5902 49288 : || !x86_64_hilo_general_operand (operands[2], i1)
5903 49211 : || !nonimmediate_operand (operands[0], i1)
5904 98499 : || GET_MODE (x1) != i1)
5905 77 : return -1;
5906 : return 0;
5907 : }
5908 :
5909 : int
5910 502 : pattern1690 (rtx x1, machine_mode i1)
5911 : {
5912 502 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5913 502 : rtx x2;
5914 502 : int res ATTRIBUTE_UNUSED;
5915 502 : if (!register_operand (operands[0], i1)
5916 502 : || GET_MODE (x1) != i1)
5917 : return -1;
5918 451 : x2 = XEXP (x1, 0);
5919 451 : if (GET_MODE (x2) != i1
5920 451 : || !nonimmediate_operand (operands[1], i1)
5921 880 : || !nonimm_or_0_operand (operands[6], i1))
5922 39 : return -1;
5923 : return 0;
5924 : }
5925 :
5926 : int
5927 39660 : pattern1697 (rtx x1, machine_mode i1)
5928 : {
5929 39660 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5930 39660 : int res ATTRIBUTE_UNUSED;
5931 39660 : if (!register_operand (operands[1], i1)
5932 39044 : || !x86_64_general_operand (operands[2], i1)
5933 38704 : || GET_MODE (x1) != i1
5934 78364 : || !scratch_operand (operands[0], i1))
5935 1059 : return -1;
5936 : return 0;
5937 : }
5938 :
5939 : int
5940 52 : pattern1703 (rtx x1)
5941 : {
5942 52 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5943 52 : rtx x2, x3, x4, x5, x6, x7, x8;
5944 52 : int res ATTRIBUTE_UNUSED;
5945 52 : if (!register_operand (operands[0], E_SImode))
5946 : return -1;
5947 52 : x2 = XEXP (x1, 0);
5948 52 : x3 = XEXP (x2, 0);
5949 52 : operands[1] = x3;
5950 52 : if (!nonimmediate_operand (operands[1], E_SImode))
5951 : return -1;
5952 52 : x4 = XEXP (x1, 1);
5953 52 : if (GET_MODE (x4) != E_SImode)
5954 : return -1;
5955 52 : x5 = XEXP (x4, 0);
5956 52 : if (GET_MODE (x5) != E_DImode)
5957 : return -1;
5958 52 : x6 = XEXP (x5, 0);
5959 52 : if (GET_MODE (x6) != E_DImode)
5960 : return -1;
5961 52 : x7 = XEXP (x6, 0);
5962 52 : operands[2] = x7;
5963 52 : if (!register_operand (operands[2], E_SImode))
5964 : return -1;
5965 52 : x8 = XEXP (x5, 1);
5966 52 : operands[4] = x8;
5967 52 : if (!const_0_to_63_operand (operands[4], E_QImode))
5968 : return -1;
5969 : return 0;
5970 : }
5971 :
5972 : int
5973 24 : pattern1717 (rtx x1, machine_mode i1)
5974 : {
5975 24 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5976 24 : rtx x2, x3, x4, x5, x6, x7, x8;
5977 24 : int res ATTRIBUTE_UNUSED;
5978 24 : x2 = XEXP (x1, 0);
5979 24 : x3 = XEXP (x2, 0);
5980 24 : x4 = XEXP (x3, 0);
5981 24 : x5 = XEXP (x4, 0);
5982 24 : operands[2] = x5;
5983 24 : x6 = XEXP (x3, 2);
5984 24 : if (GET_MODE (x6) != i1
5985 24 : || !nonimmediate_operand (operands[3], i1))
5986 0 : return -1;
5987 24 : x7 = XEXP (x2, 1);
5988 24 : if (!rtx_equal_p (x7, operands[3]))
5989 : return -1;
5990 24 : x8 = XEXP (x1, 1);
5991 24 : if (!rtx_equal_p (x8, operands[3]))
5992 : return -1;
5993 : return 0;
5994 : }
5995 :
5996 : int
5997 863 : pattern1723 (rtx x1, machine_mode i1, machine_mode i2)
5998 : {
5999 863 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6000 863 : rtx x2, x3;
6001 863 : int res ATTRIBUTE_UNUSED;
6002 863 : if (!register_operand (operands[0], i1)
6003 801 : || GET_MODE (x1) != i1
6004 801 : || !vsib_mem_operator (operands[6], i2)
6005 1664 : || !register_operand (operands[4], i1))
6006 648 : return -1;
6007 215 : x2 = XVECEXP (x1, 0, 1);
6008 215 : x3 = XEXP (x2, 0);
6009 215 : switch (GET_MODE (x3))
6010 : {
6011 28 : case E_SImode:
6012 28 : return pattern1722 (
6013 28 : E_SImode); /* [-1, 1] */
6014 :
6015 187 : case E_DImode:
6016 187 : res = pattern1722 (
6017 : E_DImode);
6018 187 : if (res >= 0)
6019 65 : return res + 2; /* [2, 3] */
6020 : return -1;
6021 :
6022 : default:
6023 : return -1;
6024 : }
6025 : }
6026 :
6027 : int
6028 688 : pattern1732 (machine_mode i1)
6029 : {
6030 688 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6031 688 : int res ATTRIBUTE_UNUSED;
6032 688 : if (!vsib_address_operand (operands[0], i1))
6033 : return -1;
6034 662 : switch (GET_MODE (operands[2]))
6035 : {
6036 358 : case E_V4SImode:
6037 358 : if (!register_operand (operands[2], E_V4SImode))
6038 : return -1;
6039 : return 0;
6040 :
6041 304 : case E_V4DImode:
6042 304 : if (!register_operand (operands[2], E_V4DImode))
6043 : return -1;
6044 : return 1;
6045 :
6046 : default:
6047 : return -1;
6048 : }
6049 : }
6050 :
6051 : int
6052 124 : pattern1740 (machine_mode i1)
6053 : {
6054 124 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6055 124 : int res ATTRIBUTE_UNUSED;
6056 124 : if (!vsib_address_operand (operands[3], i1))
6057 : return -1;
6058 120 : switch (GET_MODE (operands[2]))
6059 : {
6060 34 : case E_V8SImode:
6061 34 : if (!register_operand (operands[2], E_V8SImode))
6062 : return -1;
6063 : return 0;
6064 :
6065 86 : case E_V4DImode:
6066 86 : if (!register_operand (operands[2], E_V4DImode))
6067 : return -1;
6068 : return 1;
6069 :
6070 : default:
6071 : return -1;
6072 : }
6073 : }
6074 :
6075 : int
6076 3444 : pattern1749 (rtx x1)
6077 : {
6078 3444 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6079 3444 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6080 3444 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
6081 3444 : int res ATTRIBUTE_UNUSED;
6082 3444 : if (!register_operand (operands[0], E_SImode))
6083 : return -1;
6084 3436 : x2 = XVECEXP (x1, 0, 0);
6085 3436 : x3 = XEXP (x2, 1);
6086 3436 : x4 = XVECEXP (x3, 0, 0);
6087 3436 : operands[2] = x4;
6088 3436 : if (!register_operand (operands[2], E_V16QImode))
6089 : return -1;
6090 3344 : x5 = XVECEXP (x3, 0, 1);
6091 3344 : operands[3] = x5;
6092 3344 : if (!nonimmediate_operand (operands[3], E_V16QImode))
6093 : return -1;
6094 3324 : x6 = XVECEXP (x3, 0, 2);
6095 3324 : operands[4] = x6;
6096 3324 : if (!const_0_to_255_operand (operands[4], E_SImode))
6097 : return -1;
6098 3324 : x7 = XVECEXP (x1, 0, 1);
6099 3324 : x8 = XEXP (x7, 0);
6100 3324 : operands[1] = x8;
6101 3324 : if (!register_operand (operands[1], E_V16QImode))
6102 : return -1;
6103 3284 : x9 = XEXP (x7, 1);
6104 3284 : x10 = XVECEXP (x9, 0, 0);
6105 3284 : if (!rtx_equal_p (x10, operands[2]))
6106 : return -1;
6107 3284 : x11 = XVECEXP (x9, 0, 1);
6108 3284 : if (!rtx_equal_p (x11, operands[3]))
6109 : return -1;
6110 3284 : x12 = XVECEXP (x9, 0, 2);
6111 3284 : if (!rtx_equal_p (x12, operands[4]))
6112 : return -1;
6113 3284 : x13 = XVECEXP (x1, 0, 2);
6114 3284 : x14 = XEXP (x13, 1);
6115 3284 : x15 = XVECEXP (x14, 0, 0);
6116 3284 : if (!rtx_equal_p (x15, operands[2]))
6117 : return -1;
6118 3174 : x16 = XVECEXP (x14, 0, 1);
6119 3174 : if (!rtx_equal_p (x16, operands[3]))
6120 : return -1;
6121 3064 : x17 = XVECEXP (x14, 0, 2);
6122 3064 : if (!rtx_equal_p (x17, operands[4]))
6123 : return -1;
6124 : return 0;
6125 : }
6126 :
6127 : int
6128 510 : pattern1769 (rtx x1, machine_mode i1, machine_mode i2)
6129 : {
6130 510 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6131 510 : rtx x2, x3;
6132 510 : int res ATTRIBUTE_UNUSED;
6133 510 : if (!register_operand (operands[0], i2)
6134 510 : || GET_MODE (x1) != i2
6135 510 : || !register_operand (operands[1], i2)
6136 510 : || !register_operand (operands[7], E_QImode)
6137 506 : || !vsib_mem_operator (operands[6], i1)
6138 1016 : || !scratch_operand (operands[2], E_QImode))
6139 4 : return -1;
6140 506 : x2 = XVECEXP (x1, 0, 2);
6141 506 : x3 = XEXP (x2, 0);
6142 506 : switch (GET_MODE (x3))
6143 : {
6144 0 : case E_SImode:
6145 0 : return pattern1768 (
6146 0 : E_SImode); /* [-1, 1] */
6147 :
6148 506 : case E_DImode:
6149 506 : res = pattern1768 (
6150 : E_DImode);
6151 506 : if (res >= 0)
6152 476 : return res + 2; /* [2, 3] */
6153 : return -1;
6154 :
6155 : default:
6156 : return -1;
6157 : }
6158 : }
6159 :
6160 : int
6161 2614 : pattern1783 (rtx x1)
6162 : {
6163 2614 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6164 2614 : rtx x2, x3, x4, x5, x6;
6165 2614 : int res ATTRIBUTE_UNUSED;
6166 2614 : x2 = XVECEXP (x1, 0, 0);
6167 2614 : x3 = XEXP (x2, 1);
6168 2614 : x4 = XEXP (x3, 0);
6169 2614 : switch (GET_MODE (x4))
6170 : {
6171 354 : case E_HImode:
6172 354 : if (!memory_operand (operands[0], E_HImode))
6173 : return -1;
6174 354 : x5 = XVECEXP (x1, 0, 1);
6175 354 : x6 = XEXP (x5, 0);
6176 354 : if (GET_MODE (x6) != E_HImode
6177 354 : || !nonmemory_operand (operands[1], E_HImode))
6178 0 : return -1;
6179 : return 0;
6180 :
6181 1709 : case E_SImode:
6182 1709 : if (!memory_operand (operands[0], E_SImode))
6183 : return -1;
6184 1709 : x5 = XVECEXP (x1, 0, 1);
6185 1709 : x6 = XEXP (x5, 0);
6186 1709 : if (GET_MODE (x6) != E_SImode
6187 1709 : || !nonmemory_operand (operands[1], E_SImode))
6188 0 : return -1;
6189 : return 1;
6190 :
6191 551 : case E_DImode:
6192 551 : if (!memory_operand (operands[0], E_DImode))
6193 : return -1;
6194 551 : x5 = XVECEXP (x1, 0, 1);
6195 551 : x6 = XEXP (x5, 0);
6196 551 : if (GET_MODE (x6) != E_DImode
6197 551 : || !nonmemory_operand (operands[1], E_DImode))
6198 31 : return -1;
6199 : return 2;
6200 :
6201 : default:
6202 : return -1;
6203 : }
6204 : }
6205 :
6206 : int
6207 952 : pattern1801 (rtx x1, machine_mode i1, machine_mode i2)
6208 : {
6209 952 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6210 952 : rtx x2, x3;
6211 952 : int res ATTRIBUTE_UNUSED;
6212 952 : if (!register_operand (operands[0], i1)
6213 945 : || GET_MODE (x1) != i1
6214 945 : || !vsib_mem_operator (operands[6], i2)
6215 1897 : || !scratch_operand (operands[1], i1))
6216 7 : return -1;
6217 945 : x2 = XVECEXP (x1, 0, 1);
6218 945 : x3 = XEXP (x2, 0);
6219 945 : switch (GET_MODE (x3))
6220 : {
6221 : case E_SImode:
6222 : return 0;
6223 :
6224 754 : case E_DImode:
6225 754 : return 1;
6226 :
6227 : default:
6228 : return -1;
6229 : }
6230 : }
6231 :
6232 : int
6233 5 : pattern1807 (rtx x1)
6234 : {
6235 5 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6236 5 : rtx x2;
6237 5 : int res ATTRIBUTE_UNUSED;
6238 5 : if (GET_MODE (x1) != E_DImode)
6239 : return -1;
6240 5 : switch (GET_CODE (x1))
6241 : {
6242 4 : case SIGN_EXTEND:
6243 4 : x2 = XEXP (x1, 0);
6244 4 : operands[4] = x2;
6245 4 : if (!nonimmediate_gr_operand (operands[4], E_SImode))
6246 : return -1;
6247 : return 0;
6248 :
6249 0 : case ZERO_EXTEND:
6250 0 : x2 = XEXP (x1, 0);
6251 0 : operands[4] = x2;
6252 0 : if (!nonimmediate_gr_operand (operands[4], E_SImode))
6253 : return -1;
6254 : return 1;
6255 :
6256 : default:
6257 : return -1;
6258 : }
6259 : }
6260 :
6261 : int
6262 762 : pattern1817 (machine_mode i1)
6263 : {
6264 762 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6265 762 : int res ATTRIBUTE_UNUSED;
6266 762 : if (!vsib_address_operand (operands[3], i1))
6267 : return -1;
6268 746 : switch (GET_MODE (operands[4]))
6269 : {
6270 376 : case E_V4SImode:
6271 376 : if (!register_operand (operands[4], E_V4SImode))
6272 : return -1;
6273 : return 0;
6274 :
6275 370 : case E_V4DImode:
6276 370 : if (!register_operand (operands[4], E_V4DImode))
6277 : return -1;
6278 : return 1;
6279 :
6280 : default:
6281 : return -1;
6282 : }
6283 : }
6284 :
6285 : int
6286 292 : pattern1825 (rtx x1, machine_mode i1)
6287 : {
6288 292 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6289 292 : rtx x2, x3, x4, x5, x6, x7;
6290 292 : int res ATTRIBUTE_UNUSED;
6291 292 : x2 = XVECEXP (x1, 0, 0);
6292 292 : x3 = XEXP (x2, 1);
6293 292 : x4 = XEXP (x3, 0);
6294 292 : x5 = XEXP (x4, 0);
6295 292 : if (GET_MODE (x5) != i1
6296 292 : || !nonimmediate_operand (operands[1], i1)
6297 570 : || !ix86_carry_flag_operator (operands[4], i1))
6298 14 : return -1;
6299 278 : x6 = XVECEXP (x1, 0, 1);
6300 278 : x7 = XEXP (x6, 1);
6301 278 : return pattern1822 (x7,
6302 278 : i1); /* [-1, 0] */
6303 : }
6304 :
6305 : int
6306 445 : pattern1833 (rtx x1, machine_mode i1)
6307 : {
6308 445 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6309 445 : rtx x2, x3, x4;
6310 445 : int res ATTRIBUTE_UNUSED;
6311 445 : operands[4] = x1;
6312 445 : if (!register_operand (operands[4], i1))
6313 : return -1;
6314 169 : x2 = PATTERN (peep2_next_insn (3));
6315 169 : if (GET_CODE (x2) != SET)
6316 : return -1;
6317 169 : x3 = XEXP (x2, 1);
6318 169 : if (!rtx_equal_p (x3, operands[4]))
6319 : return -1;
6320 0 : x4 = XEXP (x2, 0);
6321 0 : if (!rtx_equal_p (x4, operands[1]))
6322 : return -1;
6323 : return 0;
6324 : }
6325 :
6326 : int
6327 423 : pattern1839 (rtx x1, machine_mode i1)
6328 : {
6329 423 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6330 423 : rtx x2, x3, x4, x5, x6, x7;
6331 423 : int res ATTRIBUTE_UNUSED;
6332 423 : x2 = XEXP (x1, 0);
6333 423 : x3 = XEXP (x2, 0);
6334 423 : x4 = XEXP (x3, 0);
6335 423 : x5 = XEXP (x4, 0);
6336 423 : operands[2] = x5;
6337 423 : if (!register_operand (operands[2], i1)
6338 423 : || !nonimmediate_operand (operands[3], i1))
6339 4 : return -1;
6340 419 : x6 = XEXP (x2, 1);
6341 419 : if (!rtx_equal_p (x6, operands[3]))
6342 : return -1;
6343 342 : x7 = XEXP (x1, 1);
6344 342 : if (!rtx_equal_p (x7, operands[3]))
6345 : return -1;
6346 : return 0;
6347 : }
6348 :
6349 : int
6350 0 : pattern1849 (machine_mode i1)
6351 : {
6352 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6353 0 : int res ATTRIBUTE_UNUSED;
6354 0 : if (!register_operand (operands[4], i1)
6355 0 : || !register_operand (operands[5], i1)
6356 0 : || !register_operand (operands[6], i1)
6357 0 : || !register_operand (operands[0], i1)
6358 0 : || !register_operand (operands[1], i1)
6359 0 : || !register_operand (operands[2], i1))
6360 0 : return -1;
6361 : return 0;
6362 : }
6363 :
6364 : int
6365 427367 : pattern1855 (rtx x1, machine_mode i1)
6366 : {
6367 427367 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6368 427367 : rtx x2, x3, x4, x5;
6369 427367 : int res ATTRIBUTE_UNUSED;
6370 427367 : if (!register_operand (operands[0], i1))
6371 : return -1;
6372 427367 : x2 = XVECEXP (x1, 0, 0);
6373 427367 : x3 = XEXP (x2, 1);
6374 427367 : if (GET_MODE (x3) != i1
6375 427367 : || !memory_operand (operands[1], i1)
6376 426335 : || !register_operand (operands[2], i1)
6377 818205 : || !register_operand (operands[3], i1))
6378 91390 : return -1;
6379 335977 : x4 = XVECEXP (x1, 0, 1);
6380 335977 : x5 = XEXP (x4, 1);
6381 335977 : if (GET_MODE (x5) != i1)
6382 : return -1;
6383 : return 0;
6384 : }
6385 :
6386 : int
6387 119 : pattern1862 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
6388 : {
6389 119 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6390 119 : rtx x2, x3, x4;
6391 119 : int res ATTRIBUTE_UNUSED;
6392 119 : if (!register_operand (operands[0], i1)
6393 119 : || GET_MODE (x1) != i1)
6394 : return -1;
6395 111 : x2 = XEXP (x1, 0);
6396 111 : if (GET_MODE (x2) != i3
6397 111 : || !vsib_mem_operator (operands[6], i2)
6398 222 : || !register_operand (operands[4], i1))
6399 81 : return -1;
6400 30 : x3 = XVECEXP (x2, 0, 1);
6401 30 : x4 = XEXP (x3, 0);
6402 30 : switch (GET_MODE (x4))
6403 : {
6404 0 : case E_SImode:
6405 0 : if (!vsib_address_operand (operands[2], E_SImode))
6406 : return -1;
6407 : return 0;
6408 :
6409 30 : case E_DImode:
6410 30 : if (!vsib_address_operand (operands[2], E_DImode))
6411 : return -1;
6412 : return 1;
6413 :
6414 : default:
6415 : return -1;
6416 : }
6417 : }
6418 :
6419 : int
6420 715 : pattern1869 (rtx x1, machine_mode i1)
6421 : {
6422 715 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6423 715 : int res ATTRIBUTE_UNUSED;
6424 715 : if (!register_operand (operands[5], i1))
6425 : return -1;
6426 644 : switch (GET_MODE (x1))
6427 : {
6428 0 : case E_SImode:
6429 0 : if (!vsib_address_operand (operands[3], E_SImode))
6430 : return -1;
6431 : return 0;
6432 :
6433 644 : case E_DImode:
6434 644 : if (!vsib_address_operand (operands[3], E_DImode))
6435 : return -1;
6436 : return 1;
6437 :
6438 : default:
6439 : return -1;
6440 : }
6441 : }
6442 :
6443 : int
6444 87 : pattern1877 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
6445 : {
6446 87 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6447 87 : rtx x2, x3, x4;
6448 87 : int res ATTRIBUTE_UNUSED;
6449 87 : if (!register_operand (operands[0], i2)
6450 87 : || GET_MODE (x1) != i2)
6451 : return -1;
6452 85 : x2 = XEXP (x1, 0);
6453 85 : if (GET_MODE (x2) != i1
6454 85 : || !vsib_mem_operator (operands[6], i3)
6455 85 : || !register_operand (operands[4], i2)
6456 105 : || !scratch_operand (operands[1], i1))
6457 65 : return -1;
6458 20 : x3 = XVECEXP (x2, 0, 1);
6459 20 : x4 = XEXP (x3, 0);
6460 20 : switch (GET_MODE (x4))
6461 : {
6462 0 : case E_SImode:
6463 0 : if (!vsib_address_operand (operands[2], E_SImode))
6464 : return -1;
6465 : return 0;
6466 :
6467 20 : case E_DImode:
6468 20 : if (!vsib_address_operand (operands[2], E_DImode))
6469 : return -1;
6470 : return 1;
6471 :
6472 : default:
6473 : return -1;
6474 : }
6475 : }
6476 :
6477 : int
6478 175 : pattern1887 (rtx x1)
6479 : {
6480 175 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6481 175 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6482 175 : rtx x10, x11, x12, x13, x14, x15;
6483 175 : int res ATTRIBUTE_UNUSED;
6484 175 : if (GET_CODE (x1) != SET)
6485 : return -1;
6486 175 : x2 = XEXP (x1, 1);
6487 175 : if (GET_CODE (x2) != GTU
6488 116 : || GET_MODE (x2) != E_QImode)
6489 : return -1;
6490 116 : x3 = XEXP (x2, 0);
6491 116 : if (GET_CODE (x3) != REG
6492 116 : || REGNO (x3) != 17
6493 232 : || GET_MODE (x3) != E_CCmode)
6494 : return -1;
6495 116 : x4 = XEXP (x2, 1);
6496 116 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6497 : return -1;
6498 116 : x5 = XEXP (x1, 0);
6499 116 : operands[7] = x5;
6500 116 : if (!register_operand (operands[7], E_QImode))
6501 : return -1;
6502 116 : x6 = PATTERN (peep2_next_insn (2));
6503 116 : if (GET_CODE (x6) != SET)
6504 : return -1;
6505 10 : x7 = XEXP (x6, 1);
6506 10 : if (GET_CODE (x7) != LTU
6507 0 : || GET_MODE (x7) != E_QImode)
6508 : return -1;
6509 0 : x8 = XEXP (x7, 0);
6510 0 : if (GET_CODE (x8) != REG
6511 0 : || REGNO (x8) != 17
6512 0 : || GET_MODE (x8) != E_CCmode)
6513 : return -1;
6514 0 : x9 = XEXP (x7, 1);
6515 0 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6516 : return -1;
6517 0 : x10 = XEXP (x6, 0);
6518 0 : operands[8] = x10;
6519 0 : if (!register_operand (operands[8], E_QImode))
6520 : return -1;
6521 0 : x11 = PATTERN (peep2_next_insn (3));
6522 0 : if (GET_CODE (x11) != SET)
6523 : return -1;
6524 0 : x12 = XEXP (x11, 1);
6525 0 : if (GET_CODE (x12) != COMPARE)
6526 : return -1;
6527 0 : x13 = XEXP (x11, 0);
6528 0 : if (GET_CODE (x13) != REG
6529 0 : || REGNO (x13) != 17)
6530 : return -1;
6531 0 : x14 = XEXP (x12, 0);
6532 0 : if (!rtx_equal_p (x14, operands[7]))
6533 : return -1;
6534 0 : x15 = XEXP (x12, 1);
6535 0 : if (!rtx_equal_p (x15, operands[8]))
6536 : return -1;
6537 : return 0;
6538 : }
6539 :
6540 : int
6541 448 : pattern1900 ()
6542 : {
6543 448 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6544 448 : int res ATTRIBUTE_UNUSED;
6545 448 : if (!const_0_to_15_operand (operands[4], E_VOIDmode)
6546 432 : || !const_0_to_15_operand (operands[5], E_VOIDmode)
6547 432 : || !const_0_to_15_operand (operands[6], E_VOIDmode)
6548 432 : || !const_0_to_15_operand (operands[7], E_VOIDmode)
6549 432 : || !const_0_to_15_operand (operands[8], E_VOIDmode)
6550 432 : || !const_0_to_15_operand (operands[9], E_VOIDmode)
6551 432 : || !const_0_to_15_operand (operands[10], E_VOIDmode)
6552 432 : || !const_16_to_31_operand (operands[11], E_VOIDmode)
6553 432 : || !const_16_to_31_operand (operands[12], E_VOIDmode)
6554 432 : || !const_16_to_31_operand (operands[13], E_VOIDmode)
6555 432 : || !const_16_to_31_operand (operands[14], E_VOIDmode)
6556 432 : || !const_16_to_31_operand (operands[15], E_VOIDmode)
6557 432 : || !const_16_to_31_operand (operands[16], E_VOIDmode)
6558 432 : || !const_16_to_31_operand (operands[17], E_VOIDmode)
6559 880 : || !const_16_to_31_operand (operands[18], E_VOIDmode))
6560 16 : return -1;
6561 : return 0;
6562 : }
6563 :
6564 : int
6565 24 : pattern1912 (rtx x1)
6566 : {
6567 24 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6568 24 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6569 24 : int res ATTRIBUTE_UNUSED;
6570 24 : if (GET_CODE (x1) != SET)
6571 : return -1;
6572 24 : x2 = XEXP (x1, 1);
6573 24 : switch (GET_CODE (x2))
6574 : {
6575 12 : case NE:
6576 12 : case EQ:
6577 12 : case GE:
6578 12 : case GT:
6579 12 : case LE:
6580 12 : case LT:
6581 12 : operands[8] = x2;
6582 12 : if (!ix86_comparison_int_operator (operands[8], E_QImode))
6583 : return -1;
6584 12 : x3 = XEXP (x2, 0);
6585 12 : if (GET_CODE (x3) != REG
6586 12 : || REGNO (x3) != 17)
6587 : return -1;
6588 12 : x4 = XEXP (x2, 1);
6589 12 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6590 : return -1;
6591 12 : x5 = XEXP (x1, 0);
6592 12 : operands[7] = x5;
6593 12 : if (!nonimmediate_operand (operands[7], E_QImode))
6594 : return -1;
6595 : return 0;
6596 :
6597 12 : case IF_THEN_ELSE:
6598 12 : x3 = XEXP (x2, 0);
6599 12 : if (!ix86_comparison_int_operator (x3, E_VOIDmode))
6600 : return -1;
6601 12 : operands[7] = x3;
6602 12 : x6 = XEXP (x3, 0);
6603 12 : if (GET_CODE (x6) != REG
6604 12 : || REGNO (x6) != 17)
6605 : return -1;
6606 12 : x7 = XEXP (x3, 1);
6607 12 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6608 : return -1;
6609 12 : x4 = XEXP (x2, 1);
6610 12 : if (GET_CODE (x4) != LABEL_REF)
6611 : return -1;
6612 12 : x8 = XEXP (x2, 2);
6613 12 : if (GET_CODE (x8) != PC)
6614 : return -1;
6615 12 : x5 = XEXP (x1, 0);
6616 12 : if (GET_CODE (x5) != PC)
6617 : return -1;
6618 12 : x9 = XEXP (x4, 0);
6619 12 : operands[8] = x9;
6620 12 : return 1;
6621 :
6622 : default:
6623 : return -1;
6624 : }
6625 : }
6626 :
6627 : int
6628 103938 : recog_9 (rtx x1 ATTRIBUTE_UNUSED,
6629 : rtx_insn *insn ATTRIBUTE_UNUSED,
6630 : int *pnum_clobbers ATTRIBUTE_UNUSED)
6631 : {
6632 103938 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6633 103938 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6634 103938 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
6635 103938 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
6636 103938 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
6637 103938 : rtx x34, x35;
6638 103938 : int res ATTRIBUTE_UNUSED;
6639 103938 : x2 = XEXP (x1, 1);
6640 103938 : x3 = XVECEXP (x2, 0, 0);
6641 103938 : switch (GET_CODE (x3))
6642 : {
6643 11595 : case UNSPEC:
6644 11595 : x4 = XVECEXP (x2, 0, 1);
6645 11595 : if (!const48_operand (x4, E_SImode))
6646 : return -1;
6647 11493 : switch (XVECLEN (x3, 0))
6648 : {
6649 2226 : case 3:
6650 2226 : if (XINT (x3, 1) != 60)
6651 : return -1;
6652 1004 : x5 = XEXP (x1, 0);
6653 1004 : operands[0] = x5;
6654 1004 : x6 = XVECEXP (x3, 0, 0);
6655 1004 : operands[1] = x6;
6656 1004 : x7 = XVECEXP (x3, 0, 1);
6657 1004 : operands[2] = x7;
6658 1004 : x8 = XVECEXP (x3, 0, 2);
6659 1004 : operands[3] = x8;
6660 1004 : operands[4] = x4;
6661 1004 : switch (GET_MODE (operands[0]))
6662 : {
6663 489 : case E_HImode:
6664 489 : if (!register_operand (operands[0], E_HImode)
6665 486 : || GET_MODE (x2) != E_HImode
6666 975 : || GET_MODE (x3) != E_HImode)
6667 : return -1;
6668 486 : switch (GET_MODE (operands[1]))
6669 : {
6670 0 : case E_V16SImode:
6671 0 : if (!register_operand (operands[1], E_V16SImode)
6672 0 : || !nonimmediate_operand (operands[2], E_V16SImode)
6673 0 : || !const_0_to_7_operand (operands[3], E_SImode)
6674 0 : || !(
6675 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
6676 : (TARGET_AVX512F) &&
6677 : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6678 : (TARGET_AVX512F && (V16SImode == V16SFmode
6679 : || V16SImode == V8DFmode
6680 : || V16SImode == V8DImode
6681 : || V16SImode == V16SImode
6682 : || V16SImode == V32HFmode))))
6683 : return -1;
6684 : return 3322; /* avx512f_cmpv16si3_round */
6685 :
6686 : case E_V16SFmode:
6687 : if (!register_operand (operands[1], E_V16SFmode)
6688 : || !nonimmediate_operand (operands[2], E_V16SFmode)
6689 : || !const_0_to_31_operand (operands[3], E_SImode)
6690 : || !(
6691 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
6692 : (TARGET_AVX512F) &&
6693 : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6694 : (TARGET_AVX512F && (V16SFmode == V16SFmode
6695 : || V16SFmode == V8DFmode
6696 : || V16SFmode == V8DImode
6697 : || V16SFmode == V16SImode
6698 : || V16SFmode == V32HFmode))))
6699 : return -1;
6700 : return 3346; /* avx512f_cmpv16sf3_round */
6701 :
6702 : default:
6703 : return -1;
6704 : }
6705 :
6706 : case E_QImode:
6707 : if (!register_operand (operands[0], E_QImode)
6708 : || GET_MODE (x2) != E_QImode
6709 : || GET_MODE (x3) != E_QImode)
6710 : return -1;
6711 : switch (GET_MODE (operands[1]))
6712 : {
6713 : case E_V8DImode:
6714 : if (!register_operand (operands[1], E_V8DImode)
6715 : || !nonimmediate_operand (operands[2], E_V8DImode)
6716 : || !const_0_to_7_operand (operands[3], E_SImode)
6717 : || !(
6718 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
6719 : (TARGET_AVX512F) &&
6720 : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6721 : (TARGET_AVX512F && (V8DImode == V16SFmode
6722 : || V8DImode == V8DFmode
6723 : || V8DImode == V8DImode
6724 : || V8DImode == V16SImode
6725 : || V8DImode == V32HFmode))))
6726 : return -1;
6727 : return 3330; /* avx512f_cmpv8di3_round */
6728 :
6729 : case E_V8DFmode:
6730 : if (!register_operand (operands[1], E_V8DFmode)
6731 : || !nonimmediate_operand (operands[2], E_V8DFmode)
6732 : || !const_0_to_31_operand (operands[3], E_SImode)
6733 : || !(
6734 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
6735 : (TARGET_AVX512F) &&
6736 : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6737 : (TARGET_AVX512F && (V8DFmode == V16SFmode
6738 : || V8DFmode == V8DFmode
6739 : || V8DFmode == V8DImode
6740 : || V8DFmode == V16SImode
6741 : || V8DFmode == V32HFmode))))
6742 : return -1;
6743 : return 3354; /* avx512f_cmpv8df3_round */
6744 :
6745 : default:
6746 : return -1;
6747 : }
6748 :
6749 : default:
6750 : return -1;
6751 : }
6752 :
6753 : case 2:
6754 : if (XINT (x3, 1) != 62
6755 : || GET_MODE (x3) != E_CCFPmode
6756 : || pattern855 (x3) != 0
6757 : || pattern46 (x1,
6758 : E_CCFPmode) != 0)
6759 : return -1;
6760 : x6 = XVECEXP (x3, 0, 0);
6761 : x9 = XEXP (x6, 0);
6762 : operands[0] = x9;
6763 : x7 = XVECEXP (x3, 0, 1);
6764 : x10 = XEXP (x7, 0);
6765 : operands[1] = x10;
6766 : operands[2] = x4;
6767 : switch (GET_MODE (x6))
6768 : {
6769 : case E_HFmode:
6770 : if (!register_operand (operands[0], E_V8HFmode)
6771 : || GET_MODE (x7) != E_HFmode
6772 : || !register_operand (operands[1], E_V8HFmode)
6773 : || !(
6774 : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
6775 : (TARGET_AVX512F) && (
6776 : #line 5208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6777 : (TARGET_AVX10_2) &&
6778 : #line 1356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6779 : (TARGET_AVX512FP16))))
6780 : return -1;
6781 : return 3740; /* avx10_2_comxhf_round */
6782 :
6783 : case E_SFmode:
6784 : if (!register_operand (operands[0], E_V4SFmode)
6785 : || GET_MODE (x7) != E_SFmode
6786 : || !register_operand (operands[1], E_V4SFmode)
6787 : || !(
6788 : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
6789 : (TARGET_AVX512F) &&
6790 : #line 5208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6791 : (TARGET_AVX10_2)))
6792 : return -1;
6793 : return 3744; /* avx10_2_comxsf_round */
6794 :
6795 : case E_DFmode:
6796 : if (!register_operand (operands[0], E_V2DFmode)
6797 : || GET_MODE (x7) != E_DFmode
6798 : || !register_operand (operands[1], E_V2DFmode)
6799 : || !(
6800 : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
6801 : (TARGET_AVX512F) &&
6802 : #line 5208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6803 : (TARGET_AVX10_2)))
6804 : return -1;
6805 : return 3748; /* avx10_2_comxdf_round */
6806 :
6807 : default:
6808 : return -1;
6809 : }
6810 :
6811 : case 1:
6812 : if (XINT (x3, 1) != 27
6813 : || GET_MODE (x3) != E_CCFPmode
6814 : || pattern46 (x1,
6815 : E_CCFPmode) != 0)
6816 : return -1;
6817 : x6 = XVECEXP (x3, 0, 0);
6818 : if (GET_MODE (x6) != E_CCFPmode)
6819 : return -1;
6820 : operands[2] = x4;
6821 : switch (GET_CODE (x6))
6822 : {
6823 : case UNSPEC:
6824 : if (XVECLEN (x6, 0) != 2
6825 : || XINT (x6, 1) != 62)
6826 : return -1;
6827 : x11 = XVECEXP (x6, 0, 0);
6828 : if (GET_CODE (x11) != VEC_SELECT)
6829 : return -1;
6830 : x12 = XEXP (x11, 1);
6831 : if (GET_CODE (x12) != PARALLEL
6832 : || XVECLEN (x12, 0) != 1)
6833 : return -1;
6834 : x13 = XVECEXP (x12, 0, 0);
6835 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6836 : return -1;
6837 : x14 = XVECEXP (x6, 0, 1);
6838 : if (GET_CODE (x14) != VEC_SELECT)
6839 : return -1;
6840 : x15 = XEXP (x14, 1);
6841 : if (GET_CODE (x15) != PARALLEL
6842 : || XVECLEN (x15, 0) != 1)
6843 : return -1;
6844 : x16 = XVECEXP (x15, 0, 0);
6845 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6846 : return -1;
6847 : x17 = XEXP (x11, 0);
6848 : operands[0] = x17;
6849 : x18 = XEXP (x14, 0);
6850 : operands[1] = x18;
6851 : switch (GET_MODE (x11))
6852 : {
6853 : case E_HFmode:
6854 : if (!register_operand (operands[0], E_V8HFmode)
6855 : || GET_MODE (x14) != E_HFmode
6856 : || !register_operand (operands[1], E_V8HFmode)
6857 : || !(
6858 : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
6859 : (TARGET_AVX512F) && (
6860 : #line 5208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6861 : (TARGET_AVX10_2) &&
6862 : #line 1356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6863 : (TARGET_AVX512FP16))))
6864 : return -1;
6865 : return 3742; /* avx10_2_ucomxhf_round */
6866 :
6867 : case E_SFmode:
6868 : if (!register_operand (operands[0], E_V4SFmode)
6869 : || GET_MODE (x14) != E_SFmode
6870 : || !register_operand (operands[1], E_V4SFmode)
6871 : || !(
6872 : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
6873 : (TARGET_AVX512F) &&
6874 : #line 5208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6875 : (TARGET_AVX10_2)))
6876 : return -1;
6877 : return 3746; /* avx10_2_ucomxsf_round */
6878 :
6879 : case E_DFmode:
6880 : if (!register_operand (operands[0], E_V2DFmode)
6881 : || GET_MODE (x14) != E_DFmode
6882 : || !register_operand (operands[1], E_V2DFmode)
6883 : || !(
6884 : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
6885 : (TARGET_AVX512F) &&
6886 : #line 5208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6887 : (TARGET_AVX10_2)))
6888 : return -1;
6889 : return 3750; /* avx10_2_ucomxdf_round */
6890 :
6891 : default:
6892 : return -1;
6893 : }
6894 :
6895 : case COMPARE:
6896 : x9 = XEXP (x6, 0);
6897 : if (GET_CODE (x9) != VEC_SELECT)
6898 : return -1;
6899 : x19 = XEXP (x9, 1);
6900 : if (GET_CODE (x19) != PARALLEL
6901 : || XVECLEN (x19, 0) != 1)
6902 : return -1;
6903 : x20 = XVECEXP (x19, 0, 0);
6904 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6905 : return -1;
6906 : x21 = XEXP (x6, 1);
6907 : if (GET_CODE (x21) != VEC_SELECT)
6908 : return -1;
6909 : x22 = XEXP (x21, 1);
6910 : if (GET_CODE (x22) != PARALLEL
6911 : || XVECLEN (x22, 0) != 1)
6912 : return -1;
6913 : x23 = XVECEXP (x22, 0, 0);
6914 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6915 : return -1;
6916 : x24 = XEXP (x9, 0);
6917 : operands[0] = x24;
6918 : x25 = XEXP (x21, 0);
6919 : operands[1] = x25;
6920 : switch (GET_MODE (x9))
6921 : {
6922 : case E_HFmode:
6923 : if (!register_operand (operands[0], E_V8HFmode)
6924 : || GET_MODE (x21) != E_HFmode
6925 : || !register_operand (operands[1], E_V8HFmode)
6926 : || !(
6927 : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
6928 : (TARGET_AVX512F) && (
6929 : #line 5223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6930 : (SSE_FLOAT_MODE_P (HFmode) || HFmode == E_HFmode) &&
6931 : #line 1356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6932 : (TARGET_AVX512FP16))))
6933 : return -1;
6934 : return 3754; /* avx512fp16_ucomi_round */
6935 :
6936 : case E_SFmode:
6937 : if (!register_operand (operands[0], E_V4SFmode)
6938 : || GET_MODE (x21) != E_SFmode
6939 : || !register_operand (operands[1], E_V4SFmode)
6940 : || !(
6941 : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
6942 : (TARGET_AVX512F) &&
6943 : #line 5223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6944 : (SSE_FLOAT_MODE_P (SFmode) || SFmode == E_HFmode)))
6945 : return -1;
6946 : return 3758; /* sse_ucomi_round */
6947 :
6948 : case E_DFmode:
6949 : if (!register_operand (operands[0], E_V2DFmode)
6950 : || GET_MODE (x21) != E_DFmode
6951 : || !register_operand (operands[1], E_V2DFmode)
6952 : || !(
6953 : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
6954 : (TARGET_AVX512F) &&
6955 : #line 5223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6956 : (SSE_FLOAT_MODE_P (DFmode) || DFmode == E_HFmode)))
6957 : return -1;
6958 : return 3762; /* sse2_ucomi_round */
6959 :
6960 : default:
6961 : return -1;
6962 : }
6963 :
6964 : default:
6965 : return -1;
6966 : }
6967 :
6968 : default:
6969 : return -1;
6970 : }
6971 :
6972 : case AND:
6973 : x26 = XEXP (x3, 0);
6974 : if (GET_CODE (x26) != UNSPEC
6975 : || XVECLEN (x26, 0) != 3
6976 : || XINT (x26, 1) != 60)
6977 : return -1;
6978 : x5 = XEXP (x1, 0);
6979 : operands[0] = x5;
6980 : x27 = XVECEXP (x26, 0, 0);
6981 : operands[1] = x27;
6982 : x28 = XVECEXP (x26, 0, 1);
6983 : operands[2] = x28;
6984 : x29 = XVECEXP (x26, 0, 2);
6985 : operands[3] = x29;
6986 : x4 = XVECEXP (x2, 0, 1);
6987 : if (!const48_operand (x4, E_SImode))
6988 : return -1;
6989 : x30 = XEXP (x3, 1);
6990 : switch (GET_CODE (x30))
6991 : {
6992 : case REG:
6993 : case SUBREG:
6994 : operands[4] = x30;
6995 : operands[5] = x4;
6996 : switch (GET_MODE (operands[0]))
6997 : {
6998 : case E_HImode:
6999 : if (pattern1547 (x2,
7000 : E_HImode) != 0)
7001 : return -1;
7002 : switch (GET_MODE (operands[1]))
7003 : {
7004 : case E_V16SImode:
7005 : if (!register_operand (operands[1], E_V16SImode)
7006 : || !nonimmediate_operand (operands[2], E_V16SImode)
7007 : || !const_0_to_7_operand (operands[3], E_SImode)
7008 : || !(
7009 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7010 : (TARGET_AVX512F) && (
7011 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7012 : (TARGET_AVX512F) &&
7013 : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7014 : (TARGET_AVX512F && (V16SImode == V16SFmode
7015 : || V16SImode == V8DFmode
7016 : || V16SImode == V8DImode
7017 : || V16SImode == V16SImode
7018 : || V16SImode == V32HFmode)))))
7019 : return -1;
7020 : return 3324; /* avx512f_cmpv16si3_mask_round */
7021 :
7022 : case E_V16SFmode:
7023 : if (!register_operand (operands[1], E_V16SFmode)
7024 : || !nonimmediate_operand (operands[2], E_V16SFmode)
7025 : || !const_0_to_31_operand (operands[3], E_SImode)
7026 : || !(
7027 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7028 : (TARGET_AVX512F) && (
7029 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7030 : (TARGET_AVX512F) &&
7031 : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7032 : (TARGET_AVX512F && (V16SFmode == V16SFmode
7033 : || V16SFmode == V8DFmode
7034 : || V16SFmode == V8DImode
7035 : || V16SFmode == V16SImode
7036 : || V16SFmode == V32HFmode)))))
7037 : return -1;
7038 : return 3348; /* avx512f_cmpv16sf3_mask_round */
7039 :
7040 : default:
7041 : return -1;
7042 : }
7043 :
7044 : case E_QImode:
7045 : if (pattern1547 (x2,
7046 : E_QImode) != 0)
7047 : return -1;
7048 : switch (GET_MODE (operands[1]))
7049 : {
7050 : case E_V8DImode:
7051 : if (!register_operand (operands[1], E_V8DImode)
7052 : || !nonimmediate_operand (operands[2], E_V8DImode)
7053 : || !const_0_to_7_operand (operands[3], E_SImode)
7054 : || !(
7055 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7056 : (TARGET_AVX512F) && (
7057 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7058 : (TARGET_AVX512F) &&
7059 : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7060 : (TARGET_AVX512F && (V8DImode == V16SFmode
7061 : || V8DImode == V8DFmode
7062 : || V8DImode == V8DImode
7063 : || V8DImode == V16SImode
7064 : || V8DImode == V32HFmode)))))
7065 : return -1;
7066 : return 3332; /* avx512f_cmpv8di3_mask_round */
7067 :
7068 : case E_V8DFmode:
7069 : if (!register_operand (operands[1], E_V8DFmode)
7070 : || !nonimmediate_operand (operands[2], E_V8DFmode)
7071 : || !const_0_to_31_operand (operands[3], E_SImode)
7072 : || !(
7073 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7074 : (TARGET_AVX512F) && (
7075 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7076 : (TARGET_AVX512F) &&
7077 : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7078 : (TARGET_AVX512F && (V8DFmode == V16SFmode
7079 : || V8DFmode == V8DFmode
7080 : || V8DFmode == V8DImode
7081 : || V8DFmode == V16SImode
7082 : || V8DFmode == V32HFmode)))))
7083 : return -1;
7084 : return 3356; /* avx512f_cmpv8df3_mask_round */
7085 :
7086 : default:
7087 : return -1;
7088 : }
7089 :
7090 : default:
7091 : return -1;
7092 : }
7093 :
7094 : case CONST_INT:
7095 : if (XWINT (x30, 0) != 1L
7096 : || pattern1463 (x2) != 0)
7097 : return -1;
7098 : operands[4] = x4;
7099 : switch (pattern1714 ())
7100 : {
7101 : case 0:
7102 : if (!(
7103 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7104 : (TARGET_AVX512F) && (
7105 : #line 5173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7106 : (TARGET_AVX512F) &&
7107 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7108 : (TARGET_AVX512FP16))))
7109 : return -1;
7110 : return 3728; /* avx512f_vmcmpv8hf3_round */
7111 :
7112 : case 1:
7113 : if (!
7114 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7115 : (TARGET_AVX512F))
7116 : return -1;
7117 : return 3730; /* avx512f_vmcmpv4sf3_round */
7118 :
7119 : case 2:
7120 : if (!(
7121 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7122 : (TARGET_AVX512F) && (
7123 : #line 5173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7124 : (TARGET_AVX512F) &&
7125 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7126 : (TARGET_SSE2))))
7127 : return -1;
7128 : return 3732; /* avx512f_vmcmpv2df3_round */
7129 :
7130 : default:
7131 : return -1;
7132 : }
7133 :
7134 : case AND:
7135 : if (GET_MODE (x30) != E_QImode)
7136 : return -1;
7137 : x31 = XEXP (x30, 1);
7138 : if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
7139 : || pattern1463 (x2) != 0)
7140 : return -1;
7141 : x32 = XEXP (x30, 0);
7142 : operands[4] = x32;
7143 : if (!register_operand (operands[4], E_QImode))
7144 : return -1;
7145 : operands[5] = x4;
7146 : switch (pattern1714 ())
7147 : {
7148 : case 0:
7149 : if (!(
7150 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7151 : (TARGET_AVX512F) && (
7152 : #line 5191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7153 : (TARGET_AVX512F) &&
7154 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7155 : (TARGET_AVX512FP16))))
7156 : return -1;
7157 : return 3734; /* avx512f_vmcmpv8hf3_mask_round */
7158 :
7159 : case 1:
7160 : if (!
7161 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7162 : (TARGET_AVX512F))
7163 : return -1;
7164 : return 3736; /* avx512f_vmcmpv4sf3_mask_round */
7165 :
7166 : case 2:
7167 : if (!(
7168 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7169 : (TARGET_AVX512F) && (
7170 : #line 5191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7171 : (TARGET_AVX512F) &&
7172 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7173 : (TARGET_SSE2))))
7174 : return -1;
7175 : return 3738; /* avx512f_vmcmpv2df3_mask_round */
7176 :
7177 : default:
7178 : return -1;
7179 : }
7180 :
7181 : default:
7182 : return -1;
7183 : }
7184 :
7185 : case COMPARE:
7186 : if (GET_MODE (x3) != E_CCFPmode)
7187 : return -1;
7188 : x26 = XEXP (x3, 0);
7189 : if (GET_CODE (x26) != VEC_SELECT
7190 : || pattern610 (x3) != 0
7191 : || pattern46 (x1,
7192 : E_CCFPmode) != 0)
7193 : return -1;
7194 : x33 = XEXP (x26, 0);
7195 : operands[0] = x33;
7196 : x30 = XEXP (x3, 1);
7197 : x32 = XEXP (x30, 0);
7198 : operands[1] = x32;
7199 : x4 = XVECEXP (x2, 0, 1);
7200 : operands[2] = x4;
7201 : if (!const48_operand (operands[2], E_SImode))
7202 : return -1;
7203 : switch (GET_MODE (x26))
7204 : {
7205 : case E_HFmode:
7206 : if (!register_operand (operands[0], E_V8HFmode)
7207 : || GET_MODE (x30) != E_HFmode
7208 : || !register_operand (operands[1], E_V8HFmode)
7209 : || !(
7210 : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7211 : (TARGET_AVX512F) && (
7212 : #line 5223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7213 : (SSE_FLOAT_MODE_P (HFmode) || HFmode == E_HFmode) &&
7214 : #line 1356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7215 : (TARGET_AVX512FP16))))
7216 : return -1;
7217 : return 3752; /* avx512fp16_comi_round */
7218 :
7219 : case E_SFmode:
7220 : if (!register_operand (operands[0], E_V4SFmode)
7221 : || GET_MODE (x30) != E_SFmode
7222 : || !register_operand (operands[1], E_V4SFmode)
7223 : || !(
7224 : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7225 : (TARGET_AVX512F) &&
7226 : #line 5223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7227 : (SSE_FLOAT_MODE_P (SFmode) || SFmode == E_HFmode)))
7228 : return -1;
7229 : return 3756; /* sse_comi_round */
7230 :
7231 : case E_DFmode:
7232 : if (!register_operand (operands[0], E_V2DFmode)
7233 : || GET_MODE (x30) != E_DFmode
7234 : || !register_operand (operands[1], E_V2DFmode)
7235 : || !(
7236 : #line 273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7237 : (TARGET_AVX512F) &&
7238 : #line 5223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7239 : (SSE_FLOAT_MODE_P (DFmode) || DFmode == E_HFmode)))
7240 : return -1;
7241 : return 3760; /* sse2_comi_round */
7242 :
7243 : default:
7244 : return -1;
7245 : }
7246 :
7247 : case FMA:
7248 : x26 = XEXP (x3, 0);
7249 : if (GET_CODE (x26) != NEG)
7250 : return -1;
7251 : x34 = XEXP (x3, 2);
7252 : if (GET_CODE (x34) != NEG)
7253 : return -1;
7254 : x5 = XEXP (x1, 0);
7255 : operands[0] = x5;
7256 : x33 = XEXP (x26, 0);
7257 : operands[1] = x33;
7258 : x30 = XEXP (x3, 1);
7259 : operands[2] = x30;
7260 : x35 = XEXP (x34, 0);
7261 : operands[3] = x35;
7262 : x4 = XVECEXP (x2, 0, 1);
7263 : operands[4] = x4;
7264 : if (!const_4_or_8_to_11_operand (operands[4], E_SImode))
7265 : return -1;
7266 : switch (GET_MODE (operands[0]))
7267 : {
7268 : case E_SFmode:
7269 : if (pattern1366 (x2,
7270 : E_SFmode) != 0
7271 : || !(
7272 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7273 : (TARGET_AVX512F) &&
7274 : #line 6573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7275 : (TARGET_FMA || TARGET_FMA4)))
7276 : return -1;
7277 : return 4053; /* *fma_fnmsub_sf */
7278 :
7279 : case E_DFmode:
7280 : if (pattern1366 (x2,
7281 : E_DFmode) != 0
7282 : || !(
7283 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
7284 : (TARGET_AVX512F) &&
7285 : #line 6573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7286 : (TARGET_FMA || TARGET_FMA4)))
7287 : return -1;
7288 : return 4055; /* *fma_fnmsub_df */
7289 :
7290 : default:
7291 : return -1;
7292 : }
7293 :
7294 : default:
7295 : return -1;
7296 : }
7297 : }
7298 :
7299 : int
7300 : recog_28 (rtx x1 ATTRIBUTE_UNUSED,
7301 : rtx_insn *insn ATTRIBUTE_UNUSED,
7302 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7303 : {
7304 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7305 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
7306 : int res ATTRIBUTE_UNUSED;
7307 : x2 = XEXP (x1, 1);
7308 : x3 = XEXP (x2, 0);
7309 : switch (GET_CODE (x3))
7310 : {
7311 : case AND:
7312 : x4 = XEXP (x1, 0);
7313 : operands[0] = x4;
7314 : x5 = XEXP (x3, 1);
7315 : operands[3] = x5;
7316 : x6 = XEXP (x3, 0);
7317 : switch (GET_CODE (x6))
7318 : {
7319 : case REG:
7320 : case SUBREG:
7321 : case MEM:
7322 : operands[1] = x6;
7323 : switch (pattern75 (x2))
7324 : {
7325 : case 0:
7326 : if (!
7327 : #line 3715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7328 : (TARGET_64BIT
7329 : && CONST_WIDE_INT_P (operands[3])
7330 : && CONST_WIDE_INT_NUNITS (operands[3]) == 2
7331 : && CONST_WIDE_INT_ELT (operands[3], 0) == -1
7332 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0))
7333 : return -1;
7334 : return 149; /* *insvti_highpart_1 */
7335 :
7336 : case 1:
7337 : if (!
7338 : #line 3737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7339 : (TARGET_64BIT
7340 : && CONST_WIDE_INT_P (operands[3])
7341 : && CONST_WIDE_INT_NUNITS (operands[3]) == 2
7342 : && CONST_WIDE_INT_ELT (operands[3], 0) == 0
7343 : && CONST_WIDE_INT_ELT (operands[3], 1) == -1))
7344 : return -1;
7345 : return 152; /* *insvti_lowpart_1 */
7346 :
7347 : case 2:
7348 : if (!
7349 : #line 3759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7350 : (!TARGET_64BIT
7351 : && CONST_INT_P (operands[3])
7352 : && UINTVAL (operands[3]) == 0xffffffff00000000ll))
7353 : return -1;
7354 : return 155; /* *insvdi_lowpart_1 */
7355 :
7356 : default:
7357 : return -1;
7358 : }
7359 :
7360 : case XOR:
7361 : if (pnum_clobbers == NULL
7362 : || GET_MODE (x6) != E_HImode
7363 : || !register_operand (operands[0], E_HImode)
7364 : || GET_MODE (x2) != E_HImode
7365 : || GET_MODE (x3) != E_HImode)
7366 : return -1;
7367 : x7 = XEXP (x6, 0);
7368 : operands[1] = x7;
7369 : if (!nonimmediate_operand (operands[1], E_HImode))
7370 : return -1;
7371 : x8 = XEXP (x6, 1);
7372 : operands[2] = x8;
7373 : if (!nonimmediate_operand (operands[2], E_HImode)
7374 : || !nonimmediate_operand (operands[3], E_HImode))
7375 : return -1;
7376 : x9 = XEXP (x2, 1);
7377 : if (!rtx_equal_p (x9, operands[1])
7378 : || !
7379 : #line 14004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7380 : (TARGET_BMI && ix86_pre_reload_split ()))
7381 : return -1;
7382 : *pnum_clobbers = 1;
7383 : return 868; /* *xor2andn */
7384 :
7385 : default:
7386 : return -1;
7387 : }
7388 :
7389 : case ASHIFT:
7390 : x4 = XEXP (x1, 0);
7391 : operands[0] = x4;
7392 : x5 = XEXP (x3, 1);
7393 : operands[2] = x5;
7394 : x6 = XEXP (x3, 0);
7395 : switch (GET_CODE (x6))
7396 : {
7397 : case REG:
7398 : case SUBREG:
7399 : operands[1] = x6;
7400 : switch (pattern617 (x2))
7401 : {
7402 : case 0:
7403 : if (!
7404 : #line 8048 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7405 : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
7406 : && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
7407 : < (HOST_WIDE_INT_1U << INTVAL (operands[2])))))
7408 : return -1;
7409 : return 377; /* *leaqi_general_4 */
7410 :
7411 : case 1:
7412 : if (!
7413 : #line 8048 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7414 : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
7415 : && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
7416 : < (HOST_WIDE_INT_1U << INTVAL (operands[2])))))
7417 : return -1;
7418 : return 379; /* *leahi_general_4 */
7419 :
7420 : case 2:
7421 : if (!(
7422 : #line 14473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7423 : (INTVAL (operands[2]) == 16 * BITS_PER_UNIT / 2
7424 : && (TImode == DImode
7425 : ? CONST_INT_P (operands[3])
7426 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
7427 : : CONST_INT_P (operands[3])
7428 : ? INTVAL (operands[3]) >= 0
7429 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
7430 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
7431 : && !(CONST_INT_P (operands[3])
7432 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
7433 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
7434 : 0)),
7435 : VOIDmode))) &&
7436 : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7437 : (TARGET_64BIT)))
7438 : return -1;
7439 : return 965; /* *concatditi3_5 */
7440 :
7441 : case 3:
7442 : if (!(
7443 : #line 14396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7444 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
7445 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7446 : (TARGET_64BIT)))
7447 : return -1;
7448 : return 929; /* *concatditi3_1 */
7449 :
7450 : default:
7451 : return -1;
7452 : }
7453 :
7454 : case SIGN_EXTEND:
7455 : switch (pattern427 (x2))
7456 : {
7457 : case 0:
7458 : if (!(
7459 : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7460 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
7461 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7462 : (TARGET_64BIT)))
7463 : return -1;
7464 : return 944; /* *concatditi3_3 */
7465 :
7466 : case 1:
7467 : if (!(
7468 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7469 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
7470 : && (TImode == DImode
7471 : ? CONST_INT_P (operands[3])
7472 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
7473 : : CONST_INT_P (operands[3])
7474 : ? INTVAL (operands[3]) >= 0
7475 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
7476 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
7477 : && !(CONST_INT_P (operands[3])
7478 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
7479 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
7480 : 0)),
7481 : VOIDmode))) &&
7482 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7483 : (TARGET_64BIT)))
7484 : return -1;
7485 : return 974; /* *concatditi3_6 */
7486 :
7487 : default:
7488 : return -1;
7489 : }
7490 :
7491 : case ZERO_EXTEND:
7492 : switch (pattern427 (x2))
7493 : {
7494 : case 0:
7495 : if (!(
7496 : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7497 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
7498 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7499 : (TARGET_64BIT)))
7500 : return -1;
7501 : return 947; /* *concatditi3_3 */
7502 :
7503 : case 1:
7504 : if (!(
7505 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7506 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
7507 : && (TImode == DImode
7508 : ? CONST_INT_P (operands[3])
7509 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
7510 : : CONST_INT_P (operands[3])
7511 : ? INTVAL (operands[3]) >= 0
7512 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
7513 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
7514 : && !(CONST_INT_P (operands[3])
7515 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
7516 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
7517 : 0)),
7518 : VOIDmode))) &&
7519 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7520 : (TARGET_64BIT)))
7521 : return -1;
7522 : return 977; /* *concatditi3_6 */
7523 :
7524 : default:
7525 : return -1;
7526 : }
7527 :
7528 : default:
7529 : return -1;
7530 : }
7531 :
7532 : case REG:
7533 : case SUBREG:
7534 : case MEM:
7535 : operands[1] = x3;
7536 : switch (pattern82 (x1, pnum_clobbers))
7537 : {
7538 : case 0:
7539 : if (
7540 : #line 13083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7541 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7542 : {
7543 : *pnum_clobbers = 1;
7544 : return 755; /* *xorqi_1_slp */
7545 : }
7546 : break;
7547 :
7548 : case 1:
7549 : if (
7550 : #line 13083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7551 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7552 : {
7553 : *pnum_clobbers = 1;
7554 : return 758; /* *xorhi_1_slp */
7555 : }
7556 : break;
7557 :
7558 : case 2:
7559 : if ((
7560 : #line 13847 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7561 : (ix86_binary_operator_ok (XOR, TImode, operands, TARGET_APX_NDD)) &&
7562 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7563 : (TARGET_64BIT)))
7564 : {
7565 : *pnum_clobbers = 1;
7566 : return 850; /* *xorti3_doubleword */
7567 : }
7568 : break;
7569 :
7570 : case 3:
7571 : if (
7572 : #line 13905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7573 : (ix86_binary_operator_ok (XOR, HImode, operands, TARGET_APX_NDD)
7574 : && TARGET_APX_NF))
7575 : return 853; /* *xorhi_1_nf */
7576 : if (pnum_clobbers != NULL
7577 : &&
7578 : #line 13905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7579 : (ix86_binary_operator_ok (XOR, HImode, operands, TARGET_APX_NDD)
7580 : && true))
7581 : {
7582 : *pnum_clobbers = 1;
7583 : return 854; /* *xorhi_1 */
7584 : }
7585 : break;
7586 :
7587 : case 4:
7588 : if (
7589 : #line 1380 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7590 : (TARGET_MMX_WITH_SSE))
7591 : return 2135; /* xorv2sf3 */
7592 : break;
7593 :
7594 : case 5:
7595 : if (
7596 : #line 2606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7597 : (TARGET_SSE))
7598 : return 2169; /* xorv2bf3 */
7599 : break;
7600 :
7601 : case 6:
7602 : if ((
7603 : #line 2606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7604 : (TARGET_SSE) &&
7605 : #line 2248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7606 : (TARGET_MMX_WITH_SSE)))
7607 : return 2172; /* xorv4bf3 */
7608 : break;
7609 :
7610 : case 7:
7611 : if (
7612 : #line 2606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7613 : (TARGET_SSE))
7614 : return 2175; /* xorv2hf3 */
7615 : break;
7616 :
7617 : case 8:
7618 : if ((
7619 : #line 2606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7620 : (TARGET_SSE) &&
7621 : #line 2249 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7622 : (TARGET_MMX_WITH_SSE)))
7623 : return 2178; /* xorv4hf3 */
7624 : break;
7625 :
7626 : case 9:
7627 : if (
7628 : #line 4715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7629 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
7630 : && ix86_binary_operator_ok (XOR, V8QImode, operands)))
7631 : return 2332; /* *mmx_xorv8qi3 */
7632 : break;
7633 :
7634 : case 10:
7635 : if (
7636 : #line 4715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7637 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
7638 : && ix86_binary_operator_ok (XOR, V4HImode, operands)))
7639 : return 2335; /* *mmx_xorv4hi3 */
7640 : break;
7641 :
7642 : case 11:
7643 : if (
7644 : #line 4715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7645 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
7646 : && ix86_binary_operator_ok (XOR, V2SImode, operands)))
7647 : return 2338; /* *mmx_xorv2si3 */
7648 : break;
7649 :
7650 : case 12:
7651 : if (
7652 : #line 4741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7653 : (ix86_binary_operator_ok (XOR, V4QImode, operands)))
7654 : {
7655 : *pnum_clobbers = 1;
7656 : return 2341; /* *xorv4qi3 */
7657 : }
7658 : break;
7659 :
7660 : case 13:
7661 : if (
7662 : #line 4741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7663 : (ix86_binary_operator_ok (XOR, V2QImode, operands)))
7664 : {
7665 : *pnum_clobbers = 1;
7666 : return 2344; /* *xorv2qi3 */
7667 : }
7668 : break;
7669 :
7670 : case 14:
7671 : if (
7672 : #line 4741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7673 : (ix86_binary_operator_ok (XOR, V2HImode, operands)))
7674 : {
7675 : *pnum_clobbers = 1;
7676 : return 2347; /* *xorv2hi3 */
7677 : }
7678 : break;
7679 :
7680 : case 15:
7681 : if (
7682 : #line 6017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7683 : (TARGET_SSE))
7684 : return 3856; /* xorbf3 */
7685 : break;
7686 :
7687 : case 16:
7688 : if (
7689 : #line 6017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7690 : (TARGET_SSE))
7691 : return 3859; /* xorhf3 */
7692 : break;
7693 :
7694 : case 17:
7695 : if (
7696 : #line 6017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7697 : (TARGET_SSE))
7698 : return 3862; /* xorsf3 */
7699 : break;
7700 :
7701 : case 18:
7702 : if ((
7703 : #line 6017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7704 : (TARGET_SSE) &&
7705 : #line 1353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7706 : (TARGET_SSE2)))
7707 : return 3865; /* xordf3 */
7708 : break;
7709 :
7710 : case 19:
7711 : if (
7712 : #line 6091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7713 : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7714 : return 3868; /* *xortf3 */
7715 : break;
7716 :
7717 : default:
7718 : break;
7719 : }
7720 : if (pnum_clobbers != NULL
7721 : && pattern83 (x2) == 0)
7722 : {
7723 : x6 = XEXP (x3, 0);
7724 : x7 = XEXP (x6, 0);
7725 : operands[2] = x7;
7726 : switch (pattern1080 (x1))
7727 : {
7728 : case 0:
7729 : if (
7730 : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7731 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7732 : {
7733 : *pnum_clobbers = 1;
7734 : return 761; /* *xorqi_exthi_1_slp */
7735 : }
7736 : break;
7737 :
7738 : case 1:
7739 : if (
7740 : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7741 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7742 : {
7743 : *pnum_clobbers = 1;
7744 : return 764; /* *xorqi_extsi_1_slp */
7745 : }
7746 : break;
7747 :
7748 : case 2:
7749 : if ((
7750 : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7751 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
7752 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7753 : (TARGET_64BIT)))
7754 : {
7755 : *pnum_clobbers = 1;
7756 : return 767; /* *xorqi_extdi_1_slp */
7757 : }
7758 : break;
7759 :
7760 : case 3:
7761 : *pnum_clobbers = 1;
7762 : return 785; /* *xorqi_exthi_0 */
7763 :
7764 : case 4:
7765 : *pnum_clobbers = 1;
7766 : return 788; /* *xorqi_extsi_0 */
7767 :
7768 : case 5:
7769 : if (
7770 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7771 : (TARGET_64BIT))
7772 : {
7773 : *pnum_clobbers = 1;
7774 : return 791; /* *xorqi_extdi_0 */
7775 : }
7776 : break;
7777 :
7778 : default:
7779 : break;
7780 : }
7781 : x9 = XEXP (x2, 1);
7782 : if (GET_CODE (x9) == SUBREG)
7783 : {
7784 : switch (pattern1083 (x1))
7785 : {
7786 : case 0:
7787 : if (
7788 : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7789 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7790 : {
7791 : *pnum_clobbers = 1;
7792 : return 770; /* *xorqi_exthi_2_slp */
7793 : }
7794 : break;
7795 :
7796 : case 1:
7797 : if (
7798 : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7799 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7800 : {
7801 : *pnum_clobbers = 1;
7802 : return 773; /* *xorqi_extsi_2_slp */
7803 : }
7804 : break;
7805 :
7806 : case 2:
7807 : if ((
7808 : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7809 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
7810 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7811 : (TARGET_64BIT)))
7812 : {
7813 : *pnum_clobbers = 1;
7814 : return 776; /* *xorqi_extdi_2_slp */
7815 : }
7816 : break;
7817 :
7818 : case 3:
7819 : *pnum_clobbers = 1;
7820 : return 794; /* *xorqi_ext2hi_0 */
7821 :
7822 : case 4:
7823 : *pnum_clobbers = 1;
7824 : return 797; /* *xorqi_ext2si_0 */
7825 :
7826 : case 5:
7827 : if (
7828 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7829 : (TARGET_64BIT))
7830 : {
7831 : *pnum_clobbers = 1;
7832 : return 800; /* *xorqi_ext2di_0 */
7833 : }
7834 : break;
7835 :
7836 : default:
7837 : break;
7838 : }
7839 : }
7840 : }
7841 : operands[1] = x3;
7842 : if (pattern84 (x1) != 0)
7843 : return -1;
7844 : if (
7845 : #line 14095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7846 : (ix86_binary_operator_ok (XOR, QImode, operands, TARGET_APX_NDD)
7847 : && TARGET_APX_NF))
7848 : return 897; /* *xorqi_1_nf */
7849 : if (pnum_clobbers == NULL
7850 : || !
7851 : #line 14095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7852 : (ix86_binary_operator_ok (XOR, QImode, operands, TARGET_APX_NDD)
7853 : && true))
7854 : return -1;
7855 : *pnum_clobbers = 1;
7856 : return 898; /* *xorqi_1 */
7857 :
7858 : case ZERO_EXTEND:
7859 : switch (pattern40 (x1))
7860 : {
7861 : case 0:
7862 : if (!(
7863 : #line 14413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7864 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
7865 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7866 : (TARGET_64BIT)))
7867 : return -1;
7868 : return 935; /* *concatditi3_2 */
7869 :
7870 : case 1:
7871 : if (!(
7872 : #line 14457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7873 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
7874 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7875 : (TARGET_64BIT)))
7876 : return -1;
7877 : return 956; /* *concatditi3_4 */
7878 :
7879 : case 2:
7880 : if (!(
7881 : #line 14457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7882 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
7883 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7884 : (TARGET_64BIT)))
7885 : return -1;
7886 : return 959; /* *concatditi3_4 */
7887 :
7888 : case 3:
7889 : if (!(
7890 : #line 14534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7891 : (TImode == DImode
7892 : ? CONST_INT_P (operands[2])
7893 : && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
7894 : && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
7895 : : CONST_WIDE_INT_P (operands[2])
7896 : && CONST_WIDE_INT_NUNITS (operands[2]) == 2
7897 : && CONST_WIDE_INT_ELT (operands[2], 0) == 0
7898 : && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
7899 : 1)),
7900 : VOIDmode)) &&
7901 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7902 : (TARGET_64BIT)))
7903 : return -1;
7904 : return 983; /* *concatditi3_7 */
7905 :
7906 : default:
7907 : return -1;
7908 : }
7909 :
7910 : default:
7911 : return -1;
7912 : }
7913 : }
7914 :
7915 : int
7916 : recog_47 (rtx x1 ATTRIBUTE_UNUSED,
7917 : rtx_insn *insn ATTRIBUTE_UNUSED,
7918 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7919 : {
7920 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7921 : rtx x2, x3, x4;
7922 : int res ATTRIBUTE_UNUSED;
7923 : switch (pattern2 (x1, pnum_clobbers))
7924 : {
7925 : case 0:
7926 : if (!
7927 : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7928 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
7929 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
7930 : == GET_MODE_BITSIZE (QImode)-1
7931 : && ix86_pre_reload_split ()))
7932 : return -1;
7933 : *pnum_clobbers = 1;
7934 : return 1324; /* *rotlqi3_mask_1 */
7935 :
7936 : case 1:
7937 : if (!
7938 : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7939 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
7940 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
7941 : == GET_MODE_BITSIZE (HImode)-1
7942 : && ix86_pre_reload_split ()))
7943 : return -1;
7944 : *pnum_clobbers = 1;
7945 : return 1326; /* *rotlhi3_mask_1 */
7946 :
7947 : case 2:
7948 : if (!
7949 : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7950 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
7951 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
7952 : && ix86_pre_reload_split ()))
7953 : return -1;
7954 : *pnum_clobbers = 1;
7955 : return 1340; /* *rotlqi3_add_1 */
7956 :
7957 : case 3:
7958 : if (!
7959 : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7960 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
7961 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
7962 : && ix86_pre_reload_split ()))
7963 : return -1;
7964 : *pnum_clobbers = 1;
7965 : return 1342; /* *rotlhi3_add_1 */
7966 :
7967 : case 4:
7968 : if (!
7969 : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7970 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
7971 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
7972 : && ix86_pre_reload_split ()))
7973 : return -1;
7974 : *pnum_clobbers = 1;
7975 : return 1356; /* *rotlqi3_sub_1 */
7976 :
7977 : case 5:
7978 : if (!
7979 : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7980 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
7981 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
7982 : && ix86_pre_reload_split ()))
7983 : return -1;
7984 : *pnum_clobbers = 1;
7985 : return 1358; /* *rotlhi3_sub_1 */
7986 :
7987 : case 6:
7988 : x2 = XEXP (x1, 0);
7989 : operands[0] = x2;
7990 : x3 = XEXP (x1, 1);
7991 : switch (pattern268 (x3, pnum_clobbers))
7992 : {
7993 : case 0:
7994 : if (
7995 : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7996 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
7997 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
7998 : == GET_MODE_BITSIZE (QImode)-1
7999 : && ix86_pre_reload_split ()))
8000 : {
8001 : *pnum_clobbers = 1;
8002 : return 1316; /* *rotlqi3_mask */
8003 : }
8004 : break;
8005 :
8006 : case 1:
8007 : if (
8008 : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8009 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
8010 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
8011 : == GET_MODE_BITSIZE (HImode)-1
8012 : && ix86_pre_reload_split ()))
8013 : {
8014 : *pnum_clobbers = 1;
8015 : return 1318; /* *rotlhi3_mask */
8016 : }
8017 : break;
8018 :
8019 : case 2:
8020 : if (
8021 : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8022 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
8023 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
8024 : && ix86_pre_reload_split ()))
8025 : {
8026 : *pnum_clobbers = 1;
8027 : return 1332; /* *rotlqi3_add */
8028 : }
8029 : break;
8030 :
8031 : case 3:
8032 : if (
8033 : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8034 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
8035 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
8036 : && ix86_pre_reload_split ()))
8037 : {
8038 : *pnum_clobbers = 1;
8039 : return 1334; /* *rotlhi3_add */
8040 : }
8041 : break;
8042 :
8043 : case 4:
8044 : if (
8045 : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8046 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
8047 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
8048 : && ix86_pre_reload_split ()))
8049 : {
8050 : *pnum_clobbers = 1;
8051 : return 1348; /* *rotlqi3_sub */
8052 : }
8053 : break;
8054 :
8055 : case 5:
8056 : if (
8057 : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8058 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
8059 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
8060 : && ix86_pre_reload_split ()))
8061 : {
8062 : *pnum_clobbers = 1;
8063 : return 1350; /* *rotlhi3_sub */
8064 : }
8065 : break;
8066 :
8067 : case 6:
8068 : if (pnum_clobbers != NULL
8069 : && pattern626 (x3) == 0
8070 : &&
8071 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8072 : (TARGET_64BIT))
8073 : {
8074 : *pnum_clobbers = 2;
8075 : return 1365; /* ix86_rotlti3_doubleword */
8076 : }
8077 : x4 = XEXP (x3, 1);
8078 : if (XWINT (x4, 0) == 64L
8079 : && register_operand (operands[0], E_TImode)
8080 : && GET_MODE (x3) == E_TImode
8081 : && register_operand (operands[1], E_TImode)
8082 : &&
8083 : #line 18805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8084 : (TARGET_64BIT))
8085 : return 1370; /* rotl64ti2_doubleword */
8086 : break;
8087 :
8088 : default:
8089 : break;
8090 : }
8091 : x4 = XEXP (x3, 1);
8092 : operands[2] = x4;
8093 : switch (pattern269 (x1, pnum_clobbers))
8094 : {
8095 : case 0:
8096 : if (
8097 : #line 19019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8098 : (ix86_binary_operator_ok (ROTATE, QImode, operands, TARGET_APX_NDD)
8099 : && TARGET_APX_NF))
8100 : return 1405; /* *rotlqi3_1_nf */
8101 : if (pnum_clobbers == NULL
8102 : || !
8103 : #line 19019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8104 : (ix86_binary_operator_ok (ROTATE, QImode, operands, TARGET_APX_NDD)
8105 : && true))
8106 : return -1;
8107 : *pnum_clobbers = 1;
8108 : return 1406; /* *rotlqi3_1 */
8109 :
8110 : case 1:
8111 : if (
8112 : #line 19019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8113 : (ix86_binary_operator_ok (ROTATE, HImode, operands, TARGET_APX_NDD)
8114 : && TARGET_APX_NF))
8115 : return 1409; /* *rotlhi3_1_nf */
8116 : if (pnum_clobbers == NULL
8117 : || !
8118 : #line 19019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8119 : (ix86_binary_operator_ok (ROTATE, HImode, operands, TARGET_APX_NDD)
8120 : && true))
8121 : return -1;
8122 : *pnum_clobbers = 1;
8123 : return 1410; /* *rotlhi3_1 */
8124 :
8125 : case 2:
8126 : if (!
8127 : #line 19050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8128 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8129 : return -1;
8130 : *pnum_clobbers = 1;
8131 : return 1413; /* *rotlqi3_1_slp */
8132 :
8133 : case 3:
8134 : if (!
8135 : #line 19050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8136 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8137 : return -1;
8138 : *pnum_clobbers = 1;
8139 : return 1415; /* *rotlhi3_1_slp */
8140 :
8141 : default:
8142 : return -1;
8143 : }
8144 :
8145 : default:
8146 : return -1;
8147 : }
8148 : }
8149 :
8150 : int
8151 : recog_55 (rtx x1 ATTRIBUTE_UNUSED,
8152 : rtx_insn *insn ATTRIBUTE_UNUSED,
8153 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8154 : {
8155 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8156 : rtx x2, x3, x4;
8157 : int res ATTRIBUTE_UNUSED;
8158 : x2 = XEXP (x1, 0);
8159 : operands[0] = x2;
8160 : x3 = XEXP (x1, 1);
8161 : x4 = XEXP (x3, 0);
8162 : operands[1] = x4;
8163 : switch (GET_MODE (operands[0]))
8164 : {
8165 : case E_HImode:
8166 : if (!register_operand (operands[0], E_HImode)
8167 : || GET_MODE (x3) != E_HImode
8168 : || !nonimmediate_operand (operands[1], E_HImode))
8169 : return -1;
8170 : if (
8171 : #line 22891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8172 : (TARGET_POPCNT && TARGET_APX_NF))
8173 : return 1672; /* popcounthi2_nf */
8174 : if (pnum_clobbers == NULL
8175 : || !
8176 : #line 22891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8177 : (TARGET_POPCNT && true))
8178 : return -1;
8179 : *pnum_clobbers = 1;
8180 : return 1673; /* popcounthi2 */
8181 :
8182 : case E_V8QImode:
8183 : if (!register_operand (operands[0], E_V8QImode)
8184 : || GET_MODE (x3) != E_V8QImode
8185 : || !register_operand (operands[1], E_V8QImode)
8186 : || !(
8187 : #line 6959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8188 : (TARGET_AVX512VL && TARGET_AVX512BITALG) &&
8189 : #line 76 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8190 : (TARGET_MMX_WITH_SSE)))
8191 : return -1;
8192 : return 2445; /* popcountv8qi2 */
8193 :
8194 : case E_V4QImode:
8195 : if (!register_operand (operands[0], E_V4QImode)
8196 : || GET_MODE (x3) != E_V4QImode
8197 : || !register_operand (operands[1], E_V4QImode)
8198 : || !
8199 : #line 6959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8200 : (TARGET_AVX512VL && TARGET_AVX512BITALG))
8201 : return -1;
8202 : return 2446; /* popcountv4qi2 */
8203 :
8204 : case E_V2QImode:
8205 : if (!register_operand (operands[0], E_V2QImode)
8206 : || GET_MODE (x3) != E_V2QImode
8207 : || !register_operand (operands[1], E_V2QImode)
8208 : || !
8209 : #line 6959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8210 : (TARGET_AVX512VL && TARGET_AVX512BITALG))
8211 : return -1;
8212 : return 2447; /* popcountv2qi2 */
8213 :
8214 : case E_V4HImode:
8215 : if (!register_operand (operands[0], E_V4HImode)
8216 : || GET_MODE (x3) != E_V4HImode
8217 : || !register_operand (operands[1], E_V4HImode)
8218 : || !(
8219 : #line 6966 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8220 : (TARGET_AVX512VL && TARGET_AVX512BITALG) &&
8221 : #line 73 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8222 : (TARGET_MMX_WITH_SSE)))
8223 : return -1;
8224 : return 2448; /* popcountv4hi2 */
8225 :
8226 : case E_V2HImode:
8227 : if (!register_operand (operands[0], E_V2HImode)
8228 : || GET_MODE (x3) != E_V2HImode
8229 : || !register_operand (operands[1], E_V2HImode)
8230 : || !
8231 : #line 6966 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8232 : (TARGET_AVX512VL && TARGET_AVX512BITALG))
8233 : return -1;
8234 : return 2449; /* popcountv2hi2 */
8235 :
8236 : case E_V2SImode:
8237 : if (!register_operand (operands[0], E_V2SImode)
8238 : || GET_MODE (x3) != E_V2SImode
8239 : || !register_operand (operands[1], E_V2SImode)
8240 : || !
8241 : #line 6973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8242 : (TARGET_AVX512VPOPCNTDQ && TARGET_AVX512VL && TARGET_MMX_WITH_SSE))
8243 : return -1;
8244 : return 2450; /* popcountv2si2 */
8245 :
8246 : default:
8247 : return -1;
8248 : }
8249 : }
8250 :
8251 : int
8252 : recog_61 (rtx x1 ATTRIBUTE_UNUSED,
8253 : rtx_insn *insn ATTRIBUTE_UNUSED,
8254 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8255 : {
8256 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8257 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
8258 : rtx x10, x11, x12, x13;
8259 : int res ATTRIBUTE_UNUSED;
8260 : x2 = XEXP (x1, 0);
8261 : operands[0] = x2;
8262 : x3 = XEXP (x1, 1);
8263 : x4 = XEXP (x3, 0);
8264 : switch (GET_CODE (x4))
8265 : {
8266 : case REG:
8267 : case SUBREG:
8268 : case MEM:
8269 : operands[1] = x4;
8270 : x5 = XEXP (x3, 1);
8271 : operands[2] = x5;
8272 : switch (GET_MODE (operands[0]))
8273 : {
8274 : case E_HImode:
8275 : if (!register_operand (operands[0], E_HImode)
8276 : || GET_MODE (x3) != E_HImode
8277 : || !nonimmediate_operand (operands[1], E_HImode)
8278 : || !general_operand (operands[2], E_HImode))
8279 : return -1;
8280 : if ((
8281 : #line 10947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8282 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
8283 : && TARGET_APX_NF) &&
8284 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8285 : (TARGET_HIMODE_MATH)))
8286 : return 618; /* *mulhi3_1_nf */
8287 : if (pnum_clobbers == NULL
8288 : || !(
8289 : #line 10947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8290 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
8291 : && true) &&
8292 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8293 : (TARGET_HIMODE_MATH)))
8294 : return -1;
8295 : *pnum_clobbers = 1;
8296 : return 619; /* *mulhi3_1 */
8297 :
8298 : case E_QImode:
8299 : if (pattern3 (x3,
8300 : E_QImode) != 0)
8301 : return -1;
8302 : if (
8303 : #line 11034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8304 : (TARGET_QIMODE_MATH
8305 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
8306 : && TARGET_APX_NF))
8307 : return 630; /* *mulqi3_1_nf */
8308 : if (pnum_clobbers == NULL
8309 : || !
8310 : #line 11034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8311 : (TARGET_QIMODE_MATH
8312 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
8313 : && true))
8314 : return -1;
8315 : *pnum_clobbers = 1;
8316 : return 631; /* *mulqi3_1 */
8317 :
8318 : case E_HFmode:
8319 : if (pattern3 (x3,
8320 : E_HFmode) != 0
8321 : || !
8322 : #line 23833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8323 : (TARGET_AVX512FP16
8324 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8325 : return -1;
8326 : return 1712; /* *mulhf */
8327 :
8328 : case E_V2SImode:
8329 : if (pattern5 (x3,
8330 : E_V2SImode) != 0
8331 : || !
8332 : #line 3380 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8333 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8334 : return -1;
8335 : return 2214; /* mulv2si3 */
8336 :
8337 : case E_V4HImode:
8338 : if (pattern6 (x3,
8339 : E_V4HImode) != 0
8340 : || !
8341 : #line 3409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8342 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8343 : && ix86_binary_operator_ok (MULT, V4HImode, operands)))
8344 : return -1;
8345 : return 2215; /* *mmx_mulv4hi3 */
8346 :
8347 : case E_V2HImode:
8348 : if (pattern5 (x3,
8349 : E_V2HImode) != 0
8350 : || !
8351 : #line 3424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8352 : (TARGET_SSE2))
8353 : return -1;
8354 : return 2216; /* mulv2hi3 */
8355 :
8356 : default:
8357 : return -1;
8358 : }
8359 :
8360 : case ZERO_EXTEND:
8361 : x5 = XEXP (x3, 1);
8362 : if (GET_CODE (x5) != ZERO_EXTEND)
8363 : return -1;
8364 : x6 = XEXP (x4, 0);
8365 : switch (GET_CODE (x6))
8366 : {
8367 : case REG:
8368 : case SUBREG:
8369 : operands[1] = x6;
8370 : x7 = XEXP (x5, 0);
8371 : operands[2] = x7;
8372 : switch (GET_MODE (operands[0]))
8373 : {
8374 : case E_TImode:
8375 : if (pnum_clobbers == NULL
8376 : || pattern866 (x3,
8377 : E_DImode,
8378 : E_TImode) != 0
8379 : || !(
8380 : #line 11337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8381 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
8382 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8383 : (TARGET_64BIT)))
8384 : return -1;
8385 : *pnum_clobbers = 1;
8386 : return 646; /* *umulditi3_1 */
8387 :
8388 : case E_HImode:
8389 : if (pattern866 (x3,
8390 : E_QImode,
8391 : E_HImode) != 0)
8392 : return -1;
8393 : if (
8394 : #line 11403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8395 : (TARGET_QIMODE_MATH
8396 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
8397 : && TARGET_APX_NF))
8398 : return 653; /* *umulqihi3_1_nf */
8399 : if (pnum_clobbers == NULL
8400 : || !
8401 : #line 11403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8402 : (TARGET_QIMODE_MATH
8403 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
8404 : && true))
8405 : return -1;
8406 : *pnum_clobbers = 1;
8407 : return 654; /* *umulqihi3_1 */
8408 :
8409 : default:
8410 : return -1;
8411 : }
8412 :
8413 : case VEC_SELECT:
8414 : if (GET_MODE (x6) != E_V1SImode)
8415 : return -1;
8416 : x8 = XEXP (x6, 1);
8417 : if (GET_CODE (x8) != PARALLEL
8418 : || XVECLEN (x8, 0) != 1)
8419 : return -1;
8420 : x9 = XVECEXP (x8, 0, 0);
8421 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8422 : return -1;
8423 : x7 = XEXP (x5, 0);
8424 : if (GET_CODE (x7) != VEC_SELECT
8425 : || GET_MODE (x7) != E_V1SImode)
8426 : return -1;
8427 : x10 = XEXP (x7, 1);
8428 : if (GET_CODE (x10) != PARALLEL
8429 : || XVECLEN (x10, 0) != 1)
8430 : return -1;
8431 : x11 = XVECEXP (x10, 0, 0);
8432 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
8433 : || !register_operand (operands[0], E_V1DImode)
8434 : || GET_MODE (x3) != E_V1DImode
8435 : || GET_MODE (x4) != E_V1DImode)
8436 : return -1;
8437 : x12 = XEXP (x6, 0);
8438 : operands[1] = x12;
8439 : if (!register_mmxmem_operand (operands[1], E_V2SImode)
8440 : || GET_MODE (x5) != E_V1DImode)
8441 : return -1;
8442 : x13 = XEXP (x7, 0);
8443 : operands[2] = x13;
8444 : if (!register_mmxmem_operand (operands[2], E_V2SImode)
8445 : || !
8446 : #line 3664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8447 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8448 : && TARGET_SSE2
8449 : && ix86_binary_operator_ok (MULT, V2SImode, operands)))
8450 : return -1;
8451 : return 2223; /* *sse2_umulv1siv1di3 */
8452 :
8453 : default:
8454 : return -1;
8455 : }
8456 :
8457 : case SIGN_EXTEND:
8458 : x5 = XEXP (x3, 1);
8459 : if (GET_CODE (x5) != SIGN_EXTEND)
8460 : return -1;
8461 : x6 = XEXP (x4, 0);
8462 : operands[1] = x6;
8463 : x7 = XEXP (x5, 0);
8464 : operands[2] = x7;
8465 : switch (GET_MODE (operands[0]))
8466 : {
8467 : case E_TImode:
8468 : if (pattern866 (x3,
8469 : E_DImode,
8470 : E_TImode) != 0)
8471 : return -1;
8472 : if ((
8473 : #line 11383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8474 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
8475 : && TARGET_APX_NF) &&
8476 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8477 : (TARGET_64BIT)))
8478 : return 649; /* *mulditi3_1_nf */
8479 : if (pnum_clobbers == NULL
8480 : || !(
8481 : #line 1200 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8482 : (TARGET_64BIT) && (
8483 : #line 11383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8484 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
8485 : && true) &&
8486 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8487 : (TARGET_64BIT))))
8488 : return -1;
8489 : *pnum_clobbers = 1;
8490 : return 650; /* *mulditi3_1 */
8491 :
8492 : case E_HImode:
8493 : if (pattern866 (x3,
8494 : E_QImode,
8495 : E_HImode) != 0)
8496 : return -1;
8497 : if (
8498 : #line 11403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8499 : (TARGET_QIMODE_MATH
8500 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
8501 : && TARGET_APX_NF))
8502 : return 651; /* *mulqihi3_1_nf */
8503 : if (pnum_clobbers == NULL
8504 : || !
8505 : #line 11403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8506 : (TARGET_QIMODE_MATH
8507 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
8508 : && true))
8509 : return -1;
8510 : *pnum_clobbers = 1;
8511 : return 652; /* *mulqihi3_1 */
8512 :
8513 : default:
8514 : return -1;
8515 : }
8516 :
8517 : default:
8518 : return -1;
8519 : }
8520 : }
8521 :
8522 : int
8523 : recog_69 (rtx x1 ATTRIBUTE_UNUSED,
8524 : rtx_insn *insn ATTRIBUTE_UNUSED,
8525 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8526 : {
8527 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8528 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
8529 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
8530 : rtx x18, x19;
8531 : int res ATTRIBUTE_UNUSED;
8532 : x2 = XEXP (x1, 0);
8533 : operands[0] = x2;
8534 : x3 = XEXP (x1, 1);
8535 : x4 = XEXP (x3, 0);
8536 : switch (GET_CODE (x4))
8537 : {
8538 : case REG:
8539 : case SUBREG:
8540 : case MEM:
8541 : switch (pattern47 (x3))
8542 : {
8543 : case 0:
8544 : if (!
8545 : #line 3351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8546 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8547 : && ix86_binary_operator_ok (SS_PLUS, V8QImode, operands)))
8548 : return -1;
8549 : return 2194; /* *mmx_ssaddv8qi3 */
8550 :
8551 : case 1:
8552 : if (!
8553 : #line 3351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8554 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8555 : && ix86_binary_operator_ok (SS_PLUS, V4HImode, operands)))
8556 : return -1;
8557 : return 2198; /* *mmx_ssaddv4hi3 */
8558 :
8559 : case 2:
8560 : if (!
8561 : #line 3367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8562 : (TARGET_SSE2))
8563 : return -1;
8564 : return 2202; /* ssaddv4qi3 */
8565 :
8566 : case 3:
8567 : if (!
8568 : #line 3367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8569 : (TARGET_SSE2))
8570 : return -1;
8571 : return 2206; /* ssaddv2qi3 */
8572 :
8573 : case 4:
8574 : if (!
8575 : #line 3367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8576 : (TARGET_SSE2))
8577 : return -1;
8578 : return 2210; /* ssaddv2hi3 */
8579 :
8580 : default:
8581 : return -1;
8582 : }
8583 :
8584 : case VEC_SELECT:
8585 : if (pattern108 (x3) != 0
8586 : || !
8587 : #line 22970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8588 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
8589 : return -1;
8590 : return 8640; /* ssse3_phaddswv4hi3 */
8591 :
8592 : case MULT:
8593 : if (GET_MODE (x4) != E_V4HImode)
8594 : return -1;
8595 : x5 = XEXP (x4, 0);
8596 : if (GET_CODE (x5) != ZERO_EXTEND
8597 : || GET_MODE (x5) != E_V4HImode)
8598 : return -1;
8599 : x6 = XEXP (x5, 0);
8600 : if (GET_CODE (x6) != VEC_SELECT
8601 : || GET_MODE (x6) != E_V4QImode)
8602 : return -1;
8603 : x7 = XEXP (x6, 1);
8604 : if (GET_CODE (x7) != PARALLEL
8605 : || XVECLEN (x7, 0) != 4
8606 : || pattern1092 (x7,
8607 : 6,
8608 : 4,
8609 : 2,
8610 : 0) != 0)
8611 : return -1;
8612 : x8 = XEXP (x4, 1);
8613 : if (pattern1275 (x8,
8614 : E_V4QImode,
8615 : E_V4HImode) != 0)
8616 : return -1;
8617 : x9 = XEXP (x8, 0);
8618 : x10 = XEXP (x9, 1);
8619 : if (pattern1633 (x10,
8620 : 6,
8621 : 4,
8622 : 2,
8623 : 0) != 0)
8624 : return -1;
8625 : x11 = XEXP (x3, 1);
8626 : if (pattern1808 (x11,
8627 : E_V4QImode,
8628 : E_V4HImode,
8629 : ZERO_EXTEND) != 0
8630 : || !register_operand (operands[0], E_V4HImode)
8631 : || GET_MODE (x3) != E_V4HImode)
8632 : return -1;
8633 : x12 = XEXP (x6, 0);
8634 : operands[1] = x12;
8635 : if (!register_operand (operands[1], E_V8QImode))
8636 : return -1;
8637 : x13 = XEXP (x9, 0);
8638 : operands[2] = x13;
8639 : if (!register_mmxmem_operand (operands[2], E_V8QImode))
8640 : return -1;
8641 : x14 = XEXP (x11, 0);
8642 : x15 = XEXP (x14, 0);
8643 : x16 = XEXP (x15, 0);
8644 : if (!rtx_equal_p (x16, operands[1]))
8645 : return -1;
8646 : x17 = XEXP (x11, 1);
8647 : x18 = XEXP (x17, 0);
8648 : x19 = XEXP (x18, 0);
8649 : if (!rtx_equal_p (x19, operands[2])
8650 : || !
8651 : #line 23254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8652 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
8653 : return -1;
8654 : return 8659; /* ssse3_pmaddubsw */
8655 :
8656 : default:
8657 : return -1;
8658 : }
8659 : }
8660 :
8661 : int
8662 : recog_73 (rtx x1 ATTRIBUTE_UNUSED,
8663 : rtx_insn *insn ATTRIBUTE_UNUSED,
8664 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8665 : {
8666 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8667 : rtx x2, x3, x4, x5;
8668 : int res ATTRIBUTE_UNUSED;
8669 : x2 = XEXP (x1, 1);
8670 : if (GET_MODE (x2) != E_DImode)
8671 : return -1;
8672 : x3 = XEXP (x2, 0);
8673 : x4 = XEXP (x3, 0);
8674 : operands[1] = x4;
8675 : if (!nonimmediate_operand (operands[1], E_SImode))
8676 : return -1;
8677 : x5 = XEXP (x3, 1);
8678 : operands[2] = x5;
8679 : switch (GET_CODE (operands[2]))
8680 : {
8681 : case CONST_INT:
8682 : if (pnum_clobbers == NULL
8683 : || !const_int_operand (operands[2], E_QImode)
8684 : || !
8685 : #line 17602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8686 : (TARGET_64BIT && INTVAL (operands[2]) == 31
8687 : && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
8688 : && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
8689 : return -1;
8690 : *pnum_clobbers = 1;
8691 : return 1202; /* *ashrsi3_cvt_zext */
8692 :
8693 : case REG:
8694 : case SUBREG:
8695 : if (!register_operand (operands[2], E_SImode)
8696 : || !
8697 : #line 17781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8698 : (TARGET_64BIT && TARGET_BMI2))
8699 : return -1;
8700 : return 1217; /* *bmi2_ashrsi3_1_zext */
8701 :
8702 : default:
8703 : return -1;
8704 : }
8705 : }
8706 :
8707 : int
8708 : recog_74 (rtx x1 ATTRIBUTE_UNUSED,
8709 : rtx_insn *insn ATTRIBUTE_UNUSED,
8710 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8711 : {
8712 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8713 : rtx x2, x3, x4, x5, x6;
8714 : int res ATTRIBUTE_UNUSED;
8715 : x2 = XEXP (x1, 1);
8716 : x3 = XEXP (x2, 0);
8717 : switch (XVECLEN (x3, 0))
8718 : {
8719 : case 1:
8720 : if (!register_operand (operands[0], E_DImode)
8721 : || GET_MODE (x2) != E_DImode
8722 : || GET_MODE (x3) != E_SImode)
8723 : return -1;
8724 : switch (XINT (x3, 1))
8725 : {
8726 : case 20:
8727 : x4 = XVECEXP (x3, 0, 0);
8728 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
8729 : || !
8730 : #line 23582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8731 : (TARGET_X32))
8732 : return -1;
8733 : return 1694; /* *load_tp_x32_zext */
8734 :
8735 : case 50:
8736 : x4 = XVECEXP (x3, 0, 0);
8737 : switch (GET_CODE (x4))
8738 : {
8739 : case REG:
8740 : case SUBREG:
8741 : operands[1] = x4;
8742 : switch (GET_MODE (operands[1]))
8743 : {
8744 : case E_V8SFmode:
8745 : if (register_operand (operands[1], E_V8SFmode)
8746 : && (
8747 : #line 22299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8748 : (TARGET_64BIT && TARGET_SSE) &&
8749 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8750 : (TARGET_AVX)))
8751 : return 8557; /* *avx_movmskps256_uext */
8752 : break;
8753 :
8754 : case E_V4SFmode:
8755 : if (register_operand (operands[1], E_V4SFmode)
8756 : &&
8757 : #line 22299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8758 : (TARGET_64BIT && TARGET_SSE))
8759 : return 8559; /* *sse_movmskps_uext */
8760 : break;
8761 :
8762 : case E_V4DFmode:
8763 : if (register_operand (operands[1], E_V4DFmode)
8764 : && (
8765 : #line 22299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8766 : (TARGET_64BIT && TARGET_SSE) &&
8767 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8768 : (TARGET_AVX)))
8769 : return 8561; /* *avx_movmskpd256_uext */
8770 : break;
8771 :
8772 : case E_V2DFmode:
8773 : if (register_operand (operands[1], E_V2DFmode)
8774 : && (
8775 : #line 22299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8776 : (TARGET_64BIT && TARGET_SSE) &&
8777 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8778 : (TARGET_SSE2)))
8779 : return 8563; /* *sse2_movmskpd_uext */
8780 : break;
8781 :
8782 : case E_V32QImode:
8783 : if (register_operand (operands[1], E_V32QImode)
8784 : && (
8785 : #line 22454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8786 : (TARGET_64BIT && TARGET_SSE2) &&
8787 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8788 : (TARGET_AVX2)))
8789 : return 8602; /* *avx2_pmovmskb_zext */
8790 : break;
8791 :
8792 : case E_V16QImode:
8793 : if (register_operand (operands[1], E_V16QImode)
8794 : &&
8795 : #line 22454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8796 : (TARGET_64BIT && TARGET_SSE2))
8797 : return 8603; /* *sse2_pmovmskb_zext */
8798 : break;
8799 :
8800 : default:
8801 : break;
8802 : }
8803 : if (GET_CODE (x4) != SUBREG)
8804 : return -1;
8805 : switch (pattern1098 (x4))
8806 : {
8807 : case 0:
8808 : if (!(
8809 : #line 22381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8810 : (TARGET_64BIT && TARGET_SSE) &&
8811 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8812 : (TARGET_AVX)))
8813 : return -1;
8814 : return 8581; /* *avx_movmskps256_uext_lt_avx512 */
8815 :
8816 : case 1:
8817 : if (!
8818 : #line 22381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8819 : (TARGET_64BIT && TARGET_SSE))
8820 : return -1;
8821 : return 8583; /* *sse_movmskps_uext_lt_avx512 */
8822 :
8823 : case 2:
8824 : if (!(
8825 : #line 22381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8826 : (TARGET_64BIT && TARGET_SSE) &&
8827 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8828 : (TARGET_AVX)))
8829 : return -1;
8830 : return 8585; /* *avx_movmskpd256_uext_lt_avx512 */
8831 :
8832 : case 3:
8833 : if (!(
8834 : #line 22381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8835 : (TARGET_64BIT && TARGET_SSE) &&
8836 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8837 : (TARGET_SSE2)))
8838 : return -1;
8839 : return 8587; /* *sse2_movmskpd_uext_lt_avx512 */
8840 :
8841 : case 4:
8842 : if (!(
8843 : #line 22420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8844 : (TARGET_64BIT && TARGET_SSE) &&
8845 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8846 : (TARGET_AVX)))
8847 : return -1;
8848 : return 8593; /* *avx_movmskps256_uext_shift */
8849 :
8850 : case 5:
8851 : if (!
8852 : #line 22420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8853 : (TARGET_64BIT && TARGET_SSE))
8854 : return -1;
8855 : return 8595; /* *sse_movmskps_uext_shift */
8856 :
8857 : case 6:
8858 : if (!(
8859 : #line 22420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8860 : (TARGET_64BIT && TARGET_SSE) &&
8861 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8862 : (TARGET_AVX)))
8863 : return -1;
8864 : return 8597; /* *avx_movmskpd256_uext_shift */
8865 :
8866 : case 7:
8867 : if (!(
8868 : #line 22420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8869 : (TARGET_64BIT && TARGET_SSE) &&
8870 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8871 : (TARGET_SSE2)))
8872 : return -1;
8873 : return 8599; /* *sse2_movmskpd_uext_shift */
8874 :
8875 : default:
8876 : return -1;
8877 : }
8878 :
8879 : case LT:
8880 : switch (pattern983 (x4))
8881 : {
8882 : case 0:
8883 : if (!(
8884 : #line 22356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8885 : (TARGET_64BIT && TARGET_SSE) &&
8886 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8887 : (TARGET_AVX)))
8888 : return -1;
8889 : return 8573; /* *avx_movmskps256_uext_lt */
8890 :
8891 : case 1:
8892 : if (!
8893 : #line 22356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8894 : (TARGET_64BIT && TARGET_SSE))
8895 : return -1;
8896 : return 8575; /* *sse_movmskps_uext_lt */
8897 :
8898 : case 2:
8899 : if (!(
8900 : #line 22356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8901 : (TARGET_64BIT && TARGET_SSE) &&
8902 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8903 : (TARGET_AVX)))
8904 : return -1;
8905 : return 8577; /* *avx_movmskpd256_uext_lt */
8906 :
8907 : case 3:
8908 : if (!(
8909 : #line 22356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8910 : (TARGET_64BIT && TARGET_SSE) &&
8911 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8912 : (TARGET_SSE2)))
8913 : return -1;
8914 : return 8579; /* *sse2_movmskpd_uext_lt */
8915 :
8916 : case 4:
8917 : if (!(
8918 : #line 22616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8919 : (TARGET_64BIT && TARGET_SSE2) &&
8920 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8921 : (TARGET_AVX2)))
8922 : return -1;
8923 : return 8610; /* *avx2_pmovmskb_zext_lt */
8924 :
8925 : case 5:
8926 : if (!
8927 : #line 22616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8928 : (TARGET_64BIT && TARGET_SSE2))
8929 : return -1;
8930 : return 8611; /* *sse2_pmovmskb_zext_lt */
8931 :
8932 : default:
8933 : return -1;
8934 : }
8935 :
8936 : case VEC_MERGE:
8937 : switch (pattern985 (x4))
8938 : {
8939 : case 0:
8940 : if (!(
8941 : #line 22645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8942 : (TARGET_64BIT && TARGET_SSE2) &&
8943 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8944 : (TARGET_AVX2)))
8945 : return -1;
8946 : return 8612; /* *avx2_pmovmskb_zext_lt_avx512 */
8947 :
8948 : case 1:
8949 : if (!
8950 : #line 22645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8951 : (TARGET_64BIT && TARGET_SSE2))
8952 : return -1;
8953 : return 8613; /* *sse2_pmovmskb_zext_lt_avx512 */
8954 :
8955 : default:
8956 : return -1;
8957 : }
8958 :
8959 : default:
8960 : return -1;
8961 : }
8962 :
8963 : default:
8964 : return -1;
8965 : }
8966 :
8967 : case 2:
8968 : x4 = XVECEXP (x3, 0, 0);
8969 : operands[1] = x4;
8970 : x5 = XVECEXP (x3, 0, 1);
8971 : operands[2] = x5;
8972 : switch (XINT (x3, 1))
8973 : {
8974 : case 96:
8975 : if (GET_MODE (x3) != E_SImode
8976 : || !register_operand (operands[0], E_DImode)
8977 : || GET_MODE (x2) != E_DImode
8978 : || !register_operand (operands[1], E_SImode)
8979 : || !nonimmediate_operand (operands[2], E_DImode)
8980 : || !
8981 : #line 29759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8982 : (TARGET_64BIT && TARGET_CRC32))
8983 : return -1;
8984 : return 1947; /* sse4_2_crc32di */
8985 :
8986 : case 159:
8987 : switch (GET_MODE (operands[0]))
8988 : {
8989 : case E_DImode:
8990 : switch (pattern880 (x2,
8991 : E_DImode))
8992 : {
8993 : case 0:
8994 : if (!(
8995 : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8996 : (TARGET_AVX512BW
8997 : && (8
8998 : > GET_MODE_SIZE (DImode))) &&
8999 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9000 : (TARGET_AVX512BW)))
9001 : return -1;
9002 : return 8201; /* *avx512bw_testmv64qi3_zext */
9003 :
9004 : case 1:
9005 : if (!(
9006 : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9007 : (TARGET_AVX512BW
9008 : && (8
9009 : > GET_MODE_SIZE (SImode))) && ((
9010 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9011 : (TARGET_AVX512BW) &&
9012 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9013 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9014 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9015 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9016 : return -1;
9017 : return 8204; /* *avx512vl_testmv32qi3_zext */
9018 :
9019 : case 2:
9020 : if (!(
9021 : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9022 : (TARGET_AVX512BW
9023 : && (8
9024 : > GET_MODE_SIZE (SImode))) &&
9025 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9026 : (TARGET_AVX512BW)))
9027 : return -1;
9028 : return 8210; /* *avx512bw_testmv32hi3_zext */
9029 :
9030 : case 3:
9031 : if (!(
9032 : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9033 : (TARGET_AVX512BW
9034 : && (8
9035 : > GET_MODE_SIZE (HImode))) && ((
9036 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9037 : (TARGET_AVX512BW) &&
9038 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9039 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9040 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9041 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9042 : return -1;
9043 : return 8207; /* *avx512vl_testmv16qi3_zext */
9044 :
9045 : case 4:
9046 : if (!(
9047 : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9048 : (TARGET_AVX512BW
9049 : && (8
9050 : > GET_MODE_SIZE (HImode))) && ((
9051 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9052 : (TARGET_AVX512BW) &&
9053 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9054 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9055 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9056 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9057 : return -1;
9058 : return 8213; /* *avx512vl_testmv16hi3_zext */
9059 :
9060 : case 5:
9061 : if (!(
9062 : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9063 : (TARGET_AVX512BW
9064 : && (8
9065 : > GET_MODE_SIZE (HImode))) &&
9066 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9067 : (TARGET_AVX512BW)))
9068 : return -1;
9069 : return 8219; /* *avx512f_testmv16si3_zext */
9070 :
9071 : case 6:
9072 : if (!(
9073 : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9074 : (TARGET_AVX512BW
9075 : && (8
9076 : > GET_MODE_SIZE (QImode))) && ((
9077 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9078 : (TARGET_AVX512BW) &&
9079 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9080 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9081 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9082 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9083 : return -1;
9084 : return 8216; /* *avx512vl_testmv8hi3_zext */
9085 :
9086 : case 7:
9087 : if (!(
9088 : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9089 : (TARGET_AVX512BW
9090 : && (8
9091 : > GET_MODE_SIZE (QImode))) && ((
9092 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9093 : (TARGET_AVX512BW) &&
9094 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9095 : (TARGET_AVX512VL)) &&
9096 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9097 : (TARGET_AVX512VL))))
9098 : return -1;
9099 : return 8222; /* *avx512vl_testmv8si3_zext */
9100 :
9101 : case 8:
9102 : if (!(
9103 : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9104 : (TARGET_AVX512BW
9105 : && (8
9106 : > GET_MODE_SIZE (QImode))) && ((
9107 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9108 : (TARGET_AVX512BW) &&
9109 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9110 : (TARGET_AVX512VL)) &&
9111 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9112 : (TARGET_AVX512VL))))
9113 : return -1;
9114 : return 8225; /* *avx512vl_testmv4si3_zext */
9115 :
9116 : case 9:
9117 : if (!(
9118 : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9119 : (TARGET_AVX512BW
9120 : && (8
9121 : > GET_MODE_SIZE (QImode))) &&
9122 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9123 : (TARGET_AVX512BW)))
9124 : return -1;
9125 : return 8228; /* *avx512f_testmv8di3_zext */
9126 :
9127 : case 10:
9128 : if (!(
9129 : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9130 : (TARGET_AVX512BW
9131 : && (8
9132 : > GET_MODE_SIZE (QImode))) && ((
9133 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9134 : (TARGET_AVX512BW) &&
9135 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9136 : (TARGET_AVX512VL)) &&
9137 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9138 : (TARGET_AVX512VL))))
9139 : return -1;
9140 : return 8231; /* *avx512vl_testmv4di3_zext */
9141 :
9142 : case 11:
9143 : if (!(
9144 : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9145 : (TARGET_AVX512BW
9146 : && (8
9147 : > GET_MODE_SIZE (QImode))) && ((
9148 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9149 : (TARGET_AVX512BW) &&
9150 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9151 : (TARGET_AVX512VL)) &&
9152 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9153 : (TARGET_AVX512VL))))
9154 : return -1;
9155 : return 8234; /* *avx512vl_testmv2di3_zext */
9156 :
9157 : default:
9158 : return -1;
9159 : }
9160 :
9161 : case E_SImode:
9162 : switch (pattern880 (x2,
9163 : E_SImode))
9164 : {
9165 : case 0:
9166 : if (!(
9167 : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9168 : (TARGET_AVX512BW
9169 : && (4
9170 : > GET_MODE_SIZE (DImode))) &&
9171 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9172 : (TARGET_AVX512BW)))
9173 : return -1;
9174 : return 8202; /* *avx512bw_testmv64qi3_zext */
9175 :
9176 : case 1:
9177 : if (!(
9178 : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9179 : (TARGET_AVX512BW
9180 : && (4
9181 : > GET_MODE_SIZE (SImode))) && ((
9182 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9183 : (TARGET_AVX512BW) &&
9184 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9185 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9186 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9187 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9188 : return -1;
9189 : return 8205; /* *avx512vl_testmv32qi3_zext */
9190 :
9191 : case 2:
9192 : if (!(
9193 : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9194 : (TARGET_AVX512BW
9195 : && (4
9196 : > GET_MODE_SIZE (SImode))) &&
9197 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9198 : (TARGET_AVX512BW)))
9199 : return -1;
9200 : return 8211; /* *avx512bw_testmv32hi3_zext */
9201 :
9202 : case 3:
9203 : if (!(
9204 : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9205 : (TARGET_AVX512BW
9206 : && (4
9207 : > GET_MODE_SIZE (HImode))) && ((
9208 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9209 : (TARGET_AVX512BW) &&
9210 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9211 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9212 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9213 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9214 : return -1;
9215 : return 8208; /* *avx512vl_testmv16qi3_zext */
9216 :
9217 : case 4:
9218 : if (!(
9219 : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9220 : (TARGET_AVX512BW
9221 : && (4
9222 : > GET_MODE_SIZE (HImode))) && ((
9223 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9224 : (TARGET_AVX512BW) &&
9225 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9226 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9227 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9228 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9229 : return -1;
9230 : return 8214; /* *avx512vl_testmv16hi3_zext */
9231 :
9232 : case 5:
9233 : if (!(
9234 : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9235 : (TARGET_AVX512BW
9236 : && (4
9237 : > GET_MODE_SIZE (HImode))) &&
9238 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9239 : (TARGET_AVX512BW)))
9240 : return -1;
9241 : return 8220; /* *avx512f_testmv16si3_zext */
9242 :
9243 : case 6:
9244 : if (!(
9245 : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9246 : (TARGET_AVX512BW
9247 : && (4
9248 : > GET_MODE_SIZE (QImode))) && ((
9249 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9250 : (TARGET_AVX512BW) &&
9251 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9252 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9253 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9254 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9255 : return -1;
9256 : return 8217; /* *avx512vl_testmv8hi3_zext */
9257 :
9258 : case 7:
9259 : if (!(
9260 : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9261 : (TARGET_AVX512BW
9262 : && (4
9263 : > GET_MODE_SIZE (QImode))) && ((
9264 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9265 : (TARGET_AVX512BW) &&
9266 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9267 : (TARGET_AVX512VL)) &&
9268 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9269 : (TARGET_AVX512VL))))
9270 : return -1;
9271 : return 8223; /* *avx512vl_testmv8si3_zext */
9272 :
9273 : case 8:
9274 : if (!(
9275 : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9276 : (TARGET_AVX512BW
9277 : && (4
9278 : > GET_MODE_SIZE (QImode))) && ((
9279 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9280 : (TARGET_AVX512BW) &&
9281 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9282 : (TARGET_AVX512VL)) &&
9283 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9284 : (TARGET_AVX512VL))))
9285 : return -1;
9286 : return 8226; /* *avx512vl_testmv4si3_zext */
9287 :
9288 : case 9:
9289 : if (!(
9290 : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9291 : (TARGET_AVX512BW
9292 : && (4
9293 : > GET_MODE_SIZE (QImode))) &&
9294 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9295 : (TARGET_AVX512BW)))
9296 : return -1;
9297 : return 8229; /* *avx512f_testmv8di3_zext */
9298 :
9299 : case 10:
9300 : if (!(
9301 : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9302 : (TARGET_AVX512BW
9303 : && (4
9304 : > GET_MODE_SIZE (QImode))) && ((
9305 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9306 : (TARGET_AVX512BW) &&
9307 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9308 : (TARGET_AVX512VL)) &&
9309 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9310 : (TARGET_AVX512VL))))
9311 : return -1;
9312 : return 8232; /* *avx512vl_testmv4di3_zext */
9313 :
9314 : case 11:
9315 : if (!(
9316 : #line 19413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9317 : (TARGET_AVX512BW
9318 : && (4
9319 : > GET_MODE_SIZE (QImode))) && ((
9320 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9321 : (TARGET_AVX512BW) &&
9322 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9323 : (TARGET_AVX512VL)) &&
9324 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9325 : (TARGET_AVX512VL))))
9326 : return -1;
9327 : return 8235; /* *avx512vl_testmv2di3_zext */
9328 :
9329 : default:
9330 : return -1;
9331 : }
9332 :
9333 : default:
9334 : return -1;
9335 : }
9336 :
9337 : case 160:
9338 : switch (GET_MODE (operands[0]))
9339 : {
9340 : case E_DImode:
9341 : switch (pattern880 (x2,
9342 : E_DImode))
9343 : {
9344 : case 0:
9345 : if (!(
9346 : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9347 : (TARGET_AVX512BW
9348 : && (8
9349 : > GET_MODE_SIZE (DImode))) &&
9350 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9351 : (TARGET_AVX512BW)))
9352 : return -1;
9353 : return 8273; /* *avx512bw_testnmv64qi3_zext */
9354 :
9355 : case 1:
9356 : if (!(
9357 : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9358 : (TARGET_AVX512BW
9359 : && (8
9360 : > GET_MODE_SIZE (SImode))) && ((
9361 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9362 : (TARGET_AVX512BW) &&
9363 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9364 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9365 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9366 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9367 : return -1;
9368 : return 8276; /* *avx512vl_testnmv32qi3_zext */
9369 :
9370 : case 2:
9371 : if (!(
9372 : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9373 : (TARGET_AVX512BW
9374 : && (8
9375 : > GET_MODE_SIZE (SImode))) &&
9376 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9377 : (TARGET_AVX512BW)))
9378 : return -1;
9379 : return 8282; /* *avx512bw_testnmv32hi3_zext */
9380 :
9381 : case 3:
9382 : if (!(
9383 : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9384 : (TARGET_AVX512BW
9385 : && (8
9386 : > GET_MODE_SIZE (HImode))) && ((
9387 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9388 : (TARGET_AVX512BW) &&
9389 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9390 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9391 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9392 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9393 : return -1;
9394 : return 8279; /* *avx512vl_testnmv16qi3_zext */
9395 :
9396 : case 4:
9397 : if (!(
9398 : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9399 : (TARGET_AVX512BW
9400 : && (8
9401 : > GET_MODE_SIZE (HImode))) && ((
9402 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9403 : (TARGET_AVX512BW) &&
9404 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9405 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9406 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9407 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9408 : return -1;
9409 : return 8285; /* *avx512vl_testnmv16hi3_zext */
9410 :
9411 : case 5:
9412 : if (!(
9413 : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9414 : (TARGET_AVX512BW
9415 : && (8
9416 : > GET_MODE_SIZE (HImode))) &&
9417 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9418 : (TARGET_AVX512BW)))
9419 : return -1;
9420 : return 8291; /* *avx512f_testnmv16si3_zext */
9421 :
9422 : case 6:
9423 : if (!(
9424 : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9425 : (TARGET_AVX512BW
9426 : && (8
9427 : > GET_MODE_SIZE (QImode))) && ((
9428 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9429 : (TARGET_AVX512BW) &&
9430 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9431 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9432 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9433 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9434 : return -1;
9435 : return 8288; /* *avx512vl_testnmv8hi3_zext */
9436 :
9437 : case 7:
9438 : if (!(
9439 : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9440 : (TARGET_AVX512BW
9441 : && (8
9442 : > GET_MODE_SIZE (QImode))) && ((
9443 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9444 : (TARGET_AVX512BW) &&
9445 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9446 : (TARGET_AVX512VL)) &&
9447 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9448 : (TARGET_AVX512VL))))
9449 : return -1;
9450 : return 8294; /* *avx512vl_testnmv8si3_zext */
9451 :
9452 : case 8:
9453 : if (!(
9454 : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9455 : (TARGET_AVX512BW
9456 : && (8
9457 : > GET_MODE_SIZE (QImode))) && ((
9458 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9459 : (TARGET_AVX512BW) &&
9460 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9461 : (TARGET_AVX512VL)) &&
9462 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9463 : (TARGET_AVX512VL))))
9464 : return -1;
9465 : return 8297; /* *avx512vl_testnmv4si3_zext */
9466 :
9467 : case 9:
9468 : if (!(
9469 : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9470 : (TARGET_AVX512BW
9471 : && (8
9472 : > GET_MODE_SIZE (QImode))) &&
9473 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9474 : (TARGET_AVX512BW)))
9475 : return -1;
9476 : return 8300; /* *avx512f_testnmv8di3_zext */
9477 :
9478 : case 10:
9479 : if (!(
9480 : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9481 : (TARGET_AVX512BW
9482 : && (8
9483 : > GET_MODE_SIZE (QImode))) && ((
9484 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9485 : (TARGET_AVX512BW) &&
9486 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9487 : (TARGET_AVX512VL)) &&
9488 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9489 : (TARGET_AVX512VL))))
9490 : return -1;
9491 : return 8303; /* *avx512vl_testnmv4di3_zext */
9492 :
9493 : case 11:
9494 : if (!(
9495 : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9496 : (TARGET_AVX512BW
9497 : && (8
9498 : > GET_MODE_SIZE (QImode))) && ((
9499 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9500 : (TARGET_AVX512BW) &&
9501 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9502 : (TARGET_AVX512VL)) &&
9503 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9504 : (TARGET_AVX512VL))))
9505 : return -1;
9506 : return 8306; /* *avx512vl_testnmv2di3_zext */
9507 :
9508 : default:
9509 : return -1;
9510 : }
9511 :
9512 : case E_SImode:
9513 : switch (pattern880 (x2,
9514 : E_SImode))
9515 : {
9516 : case 0:
9517 : if (!(
9518 : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9519 : (TARGET_AVX512BW
9520 : && (4
9521 : > GET_MODE_SIZE (DImode))) &&
9522 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9523 : (TARGET_AVX512BW)))
9524 : return -1;
9525 : return 8274; /* *avx512bw_testnmv64qi3_zext */
9526 :
9527 : case 1:
9528 : if (!(
9529 : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9530 : (TARGET_AVX512BW
9531 : && (4
9532 : > GET_MODE_SIZE (SImode))) && ((
9533 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9534 : (TARGET_AVX512BW) &&
9535 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9536 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9537 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9538 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9539 : return -1;
9540 : return 8277; /* *avx512vl_testnmv32qi3_zext */
9541 :
9542 : case 2:
9543 : if (!(
9544 : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9545 : (TARGET_AVX512BW
9546 : && (4
9547 : > GET_MODE_SIZE (SImode))) &&
9548 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9549 : (TARGET_AVX512BW)))
9550 : return -1;
9551 : return 8283; /* *avx512bw_testnmv32hi3_zext */
9552 :
9553 : case 3:
9554 : if (!(
9555 : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9556 : (TARGET_AVX512BW
9557 : && (4
9558 : > GET_MODE_SIZE (HImode))) && ((
9559 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9560 : (TARGET_AVX512BW) &&
9561 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9562 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9563 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9564 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9565 : return -1;
9566 : return 8280; /* *avx512vl_testnmv16qi3_zext */
9567 :
9568 : case 4:
9569 : if (!(
9570 : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9571 : (TARGET_AVX512BW
9572 : && (4
9573 : > GET_MODE_SIZE (HImode))) && ((
9574 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9575 : (TARGET_AVX512BW) &&
9576 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9577 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9578 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9579 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9580 : return -1;
9581 : return 8286; /* *avx512vl_testnmv16hi3_zext */
9582 :
9583 : case 5:
9584 : if (!(
9585 : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9586 : (TARGET_AVX512BW
9587 : && (4
9588 : > GET_MODE_SIZE (HImode))) &&
9589 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9590 : (TARGET_AVX512BW)))
9591 : return -1;
9592 : return 8292; /* *avx512f_testnmv16si3_zext */
9593 :
9594 : case 6:
9595 : if (!(
9596 : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9597 : (TARGET_AVX512BW
9598 : && (4
9599 : > GET_MODE_SIZE (QImode))) && ((
9600 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9601 : (TARGET_AVX512BW) &&
9602 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9603 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9604 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9605 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9606 : return -1;
9607 : return 8289; /* *avx512vl_testnmv8hi3_zext */
9608 :
9609 : case 7:
9610 : if (!(
9611 : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9612 : (TARGET_AVX512BW
9613 : && (4
9614 : > GET_MODE_SIZE (QImode))) && ((
9615 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9616 : (TARGET_AVX512BW) &&
9617 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9618 : (TARGET_AVX512VL)) &&
9619 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9620 : (TARGET_AVX512VL))))
9621 : return -1;
9622 : return 8295; /* *avx512vl_testnmv8si3_zext */
9623 :
9624 : case 8:
9625 : if (!(
9626 : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9627 : (TARGET_AVX512BW
9628 : && (4
9629 : > GET_MODE_SIZE (QImode))) && ((
9630 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9631 : (TARGET_AVX512BW) &&
9632 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9633 : (TARGET_AVX512VL)) &&
9634 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9635 : (TARGET_AVX512VL))))
9636 : return -1;
9637 : return 8298; /* *avx512vl_testnmv4si3_zext */
9638 :
9639 : case 9:
9640 : if (!(
9641 : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9642 : (TARGET_AVX512BW
9643 : && (4
9644 : > GET_MODE_SIZE (QImode))) &&
9645 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9646 : (TARGET_AVX512BW)))
9647 : return -1;
9648 : return 8301; /* *avx512f_testnmv8di3_zext */
9649 :
9650 : case 10:
9651 : if (!(
9652 : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9653 : (TARGET_AVX512BW
9654 : && (4
9655 : > GET_MODE_SIZE (QImode))) && ((
9656 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9657 : (TARGET_AVX512BW) &&
9658 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9659 : (TARGET_AVX512VL)) &&
9660 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9661 : (TARGET_AVX512VL))))
9662 : return -1;
9663 : return 8304; /* *avx512vl_testnmv4di3_zext */
9664 :
9665 : case 11:
9666 : if (!(
9667 : #line 19443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9668 : (TARGET_AVX512BW
9669 : && (4
9670 : > GET_MODE_SIZE (QImode))) && ((
9671 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9672 : (TARGET_AVX512BW) &&
9673 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9674 : (TARGET_AVX512VL)) &&
9675 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9676 : (TARGET_AVX512VL))))
9677 : return -1;
9678 : return 8307; /* *avx512vl_testnmv2di3_zext */
9679 :
9680 : default:
9681 : return -1;
9682 : }
9683 :
9684 : default:
9685 : return -1;
9686 : }
9687 :
9688 : default:
9689 : return -1;
9690 : }
9691 :
9692 : case 3:
9693 : x4 = XVECEXP (x3, 0, 0);
9694 : operands[1] = x4;
9695 : x5 = XVECEXP (x3, 0, 1);
9696 : operands[2] = x5;
9697 : x6 = XVECEXP (x3, 0, 2);
9698 : operands[3] = x6;
9699 : switch (XINT (x3, 1))
9700 : {
9701 : case 60:
9702 : switch (GET_MODE (operands[0]))
9703 : {
9704 : case E_SImode:
9705 : switch (pattern987 (x2,
9706 : E_SImode))
9707 : {
9708 : case 0:
9709 : if (!
9710 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9711 : (TARGET_AVX512F
9712 : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9713 : && (GET_MODE_NUNITS (V16SImode)
9714 : < GET_MODE_PRECISION (SImode))))
9715 : return -1;
9716 : return 3362; /* *avx512f_cmpv16si3_zero_extendsi */
9717 :
9718 : case 1:
9719 : if (!(
9720 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9721 : (TARGET_AVX512F
9722 : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9723 : && (GET_MODE_NUNITS (V16HFmode)
9724 : < GET_MODE_PRECISION (SImode))) &&
9725 : #line 321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9726 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
9727 : return -1;
9728 : return 3383; /* *avx512vl_cmpv16hf3_zero_extendsi */
9729 :
9730 : case 2:
9731 : if (!
9732 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9733 : (TARGET_AVX512F
9734 : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9735 : && (GET_MODE_NUNITS (V16SFmode)
9736 : < GET_MODE_PRECISION (SImode))))
9737 : return -1;
9738 : return 3389; /* *avx512f_cmpv16sf3_zero_extendsi */
9739 :
9740 : case 3:
9741 : if (!(
9742 : #line 4830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9743 : (TARGET_AVX512BW
9744 : && (GET_MODE_NUNITS (V16QImode)
9745 : < GET_MODE_PRECISION (SImode))) &&
9746 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9747 : (TARGET_AVX512VL)))
9748 : return -1;
9749 : return 3497; /* *avx512vl_cmpv16qi3_zero_extendsi */
9750 :
9751 : case 4:
9752 : if (!(
9753 : #line 4830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9754 : (TARGET_AVX512BW
9755 : && (GET_MODE_NUNITS (V16HImode)
9756 : < GET_MODE_PRECISION (SImode))) &&
9757 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9758 : (TARGET_AVX512VL)))
9759 : return -1;
9760 : return 3506; /* *avx512vl_cmpv16hi3_zero_extendsi */
9761 :
9762 : case 5:
9763 : if (!(
9764 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9765 : (TARGET_AVX512F
9766 : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9767 : && (GET_MODE_NUNITS (V8SImode)
9768 : < GET_MODE_PRECISION (SImode))) &&
9769 : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9770 : (TARGET_AVX512VL)))
9771 : return -1;
9772 : return 3365; /* *avx512vl_cmpv8si3_zero_extendsi */
9773 :
9774 : case 6:
9775 : if (!(
9776 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9777 : (TARGET_AVX512F
9778 : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9779 : && (GET_MODE_NUNITS (V4SImode)
9780 : < GET_MODE_PRECISION (SImode))) &&
9781 : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9782 : (TARGET_AVX512VL)))
9783 : return -1;
9784 : return 3368; /* *avx512vl_cmpv4si3_zero_extendsi */
9785 :
9786 : case 7:
9787 : if (!
9788 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9789 : (TARGET_AVX512F
9790 : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9791 : && (GET_MODE_NUNITS (V8DImode)
9792 : < GET_MODE_PRECISION (SImode))))
9793 : return -1;
9794 : return 3371; /* *avx512f_cmpv8di3_zero_extendsi */
9795 :
9796 : case 8:
9797 : if (!(
9798 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9799 : (TARGET_AVX512F
9800 : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9801 : && (GET_MODE_NUNITS (V4DImode)
9802 : < GET_MODE_PRECISION (SImode))) &&
9803 : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9804 : (TARGET_AVX512VL)))
9805 : return -1;
9806 : return 3374; /* *avx512vl_cmpv4di3_zero_extendsi */
9807 :
9808 : case 9:
9809 : if (!(
9810 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9811 : (TARGET_AVX512F
9812 : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9813 : && (GET_MODE_NUNITS (V2DImode)
9814 : < GET_MODE_PRECISION (SImode))) &&
9815 : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9816 : (TARGET_AVX512VL)))
9817 : return -1;
9818 : return 3377; /* *avx512vl_cmpv2di3_zero_extendsi */
9819 :
9820 : case 10:
9821 : if (!(
9822 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9823 : (TARGET_AVX512F
9824 : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9825 : && (GET_MODE_NUNITS (V8HFmode)
9826 : < GET_MODE_PRECISION (SImode))) &&
9827 : #line 322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9828 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
9829 : return -1;
9830 : return 3386; /* *avx512fp16_cmpv8hf3_zero_extendsi */
9831 :
9832 : case 11:
9833 : if (!(
9834 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9835 : (TARGET_AVX512F
9836 : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9837 : && (GET_MODE_NUNITS (V8SFmode)
9838 : < GET_MODE_PRECISION (SImode))) &&
9839 : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9840 : (TARGET_AVX512VL)))
9841 : return -1;
9842 : return 3392; /* *avx512vl_cmpv8sf3_zero_extendsi */
9843 :
9844 : case 12:
9845 : if (!(
9846 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9847 : (TARGET_AVX512F
9848 : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9849 : && (GET_MODE_NUNITS (V4SFmode)
9850 : < GET_MODE_PRECISION (SImode))) &&
9851 : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9852 : (TARGET_AVX512VL)))
9853 : return -1;
9854 : return 3395; /* *avx512vl_cmpv4sf3_zero_extendsi */
9855 :
9856 : case 13:
9857 : if (!
9858 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9859 : (TARGET_AVX512F
9860 : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9861 : && (GET_MODE_NUNITS (V8DFmode)
9862 : < GET_MODE_PRECISION (SImode))))
9863 : return -1;
9864 : return 3398; /* *avx512f_cmpv8df3_zero_extendsi */
9865 :
9866 : case 14:
9867 : if (!(
9868 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9869 : (TARGET_AVX512F
9870 : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9871 : && (GET_MODE_NUNITS (V4DFmode)
9872 : < GET_MODE_PRECISION (SImode))) &&
9873 : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9874 : (TARGET_AVX512VL)))
9875 : return -1;
9876 : return 3401; /* *avx512vl_cmpv4df3_zero_extendsi */
9877 :
9878 : case 15:
9879 : if (!(
9880 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9881 : (TARGET_AVX512F
9882 : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9883 : && (GET_MODE_NUNITS (V2DFmode)
9884 : < GET_MODE_PRECISION (SImode))) &&
9885 : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9886 : (TARGET_AVX512VL)))
9887 : return -1;
9888 : return 3404; /* *avx512vl_cmpv2df3_zero_extendsi */
9889 :
9890 : case 16:
9891 : if (!(
9892 : #line 4830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9893 : (TARGET_AVX512BW
9894 : && (GET_MODE_NUNITS (V8HImode)
9895 : < GET_MODE_PRECISION (SImode))) &&
9896 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9897 : (TARGET_AVX512VL)))
9898 : return -1;
9899 : return 3509; /* *avx512vl_cmpv8hi3_zero_extendsi */
9900 :
9901 : case 17:
9902 : if (!(
9903 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9904 : (TARGET_AVX512F
9905 : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
9906 : && (GET_MODE_NUNITS (V32HFmode)
9907 : < GET_MODE_PRECISION (SImode))) &&
9908 : #line 320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9909 : (TARGET_AVX512FP16)))
9910 : return -1;
9911 : return 3380; /* *avx512bw_cmpv32hf3_zero_extendsi */
9912 :
9913 : case 18:
9914 : if (!(
9915 : #line 4830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9916 : (TARGET_AVX512BW
9917 : && (GET_MODE_NUNITS (V32QImode)
9918 : < GET_MODE_PRECISION (SImode))) &&
9919 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9920 : (TARGET_AVX512VL)))
9921 : return -1;
9922 : return 3500; /* *avx512vl_cmpv32qi3_zero_extendsi */
9923 :
9924 : case 19:
9925 : if (!
9926 : #line 4830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9927 : (TARGET_AVX512BW
9928 : && (GET_MODE_NUNITS (V32HImode)
9929 : < GET_MODE_PRECISION (SImode))))
9930 : return -1;
9931 : return 3503; /* *avx512bw_cmpv32hi3_zero_extendsi */
9932 :
9933 : case 20:
9934 : if (!
9935 : #line 4830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9936 : (TARGET_AVX512BW
9937 : && (GET_MODE_NUNITS (V64QImode)
9938 : < GET_MODE_PRECISION (SImode))))
9939 : return -1;
9940 : return 3494; /* *avx512bw_cmpv64qi3_zero_extendsi */
9941 :
9942 : default:
9943 : return -1;
9944 : }
9945 :
9946 : case E_DImode:
9947 : switch (pattern987 (x2,
9948 : E_DImode))
9949 : {
9950 : case 0:
9951 : if (!
9952 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9953 : (TARGET_AVX512F
9954 : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
9955 : && (GET_MODE_NUNITS (V16SImode)
9956 : < GET_MODE_PRECISION (DImode))))
9957 : return -1;
9958 : return 3363; /* *avx512f_cmpv16si3_zero_extenddi */
9959 :
9960 : case 1:
9961 : if (!(
9962 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9963 : (TARGET_AVX512F
9964 : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
9965 : && (GET_MODE_NUNITS (V16HFmode)
9966 : < GET_MODE_PRECISION (DImode))) &&
9967 : #line 321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9968 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
9969 : return -1;
9970 : return 3384; /* *avx512vl_cmpv16hf3_zero_extenddi */
9971 :
9972 : case 2:
9973 : if (!
9974 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9975 : (TARGET_AVX512F
9976 : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
9977 : && (GET_MODE_NUNITS (V16SFmode)
9978 : < GET_MODE_PRECISION (DImode))))
9979 : return -1;
9980 : return 3390; /* *avx512f_cmpv16sf3_zero_extenddi */
9981 :
9982 : case 3:
9983 : if (!(
9984 : #line 4830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9985 : (TARGET_AVX512BW
9986 : && (GET_MODE_NUNITS (V16QImode)
9987 : < GET_MODE_PRECISION (DImode))) &&
9988 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9989 : (TARGET_AVX512VL)))
9990 : return -1;
9991 : return 3498; /* *avx512vl_cmpv16qi3_zero_extenddi */
9992 :
9993 : case 4:
9994 : if (!(
9995 : #line 4830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9996 : (TARGET_AVX512BW
9997 : && (GET_MODE_NUNITS (V16HImode)
9998 : < GET_MODE_PRECISION (DImode))) &&
9999 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10000 : (TARGET_AVX512VL)))
10001 : return -1;
10002 : return 3507; /* *avx512vl_cmpv16hi3_zero_extenddi */
10003 :
10004 : case 5:
10005 : if (!(
10006 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10007 : (TARGET_AVX512F
10008 : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
10009 : && (GET_MODE_NUNITS (V8SImode)
10010 : < GET_MODE_PRECISION (DImode))) &&
10011 : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10012 : (TARGET_AVX512VL)))
10013 : return -1;
10014 : return 3366; /* *avx512vl_cmpv8si3_zero_extenddi */
10015 :
10016 : case 6:
10017 : if (!(
10018 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10019 : (TARGET_AVX512F
10020 : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
10021 : && (GET_MODE_NUNITS (V4SImode)
10022 : < GET_MODE_PRECISION (DImode))) &&
10023 : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10024 : (TARGET_AVX512VL)))
10025 : return -1;
10026 : return 3369; /* *avx512vl_cmpv4si3_zero_extenddi */
10027 :
10028 : case 7:
10029 : if (!
10030 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10031 : (TARGET_AVX512F
10032 : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
10033 : && (GET_MODE_NUNITS (V8DImode)
10034 : < GET_MODE_PRECISION (DImode))))
10035 : return -1;
10036 : return 3372; /* *avx512f_cmpv8di3_zero_extenddi */
10037 :
10038 : case 8:
10039 : if (!(
10040 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10041 : (TARGET_AVX512F
10042 : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
10043 : && (GET_MODE_NUNITS (V4DImode)
10044 : < GET_MODE_PRECISION (DImode))) &&
10045 : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10046 : (TARGET_AVX512VL)))
10047 : return -1;
10048 : return 3375; /* *avx512vl_cmpv4di3_zero_extenddi */
10049 :
10050 : case 9:
10051 : if (!(
10052 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10053 : (TARGET_AVX512F
10054 : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
10055 : && (GET_MODE_NUNITS (V2DImode)
10056 : < GET_MODE_PRECISION (DImode))) &&
10057 : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10058 : (TARGET_AVX512VL)))
10059 : return -1;
10060 : return 3378; /* *avx512vl_cmpv2di3_zero_extenddi */
10061 :
10062 : case 10:
10063 : if (!(
10064 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10065 : (TARGET_AVX512F
10066 : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
10067 : && (GET_MODE_NUNITS (V8HFmode)
10068 : < GET_MODE_PRECISION (DImode))) &&
10069 : #line 322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10070 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
10071 : return -1;
10072 : return 3387; /* *avx512fp16_cmpv8hf3_zero_extenddi */
10073 :
10074 : case 11:
10075 : if (!(
10076 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10077 : (TARGET_AVX512F
10078 : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
10079 : && (GET_MODE_NUNITS (V8SFmode)
10080 : < GET_MODE_PRECISION (DImode))) &&
10081 : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10082 : (TARGET_AVX512VL)))
10083 : return -1;
10084 : return 3393; /* *avx512vl_cmpv8sf3_zero_extenddi */
10085 :
10086 : case 12:
10087 : if (!(
10088 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10089 : (TARGET_AVX512F
10090 : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
10091 : && (GET_MODE_NUNITS (V4SFmode)
10092 : < GET_MODE_PRECISION (DImode))) &&
10093 : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10094 : (TARGET_AVX512VL)))
10095 : return -1;
10096 : return 3396; /* *avx512vl_cmpv4sf3_zero_extenddi */
10097 :
10098 : case 13:
10099 : if (!
10100 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10101 : (TARGET_AVX512F
10102 : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
10103 : && (GET_MODE_NUNITS (V8DFmode)
10104 : < GET_MODE_PRECISION (DImode))))
10105 : return -1;
10106 : return 3399; /* *avx512f_cmpv8df3_zero_extenddi */
10107 :
10108 : case 14:
10109 : if (!(
10110 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10111 : (TARGET_AVX512F
10112 : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
10113 : && (GET_MODE_NUNITS (V4DFmode)
10114 : < GET_MODE_PRECISION (DImode))) &&
10115 : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10116 : (TARGET_AVX512VL)))
10117 : return -1;
10118 : return 3402; /* *avx512vl_cmpv4df3_zero_extenddi */
10119 :
10120 : case 15:
10121 : if (!(
10122 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10123 : (TARGET_AVX512F
10124 : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
10125 : && (GET_MODE_NUNITS (V2DFmode)
10126 : < GET_MODE_PRECISION (DImode))) &&
10127 : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10128 : (TARGET_AVX512VL)))
10129 : return -1;
10130 : return 3405; /* *avx512vl_cmpv2df3_zero_extenddi */
10131 :
10132 : case 16:
10133 : if (!(
10134 : #line 4830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10135 : (TARGET_AVX512BW
10136 : && (GET_MODE_NUNITS (V8HImode)
10137 : < GET_MODE_PRECISION (DImode))) &&
10138 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10139 : (TARGET_AVX512VL)))
10140 : return -1;
10141 : return 3510; /* *avx512vl_cmpv8hi3_zero_extenddi */
10142 :
10143 : case 17:
10144 : if (!(
10145 : #line 4638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10146 : (TARGET_AVX512F
10147 : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
10148 : && (GET_MODE_NUNITS (V32HFmode)
10149 : < GET_MODE_PRECISION (DImode))) &&
10150 : #line 320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10151 : (TARGET_AVX512FP16)))
10152 : return -1;
10153 : return 3381; /* *avx512bw_cmpv32hf3_zero_extenddi */
10154 :
10155 : case 18:
10156 : if (!(
10157 : #line 4830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10158 : (TARGET_AVX512BW
10159 : && (GET_MODE_NUNITS (V32QImode)
10160 : < GET_MODE_PRECISION (DImode))) &&
10161 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10162 : (TARGET_AVX512VL)))
10163 : return -1;
10164 : return 3501; /* *avx512vl_cmpv32qi3_zero_extenddi */
10165 :
10166 : case 19:
10167 : if (!
10168 : #line 4830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10169 : (TARGET_AVX512BW
10170 : && (GET_MODE_NUNITS (V32HImode)
10171 : < GET_MODE_PRECISION (DImode))))
10172 : return -1;
10173 : return 3504; /* *avx512bw_cmpv32hi3_zero_extenddi */
10174 :
10175 : case 20:
10176 : if (!
10177 : #line 4830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10178 : (TARGET_AVX512BW
10179 : && (GET_MODE_NUNITS (V64QImode)
10180 : < GET_MODE_PRECISION (DImode))))
10181 : return -1;
10182 : return 3495; /* *avx512bw_cmpv64qi3_zero_extenddi */
10183 :
10184 : default:
10185 : return -1;
10186 : }
10187 :
10188 : default:
10189 : return -1;
10190 : }
10191 :
10192 : case 158:
10193 : if (!const_0_to_7_operand (operands[3], E_SImode))
10194 : return -1;
10195 : switch (GET_MODE (operands[0]))
10196 : {
10197 : case E_SImode:
10198 : switch (pattern1100 (x2,
10199 : E_SImode))
10200 : {
10201 : case 0:
10202 : if (!
10203 : #line 4965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10204 : (TARGET_AVX512BW
10205 : && (GET_MODE_NUNITS (V64QImode)
10206 : < GET_MODE_PRECISION (SImode))))
10207 : return -1;
10208 : return 3602; /* *avx512bw_ucmpv64qi3_zero_extendsi */
10209 :
10210 : case 1:
10211 : if (!(
10212 : #line 4965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10213 : (TARGET_AVX512BW
10214 : && (GET_MODE_NUNITS (V16QImode)
10215 : < GET_MODE_PRECISION (SImode))) &&
10216 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10217 : (TARGET_AVX512VL)))
10218 : return -1;
10219 : return 3605; /* *avx512vl_ucmpv16qi3_zero_extendsi */
10220 :
10221 : case 2:
10222 : if (!(
10223 : #line 4965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10224 : (TARGET_AVX512BW
10225 : && (GET_MODE_NUNITS (V16HImode)
10226 : < GET_MODE_PRECISION (SImode))) &&
10227 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10228 : (TARGET_AVX512VL)))
10229 : return -1;
10230 : return 3614; /* *avx512vl_ucmpv16hi3_zero_extendsi */
10231 :
10232 : case 3:
10233 : if (!
10234 : #line 5054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10235 : (TARGET_AVX512F
10236 : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
10237 : && (GET_MODE_NUNITS (V16SImode)
10238 : < GET_MODE_PRECISION (SImode))))
10239 : return -1;
10240 : return 3679; /* *avx512f_ucmpv16si3_zero_extendsi */
10241 :
10242 : case 4:
10243 : if (!(
10244 : #line 4965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10245 : (TARGET_AVX512BW
10246 : && (GET_MODE_NUNITS (V32QImode)
10247 : < GET_MODE_PRECISION (SImode))) &&
10248 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10249 : (TARGET_AVX512VL)))
10250 : return -1;
10251 : return 3608; /* *avx512vl_ucmpv32qi3_zero_extendsi */
10252 :
10253 : case 5:
10254 : if (!
10255 : #line 4965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10256 : (TARGET_AVX512BW
10257 : && (GET_MODE_NUNITS (V32HImode)
10258 : < GET_MODE_PRECISION (SImode))))
10259 : return -1;
10260 : return 3611; /* *avx512bw_ucmpv32hi3_zero_extendsi */
10261 :
10262 : case 6:
10263 : if (!(
10264 : #line 4965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10265 : (TARGET_AVX512BW
10266 : && (GET_MODE_NUNITS (V8HImode)
10267 : < GET_MODE_PRECISION (SImode))) &&
10268 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10269 : (TARGET_AVX512VL)))
10270 : return -1;
10271 : return 3617; /* *avx512vl_ucmpv8hi3_zero_extendsi */
10272 :
10273 : case 7:
10274 : if (!(
10275 : #line 5054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10276 : (TARGET_AVX512F
10277 : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
10278 : && (GET_MODE_NUNITS (V8SImode)
10279 : < GET_MODE_PRECISION (SImode))) &&
10280 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10281 : (TARGET_AVX512VL)))
10282 : return -1;
10283 : return 3680; /* *avx512vl_ucmpv8si3_zero_extendsi */
10284 :
10285 : case 8:
10286 : if (!(
10287 : #line 5054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10288 : (TARGET_AVX512F
10289 : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
10290 : && (GET_MODE_NUNITS (V4SImode)
10291 : < GET_MODE_PRECISION (SImode))) &&
10292 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10293 : (TARGET_AVX512VL)))
10294 : return -1;
10295 : return 3681; /* *avx512vl_ucmpv4si3_zero_extendsi */
10296 :
10297 : case 9:
10298 : if (!
10299 : #line 5054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10300 : (TARGET_AVX512F
10301 : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
10302 : && (GET_MODE_NUNITS (V8DImode)
10303 : < GET_MODE_PRECISION (SImode))))
10304 : return -1;
10305 : return 3682; /* *avx512f_ucmpv8di3_zero_extendsi */
10306 :
10307 : case 10:
10308 : if (!(
10309 : #line 5054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10310 : (TARGET_AVX512F
10311 : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
10312 : && (GET_MODE_NUNITS (V4DImode)
10313 : < GET_MODE_PRECISION (SImode))) &&
10314 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10315 : (TARGET_AVX512VL)))
10316 : return -1;
10317 : return 3683; /* *avx512vl_ucmpv4di3_zero_extendsi */
10318 :
10319 : case 11:
10320 : if (!(
10321 : #line 5054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10322 : (TARGET_AVX512F
10323 : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
10324 : && (GET_MODE_NUNITS (V2DImode)
10325 : < GET_MODE_PRECISION (SImode))) &&
10326 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10327 : (TARGET_AVX512VL)))
10328 : return -1;
10329 : return 3684; /* *avx512vl_ucmpv2di3_zero_extendsi */
10330 :
10331 : default:
10332 : return -1;
10333 : }
10334 :
10335 : case E_DImode:
10336 : switch (pattern1100 (x2,
10337 : E_DImode))
10338 : {
10339 : case 0:
10340 : if (!
10341 : #line 4965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10342 : (TARGET_AVX512BW
10343 : && (GET_MODE_NUNITS (V64QImode)
10344 : < GET_MODE_PRECISION (DImode))))
10345 : return -1;
10346 : return 3603; /* *avx512bw_ucmpv64qi3_zero_extenddi */
10347 :
10348 : case 1:
10349 : if (!(
10350 : #line 4965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10351 : (TARGET_AVX512BW
10352 : && (GET_MODE_NUNITS (V16QImode)
10353 : < GET_MODE_PRECISION (DImode))) &&
10354 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10355 : (TARGET_AVX512VL)))
10356 : return -1;
10357 : return 3606; /* *avx512vl_ucmpv16qi3_zero_extenddi */
10358 :
10359 : case 2:
10360 : if (!(
10361 : #line 4965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10362 : (TARGET_AVX512BW
10363 : && (GET_MODE_NUNITS (V16HImode)
10364 : < GET_MODE_PRECISION (DImode))) &&
10365 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10366 : (TARGET_AVX512VL)))
10367 : return -1;
10368 : return 3615; /* *avx512vl_ucmpv16hi3_zero_extenddi */
10369 :
10370 : case 3:
10371 : if (!
10372 : #line 5054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10373 : (TARGET_AVX512F
10374 : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
10375 : && (GET_MODE_NUNITS (V16SImode)
10376 : < GET_MODE_PRECISION (DImode))))
10377 : return -1;
10378 : return 3685; /* *avx512f_ucmpv16si3_zero_extenddi */
10379 :
10380 : case 4:
10381 : if (!(
10382 : #line 4965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10383 : (TARGET_AVX512BW
10384 : && (GET_MODE_NUNITS (V32QImode)
10385 : < GET_MODE_PRECISION (DImode))) &&
10386 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10387 : (TARGET_AVX512VL)))
10388 : return -1;
10389 : return 3609; /* *avx512vl_ucmpv32qi3_zero_extenddi */
10390 :
10391 : case 5:
10392 : if (!
10393 : #line 4965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10394 : (TARGET_AVX512BW
10395 : && (GET_MODE_NUNITS (V32HImode)
10396 : < GET_MODE_PRECISION (DImode))))
10397 : return -1;
10398 : return 3612; /* *avx512bw_ucmpv32hi3_zero_extenddi */
10399 :
10400 : case 6:
10401 : if (!(
10402 : #line 4965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10403 : (TARGET_AVX512BW
10404 : && (GET_MODE_NUNITS (V8HImode)
10405 : < GET_MODE_PRECISION (DImode))) &&
10406 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10407 : (TARGET_AVX512VL)))
10408 : return -1;
10409 : return 3618; /* *avx512vl_ucmpv8hi3_zero_extenddi */
10410 :
10411 : case 7:
10412 : if (!(
10413 : #line 5054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10414 : (TARGET_AVX512F
10415 : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
10416 : && (GET_MODE_NUNITS (V8SImode)
10417 : < GET_MODE_PRECISION (DImode))) &&
10418 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10419 : (TARGET_AVX512VL)))
10420 : return -1;
10421 : return 3686; /* *avx512vl_ucmpv8si3_zero_extenddi */
10422 :
10423 : case 8:
10424 : if (!(
10425 : #line 5054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10426 : (TARGET_AVX512F
10427 : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
10428 : && (GET_MODE_NUNITS (V4SImode)
10429 : < GET_MODE_PRECISION (DImode))) &&
10430 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10431 : (TARGET_AVX512VL)))
10432 : return -1;
10433 : return 3687; /* *avx512vl_ucmpv4si3_zero_extenddi */
10434 :
10435 : case 9:
10436 : if (!
10437 : #line 5054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10438 : (TARGET_AVX512F
10439 : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
10440 : && (GET_MODE_NUNITS (V8DImode)
10441 : < GET_MODE_PRECISION (DImode))))
10442 : return -1;
10443 : return 3688; /* *avx512f_ucmpv8di3_zero_extenddi */
10444 :
10445 : case 10:
10446 : if (!(
10447 : #line 5054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10448 : (TARGET_AVX512F
10449 : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
10450 : && (GET_MODE_NUNITS (V4DImode)
10451 : < GET_MODE_PRECISION (DImode))) &&
10452 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10453 : (TARGET_AVX512VL)))
10454 : return -1;
10455 : return 3689; /* *avx512vl_ucmpv4di3_zero_extenddi */
10456 :
10457 : case 11:
10458 : if (!(
10459 : #line 5054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10460 : (TARGET_AVX512F
10461 : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
10462 : && (GET_MODE_NUNITS (V2DImode)
10463 : < GET_MODE_PRECISION (DImode))) &&
10464 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10465 : (TARGET_AVX512VL)))
10466 : return -1;
10467 : return 3690; /* *avx512vl_ucmpv2di3_zero_extenddi */
10468 :
10469 : default:
10470 : return -1;
10471 : }
10472 :
10473 : default:
10474 : return -1;
10475 : }
10476 :
10477 : default:
10478 : return -1;
10479 : }
10480 :
10481 : default:
10482 : return -1;
10483 : }
10484 : }
10485 :
10486 : int
10487 : recog_134 (rtx x1 ATTRIBUTE_UNUSED,
10488 : rtx_insn *insn ATTRIBUTE_UNUSED,
10489 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10490 : {
10491 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10492 : rtx x2, x3, x4, x5, x6, x7;
10493 : int res ATTRIBUTE_UNUSED;
10494 : x2 = XEXP (x1, 1);
10495 : x3 = XEXP (x2, 0);
10496 : x4 = XVECEXP (x3, 0, 0);
10497 : operands[1] = x4;
10498 : x5 = XVECEXP (x3, 0, 1);
10499 : operands[2] = x5;
10500 : x6 = XEXP (x2, 2);
10501 : switch (GET_CODE (x6))
10502 : {
10503 : case CONST_INT:
10504 : if (XWINT (x6, 0) != 1L)
10505 : return -1;
10506 : switch (pattern460 (x2))
10507 : {
10508 : case 0:
10509 : if (!(
10510 : #line 13937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10511 : (TARGET_AVX512F) &&
10512 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10513 : (TARGET_AVX512FP16)))
10514 : return -1;
10515 : return 5429; /* avx512f_vmscalefv8hf */
10516 :
10517 : case 1:
10518 : if (!
10519 : #line 13937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10520 : (TARGET_AVX512F))
10521 : return -1;
10522 : return 5433; /* avx512f_vmscalefv4sf */
10523 :
10524 : case 2:
10525 : if (!(
10526 : #line 13937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10527 : (TARGET_AVX512F) &&
10528 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10529 : (TARGET_SSE2)))
10530 : return -1;
10531 : return 5437; /* avx512f_vmscalefv2df */
10532 :
10533 : default:
10534 : return -1;
10535 : }
10536 :
10537 : case REG:
10538 : case SUBREG:
10539 : operands[4] = x6;
10540 : x7 = XEXP (x2, 1);
10541 : operands[3] = x7;
10542 : switch (GET_MODE (operands[0]))
10543 : {
10544 : case E_V32HFmode:
10545 : if (pattern1120 (x2,
10546 : E_V32HFmode,
10547 : E_SImode) != 0
10548 : || !(
10549 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10550 : (TARGET_AVX512F) && (
10551 : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10552 : (TARGET_AVX512F) &&
10553 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10554 : (TARGET_AVX512FP16))))
10555 : return -1;
10556 : return 5443; /* avx512bw_scalefv32hf_mask */
10557 :
10558 : case E_V16HFmode:
10559 : if (pattern1120 (x2,
10560 : E_V16HFmode,
10561 : E_HImode) != 0
10562 : || !(
10563 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10564 : (TARGET_AVX512F) && (
10565 : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10566 : (TARGET_AVX512F) &&
10567 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10568 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
10569 : return -1;
10570 : return 5447; /* avx512vl_scalefv16hf_mask */
10571 :
10572 : case E_V8HFmode:
10573 : if (pattern1120 (x2,
10574 : E_V8HFmode,
10575 : E_QImode) != 0
10576 : || !(
10577 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10578 : (TARGET_AVX512F) && (
10579 : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10580 : (TARGET_AVX512F) &&
10581 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10582 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
10583 : return -1;
10584 : return 5451; /* avx512fp16_scalefv8hf_mask */
10585 :
10586 : case E_V16SFmode:
10587 : if (pattern1120 (x2,
10588 : E_V16SFmode,
10589 : E_HImode) != 0
10590 : || !
10591 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10592 : (TARGET_AVX512F))
10593 : return -1;
10594 : return 5455; /* avx512f_scalefv16sf_mask */
10595 :
10596 : case E_V8SFmode:
10597 : if (pattern1120 (x2,
10598 : E_V8SFmode,
10599 : E_QImode) != 0
10600 : || !(
10601 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10602 : (TARGET_AVX512F) && (
10603 : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10604 : (TARGET_AVX512F) &&
10605 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10606 : (TARGET_AVX512VL))))
10607 : return -1;
10608 : return 5459; /* avx512vl_scalefv8sf_mask */
10609 :
10610 : case E_V4SFmode:
10611 : if (pattern1120 (x2,
10612 : E_V4SFmode,
10613 : E_QImode) != 0
10614 : || !(
10615 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10616 : (TARGET_AVX512F) && (
10617 : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10618 : (TARGET_AVX512F) &&
10619 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10620 : (TARGET_AVX512VL))))
10621 : return -1;
10622 : return 5463; /* avx512vl_scalefv4sf_mask */
10623 :
10624 : case E_V8DFmode:
10625 : if (pattern1120 (x2,
10626 : E_V8DFmode,
10627 : E_QImode) != 0
10628 : || !
10629 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10630 : (TARGET_AVX512F))
10631 : return -1;
10632 : return 5467; /* avx512f_scalefv8df_mask */
10633 :
10634 : case E_V4DFmode:
10635 : if (pattern1120 (x2,
10636 : E_V4DFmode,
10637 : E_QImode) != 0
10638 : || !(
10639 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10640 : (TARGET_AVX512F) && (
10641 : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10642 : (TARGET_AVX512F) &&
10643 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10644 : (TARGET_AVX512VL))))
10645 : return -1;
10646 : return 5471; /* avx512vl_scalefv4df_mask */
10647 :
10648 : case E_V2DFmode:
10649 : if (pattern1120 (x2,
10650 : E_V2DFmode,
10651 : E_QImode) != 0
10652 : || !(
10653 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10654 : (TARGET_AVX512F) && (
10655 : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10656 : (TARGET_AVX512F) &&
10657 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10658 : (TARGET_AVX512VL))))
10659 : return -1;
10660 : return 5475; /* avx512vl_scalefv2df_mask */
10661 :
10662 : default:
10663 : return -1;
10664 : }
10665 :
10666 : default:
10667 : return -1;
10668 : }
10669 : }
10670 :
10671 : int
10672 : recog_141 (rtx x1 ATTRIBUTE_UNUSED,
10673 : rtx_insn *insn ATTRIBUTE_UNUSED,
10674 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10675 : {
10676 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10677 : rtx x2, x3, x4, x5, x6, x7, x8;
10678 : int res ATTRIBUTE_UNUSED;
10679 : x2 = XEXP (x1, 1);
10680 : x3 = XEXP (x2, 0);
10681 : x4 = XVECEXP (x3, 0, 0);
10682 : operands[1] = x4;
10683 : x5 = XVECEXP (x3, 0, 1);
10684 : operands[2] = x5;
10685 : x6 = XVECEXP (x3, 0, 2);
10686 : operands[3] = x6;
10687 : if (!const_0_to_15_operand (operands[3], E_SImode))
10688 : return -1;
10689 : x7 = XEXP (x2, 2);
10690 : switch (GET_CODE (x7))
10691 : {
10692 : case REG:
10693 : case SUBREG:
10694 : operands[5] = x7;
10695 : x8 = XEXP (x2, 1);
10696 : operands[4] = x8;
10697 : switch (GET_MODE (operands[0]))
10698 : {
10699 : case E_V16SFmode:
10700 : if (pattern475 (x2,
10701 : E_V16SFmode,
10702 : E_HImode) != 0
10703 : || !(
10704 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10705 : (TARGET_AVX512F) &&
10706 : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10707 : (TARGET_AVX512DQ && 1)))
10708 : return -1;
10709 : return 10033; /* avx512dq_rangepv16sf_mask */
10710 :
10711 : case E_V8SFmode:
10712 : if (pattern475 (x2,
10713 : E_V8SFmode,
10714 : E_QImode) != 0
10715 : || !(
10716 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10717 : (TARGET_AVX512F) && (
10718 : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10719 : (TARGET_AVX512DQ && 1) &&
10720 : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10721 : (TARGET_AVX512VL))))
10722 : return -1;
10723 : return 10036; /* avx512dq_rangepv8sf_mask */
10724 :
10725 : case E_V4SFmode:
10726 : if (pattern475 (x2,
10727 : E_V4SFmode,
10728 : E_QImode) != 0
10729 : || !(
10730 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10731 : (TARGET_AVX512F) && (
10732 : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10733 : (TARGET_AVX512DQ && 1) &&
10734 : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10735 : (TARGET_AVX512VL))))
10736 : return -1;
10737 : return 10038; /* avx512dq_rangepv4sf_mask */
10738 :
10739 : case E_V8DFmode:
10740 : if (pattern475 (x2,
10741 : E_V8DFmode,
10742 : E_QImode) != 0
10743 : || !(
10744 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10745 : (TARGET_AVX512F) &&
10746 : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10747 : (TARGET_AVX512DQ && 1)))
10748 : return -1;
10749 : return 10041; /* avx512dq_rangepv8df_mask */
10750 :
10751 : case E_V4DFmode:
10752 : if (pattern475 (x2,
10753 : E_V4DFmode,
10754 : E_QImode) != 0
10755 : || !(
10756 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10757 : (TARGET_AVX512F) && (
10758 : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10759 : (TARGET_AVX512DQ && 1) &&
10760 : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10761 : (TARGET_AVX512VL))))
10762 : return -1;
10763 : return 10044; /* avx512dq_rangepv4df_mask */
10764 :
10765 : case E_V2DFmode:
10766 : if (pattern475 (x2,
10767 : E_V2DFmode,
10768 : E_QImode) != 0
10769 : || !(
10770 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10771 : (TARGET_AVX512F) && (
10772 : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10773 : (TARGET_AVX512DQ && 1) &&
10774 : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10775 : (TARGET_AVX512VL))))
10776 : return -1;
10777 : return 10046; /* avx512dq_rangepv2df_mask */
10778 :
10779 : default:
10780 : return -1;
10781 : }
10782 :
10783 : case CONST_INT:
10784 : if (XWINT (x7, 0) != 1L)
10785 : return -1;
10786 : switch (pattern1121 (x2))
10787 : {
10788 : case 0:
10789 : if (!
10790 : #line 30536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10791 : (TARGET_AVX512DQ))
10792 : return -1;
10793 : return 10047; /* avx512dq_rangesv4sf */
10794 :
10795 : case 1:
10796 : if (!(
10797 : #line 30536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10798 : (TARGET_AVX512DQ) &&
10799 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10800 : (TARGET_SSE2)))
10801 : return -1;
10802 : return 10051; /* avx512dq_rangesv2df */
10803 :
10804 : default:
10805 : return -1;
10806 : }
10807 :
10808 : default:
10809 : return -1;
10810 : }
10811 : }
10812 :
10813 : int
10814 : recog_146 (rtx x1 ATTRIBUTE_UNUSED,
10815 : rtx_insn *insn ATTRIBUTE_UNUSED,
10816 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10817 : {
10818 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10819 : rtx x2;
10820 : int res ATTRIBUTE_UNUSED;
10821 : x2 = XEXP (x1, 1);
10822 : switch (pattern481 (x2))
10823 : {
10824 : case 0:
10825 : if (!(
10826 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10827 : (TARGET_AVX512F) &&
10828 : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10829 : (TARGET_AVX512VBMI2)))
10830 : return -1;
10831 : return 10275; /* vpshld_v32hi_mask */
10832 :
10833 : case 1:
10834 : if (!(
10835 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10836 : (TARGET_AVX512F) &&
10837 : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10838 : (TARGET_AVX512VBMI2)))
10839 : return -1;
10840 : return 10277; /* vpshld_v16si_mask */
10841 :
10842 : case 2:
10843 : if (!(
10844 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10845 : (TARGET_AVX512F) &&
10846 : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10847 : (TARGET_AVX512VBMI2)))
10848 : return -1;
10849 : return 10279; /* vpshld_v8di_mask */
10850 :
10851 : case 3:
10852 : if (!(
10853 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10854 : (TARGET_AVX512F) && (
10855 : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10856 : (TARGET_AVX512VBMI2) &&
10857 : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10858 : (TARGET_AVX512VL))))
10859 : return -1;
10860 : return 10281; /* vpshld_v16hi_mask */
10861 :
10862 : case 4:
10863 : if (!(
10864 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10865 : (TARGET_AVX512F) && (
10866 : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10867 : (TARGET_AVX512VBMI2) &&
10868 : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10869 : (TARGET_AVX512VL))))
10870 : return -1;
10871 : return 10283; /* vpshld_v8si_mask */
10872 :
10873 : case 5:
10874 : if (!(
10875 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10876 : (TARGET_AVX512F) && (
10877 : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10878 : (TARGET_AVX512VBMI2) &&
10879 : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10880 : (TARGET_AVX512VL))))
10881 : return -1;
10882 : return 10285; /* vpshld_v4di_mask */
10883 :
10884 : case 6:
10885 : if (!(
10886 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10887 : (TARGET_AVX512F) && (
10888 : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10889 : (TARGET_AVX512VBMI2) &&
10890 : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10891 : (TARGET_AVX512VL))))
10892 : return -1;
10893 : return 10287; /* vpshld_v8hi_mask */
10894 :
10895 : case 7:
10896 : if (!(
10897 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10898 : (TARGET_AVX512F) && (
10899 : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10900 : (TARGET_AVX512VBMI2) &&
10901 : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10902 : (TARGET_AVX512VL))))
10903 : return -1;
10904 : return 10289; /* vpshld_v4si_mask */
10905 :
10906 : case 8:
10907 : if (!(
10908 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10909 : (TARGET_AVX512F) && (
10910 : #line 31108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10911 : (TARGET_AVX512VBMI2) &&
10912 : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10913 : (TARGET_AVX512VL))))
10914 : return -1;
10915 : return 10291; /* vpshld_v2di_mask */
10916 :
10917 : default:
10918 : return -1;
10919 : }
10920 : }
10921 :
10922 : int
10923 : recog_153 (rtx x1 ATTRIBUTE_UNUSED,
10924 : rtx_insn *insn ATTRIBUTE_UNUSED,
10925 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10926 : {
10927 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10928 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
10929 : rtx x10;
10930 : int res ATTRIBUTE_UNUSED;
10931 : x2 = XEXP (x1, 1);
10932 : x3 = XEXP (x2, 0);
10933 : x4 = XEXP (x3, 0);
10934 : x5 = XEXP (x4, 1);
10935 : if (GET_CODE (x5) != PARALLEL)
10936 : return -1;
10937 : switch (XVECLEN (x5, 0))
10938 : {
10939 : case 1:
10940 : x6 = XVECEXP (x5, 0, 0);
10941 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
10942 : return -1;
10943 : x7 = XEXP (x2, 2);
10944 : switch (GET_CODE (x7))
10945 : {
10946 : case CONST_INT:
10947 : if (XWINT (x7, 0) != 1L)
10948 : return -1;
10949 : switch (pattern1014 (x2))
10950 : {
10951 : case 0:
10952 : if (!
10953 : #line 12366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10954 : (TARGET_SSE2 && ix86_pre_reload_split ()))
10955 : return -1;
10956 : return 5315; /* *vec_setv8hi_0_1 */
10957 :
10958 : case 1:
10959 : if (!
10960 : #line 12366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10961 : (TARGET_SSE2 && ix86_pre_reload_split ()))
10962 : return -1;
10963 : return 5316; /* *vec_setv8hf_0_1 */
10964 :
10965 : case 2:
10966 : if (!
10967 : #line 12366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10968 : (TARGET_SSE2 && ix86_pre_reload_split ()))
10969 : return -1;
10970 : return 5317; /* *vec_setv8bf_0_1 */
10971 :
10972 : default:
10973 : return -1;
10974 : }
10975 :
10976 : case REG:
10977 : case SUBREG:
10978 : operands[3] = x7;
10979 : x8 = XEXP (x4, 0);
10980 : operands[1] = x8;
10981 : x9 = XEXP (x2, 1);
10982 : operands[2] = x9;
10983 : switch (GET_MODE (operands[0]))
10984 : {
10985 : case E_V16SImode:
10986 : if (pattern1291 (x2,
10987 : E_V16SImode,
10988 : E_HImode,
10989 : E_V4SImode,
10990 : E_SImode) != 0
10991 : || !
10992 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10993 : (TARGET_AVX512F))
10994 : return -1;
10995 : return 9252; /* avx512f_vec_dupv16si_mask */
10996 :
10997 : case E_V8SImode:
10998 : if (pattern1291 (x2,
10999 : E_V8SImode,
11000 : E_QImode,
11001 : E_V4SImode,
11002 : E_SImode) != 0
11003 : || !(
11004 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11005 : (TARGET_AVX512F) && (
11006 : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11007 : (TARGET_AVX512F) &&
11008 : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11009 : (TARGET_AVX512VL))))
11010 : return -1;
11011 : return 9254; /* avx512vl_vec_dupv8si_mask */
11012 :
11013 : case E_V4SImode:
11014 : if (pattern1292 (x2,
11015 : E_V4SImode,
11016 : E_SImode,
11017 : E_QImode) != 0
11018 : || !(
11019 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11020 : (TARGET_AVX512F) && (
11021 : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11022 : (TARGET_AVX512F) &&
11023 : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11024 : (TARGET_AVX512VL))))
11025 : return -1;
11026 : return 9256; /* avx512vl_vec_dupv4si_mask */
11027 :
11028 : case E_V8DImode:
11029 : if (pattern1291 (x2,
11030 : E_V8DImode,
11031 : E_QImode,
11032 : E_V2DImode,
11033 : E_DImode) != 0
11034 : || !
11035 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11036 : (TARGET_AVX512F))
11037 : return -1;
11038 : return 9258; /* avx512f_vec_dupv8di_mask */
11039 :
11040 : case E_V4DImode:
11041 : if (pattern1291 (x2,
11042 : E_V4DImode,
11043 : E_QImode,
11044 : E_V2DImode,
11045 : E_DImode) != 0
11046 : || !(
11047 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11048 : (TARGET_AVX512F) && (
11049 : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11050 : (TARGET_AVX512F) &&
11051 : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11052 : (TARGET_AVX512VL))))
11053 : return -1;
11054 : return 9260; /* avx512vl_vec_dupv4di_mask */
11055 :
11056 : case E_V2DImode:
11057 : if (pattern1292 (x2,
11058 : E_V2DImode,
11059 : E_DImode,
11060 : E_QImode) != 0
11061 : || !(
11062 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11063 : (TARGET_AVX512F) && (
11064 : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11065 : (TARGET_AVX512F) &&
11066 : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11067 : (TARGET_AVX512VL))))
11068 : return -1;
11069 : return 9262; /* avx512vl_vec_dupv2di_mask */
11070 :
11071 : case E_V16SFmode:
11072 : if (pattern1291 (x2,
11073 : E_V16SFmode,
11074 : E_HImode,
11075 : E_V4SFmode,
11076 : E_SFmode) != 0
11077 : || !
11078 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11079 : (TARGET_AVX512F))
11080 : return -1;
11081 : return 9264; /* avx512f_vec_dupv16sf_mask */
11082 :
11083 : case E_V8SFmode:
11084 : if (pattern1291 (x2,
11085 : E_V8SFmode,
11086 : E_QImode,
11087 : E_V4SFmode,
11088 : E_SFmode) != 0
11089 : || !(
11090 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11091 : (TARGET_AVX512F) && (
11092 : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11093 : (TARGET_AVX512F) &&
11094 : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11095 : (TARGET_AVX512VL))))
11096 : return -1;
11097 : return 9266; /* avx512vl_vec_dupv8sf_mask */
11098 :
11099 : case E_V4SFmode:
11100 : if (pattern1292 (x2,
11101 : E_V4SFmode,
11102 : E_SFmode,
11103 : E_QImode) != 0
11104 : || !(
11105 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11106 : (TARGET_AVX512F) && (
11107 : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11108 : (TARGET_AVX512F) &&
11109 : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11110 : (TARGET_AVX512VL))))
11111 : return -1;
11112 : return 9268; /* avx512vl_vec_dupv4sf_mask */
11113 :
11114 : case E_V8DFmode:
11115 : if (pattern1291 (x2,
11116 : E_V8DFmode,
11117 : E_QImode,
11118 : E_V2DFmode,
11119 : E_DFmode) != 0
11120 : || !
11121 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11122 : (TARGET_AVX512F))
11123 : return -1;
11124 : return 9270; /* avx512f_vec_dupv8df_mask */
11125 :
11126 : case E_V4DFmode:
11127 : if (pattern1291 (x2,
11128 : E_V4DFmode,
11129 : E_QImode,
11130 : E_V2DFmode,
11131 : E_DFmode) != 0
11132 : || !(
11133 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11134 : (TARGET_AVX512F) && (
11135 : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11136 : (TARGET_AVX512F) &&
11137 : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11138 : (TARGET_AVX512VL))))
11139 : return -1;
11140 : return 9272; /* avx512vl_vec_dupv4df_mask */
11141 :
11142 : case E_V2DFmode:
11143 : if (pattern1292 (x2,
11144 : E_V2DFmode,
11145 : E_DFmode,
11146 : E_QImode) != 0
11147 : || !(
11148 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11149 : (TARGET_AVX512F) && (
11150 : #line 28403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11151 : (TARGET_AVX512F) &&
11152 : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11153 : (TARGET_AVX512VL))))
11154 : return -1;
11155 : return 9274; /* avx512vl_vec_dupv2df_mask */
11156 :
11157 : case E_V64QImode:
11158 : if (pattern1291 (x2,
11159 : E_V64QImode,
11160 : E_DImode,
11161 : E_V16QImode,
11162 : E_QImode) != 0
11163 : || !(
11164 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11165 : (TARGET_AVX512F) &&
11166 : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11167 : (TARGET_AVX512BW)))
11168 : return -1;
11169 : return 9276; /* avx512bw_vec_dupv64qi_mask */
11170 :
11171 : case E_V16QImode:
11172 : if (pattern1292 (x2,
11173 : E_V16QImode,
11174 : E_QImode,
11175 : E_HImode) != 0
11176 : || !(
11177 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11178 : (TARGET_AVX512F) && (
11179 : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11180 : (TARGET_AVX512BW) &&
11181 : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11182 : (TARGET_AVX512VL))))
11183 : return -1;
11184 : return 9278; /* avx512vl_vec_dupv16qi_mask */
11185 :
11186 : case E_V32QImode:
11187 : if (pattern1291 (x2,
11188 : E_V32QImode,
11189 : E_SImode,
11190 : E_V16QImode,
11191 : E_QImode) != 0
11192 : || !(
11193 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11194 : (TARGET_AVX512F) && (
11195 : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11196 : (TARGET_AVX512BW) &&
11197 : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11198 : (TARGET_AVX512VL))))
11199 : return -1;
11200 : return 9280; /* avx512vl_vec_dupv32qi_mask */
11201 :
11202 : case E_V32HImode:
11203 : if (pattern1291 (x2,
11204 : E_V32HImode,
11205 : E_SImode,
11206 : E_V8HImode,
11207 : E_HImode) != 0
11208 : || !(
11209 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11210 : (TARGET_AVX512F) &&
11211 : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11212 : (TARGET_AVX512BW)))
11213 : return -1;
11214 : return 9282; /* avx512bw_vec_dupv32hi_mask */
11215 :
11216 : case E_V16HImode:
11217 : if (pattern778 (x2,
11218 : E_HImode,
11219 : E_V16HImode) != 0
11220 : || !nonimmediate_operand (operands[1], E_V8HImode)
11221 : || !nonimm_or_0_operand (operands[2], E_V16HImode)
11222 : || !register_operand (operands[3], E_HImode)
11223 : || !(
11224 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11225 : (TARGET_AVX512F) && (
11226 : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11227 : (TARGET_AVX512BW) &&
11228 : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11229 : (TARGET_AVX512VL))))
11230 : return -1;
11231 : return 9284; /* avx512vl_vec_dupv16hi_mask */
11232 :
11233 : case E_V8HImode:
11234 : if (pattern1292 (x2,
11235 : E_V8HImode,
11236 : E_HImode,
11237 : E_QImode) != 0
11238 : || !(
11239 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11240 : (TARGET_AVX512F) && (
11241 : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11242 : (TARGET_AVX512BW) &&
11243 : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11244 : (TARGET_AVX512VL))))
11245 : return -1;
11246 : return 9286; /* avx512vl_vec_dupv8hi_mask */
11247 :
11248 : case E_V32HFmode:
11249 : if (pattern1291 (x2,
11250 : E_V32HFmode,
11251 : E_SImode,
11252 : E_V8HFmode,
11253 : E_HFmode) != 0
11254 : || !(
11255 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11256 : (TARGET_AVX512F) &&
11257 : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11258 : (TARGET_AVX512BW)))
11259 : return -1;
11260 : return 9288; /* avx512bw_vec_dupv32hf_mask */
11261 :
11262 : case E_V16HFmode:
11263 : if (pattern1291 (x2,
11264 : E_V16HFmode,
11265 : E_HImode,
11266 : E_V8HFmode,
11267 : E_HFmode) != 0
11268 : || !(
11269 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11270 : (TARGET_AVX512F) && (
11271 : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11272 : (TARGET_AVX512BW) &&
11273 : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11274 : (TARGET_AVX512VL))))
11275 : return -1;
11276 : return 9290; /* avx512vl_vec_dupv16hf_mask */
11277 :
11278 : case E_V8HFmode:
11279 : if (pattern1292 (x2,
11280 : E_V8HFmode,
11281 : E_HFmode,
11282 : E_QImode) != 0
11283 : || !(
11284 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11285 : (TARGET_AVX512F) && (
11286 : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11287 : (TARGET_AVX512BW) &&
11288 : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11289 : (TARGET_AVX512VL))))
11290 : return -1;
11291 : return 9292; /* avx512fp16_vec_dupv8hf_mask */
11292 :
11293 : case E_V32BFmode:
11294 : if (pattern1291 (x2,
11295 : E_V32BFmode,
11296 : E_SImode,
11297 : E_V8BFmode,
11298 : E_BFmode) != 0
11299 : || !(
11300 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11301 : (TARGET_AVX512F) &&
11302 : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11303 : (TARGET_AVX512BW)))
11304 : return -1;
11305 : return 9294; /* avx512bw_vec_dupv32bf_mask */
11306 :
11307 : case E_V16BFmode:
11308 : if (pattern1291 (x2,
11309 : E_V16BFmode,
11310 : E_HImode,
11311 : E_V8BFmode,
11312 : E_BFmode) != 0
11313 : || !(
11314 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11315 : (TARGET_AVX512F) && (
11316 : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11317 : (TARGET_AVX512BW) &&
11318 : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11319 : (TARGET_AVX512VL))))
11320 : return -1;
11321 : return 9296; /* avx512vl_vec_dupv16bf_mask */
11322 :
11323 : case E_V8BFmode:
11324 : if (pattern1292 (x2,
11325 : E_V8BFmode,
11326 : E_BFmode,
11327 : E_QImode) != 0
11328 : || !(
11329 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11330 : (TARGET_AVX512F) && (
11331 : #line 28422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11332 : (TARGET_AVX512BW) &&
11333 : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11334 : (TARGET_AVX512VL))))
11335 : return -1;
11336 : return 9298; /* avx512vl_vec_dupv8bf_mask */
11337 :
11338 : default:
11339 : return -1;
11340 : }
11341 :
11342 : default:
11343 : return -1;
11344 : }
11345 :
11346 : case 2:
11347 : x6 = XVECEXP (x5, 0, 0);
11348 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
11349 : return -1;
11350 : x10 = XVECEXP (x5, 0, 1);
11351 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
11352 : return -1;
11353 : x8 = XEXP (x4, 0);
11354 : operands[1] = x8;
11355 : x9 = XEXP (x2, 1);
11356 : operands[2] = x9;
11357 : x7 = XEXP (x2, 2);
11358 : operands[3] = x7;
11359 : switch (GET_MODE (operands[0]))
11360 : {
11361 : case E_V16SImode:
11362 : if (pattern1291 (x2,
11363 : E_V16SImode,
11364 : E_HImode,
11365 : E_V4SImode,
11366 : E_V2SImode) != 0
11367 : || !(
11368 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11369 : (TARGET_AVX512F) &&
11370 : #line 28743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11371 : (TARGET_AVX512DQ)))
11372 : return -1;
11373 : return 9394; /* avx512dq_broadcastv16si_mask */
11374 :
11375 : case E_V8SImode:
11376 : if (pattern1291 (x2,
11377 : E_V8SImode,
11378 : E_QImode,
11379 : E_V4SImode,
11380 : E_V2SImode) != 0
11381 : || !(
11382 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11383 : (TARGET_AVX512F) && (
11384 : #line 28743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11385 : (TARGET_AVX512DQ) &&
11386 : #line 28727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11387 : (TARGET_AVX512VL))))
11388 : return -1;
11389 : return 9396; /* avx512dq_broadcastv8si_mask */
11390 :
11391 : case E_V4SImode:
11392 : if (pattern1292 (x2,
11393 : E_V4SImode,
11394 : E_V2SImode,
11395 : E_QImode) != 0
11396 : || !(
11397 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11398 : (TARGET_AVX512F) && (
11399 : #line 28743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11400 : (TARGET_AVX512DQ) &&
11401 : #line 28727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11402 : (TARGET_AVX512VL))))
11403 : return -1;
11404 : return 9398; /* avx512dq_broadcastv4si_mask */
11405 :
11406 : case E_V16SFmode:
11407 : if (pattern1291 (x2,
11408 : E_V16SFmode,
11409 : E_HImode,
11410 : E_V4SFmode,
11411 : E_V2SFmode) != 0
11412 : || !(
11413 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11414 : (TARGET_AVX512F) &&
11415 : #line 28743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11416 : (TARGET_AVX512DQ)))
11417 : return -1;
11418 : return 9400; /* avx512dq_broadcastv16sf_mask */
11419 :
11420 : case E_V8SFmode:
11421 : if (pattern1291 (x2,
11422 : E_V8SFmode,
11423 : E_QImode,
11424 : E_V4SFmode,
11425 : E_V2SFmode) != 0
11426 : || !(
11427 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11428 : (TARGET_AVX512F) && (
11429 : #line 28743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11430 : (TARGET_AVX512DQ) &&
11431 : #line 28728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11432 : (TARGET_AVX512VL))))
11433 : return -1;
11434 : return 9402; /* avx512dq_broadcastv8sf_mask */
11435 :
11436 : default:
11437 : return -1;
11438 : }
11439 :
11440 : default:
11441 : return -1;
11442 : }
11443 : }
11444 :
11445 : int
11446 : recog_160 (rtx x1 ATTRIBUTE_UNUSED,
11447 : rtx_insn *insn ATTRIBUTE_UNUSED,
11448 : int *pnum_clobbers ATTRIBUTE_UNUSED)
11449 : {
11450 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
11451 : rtx x2, x3, x4, x5, x6, x7;
11452 : int res ATTRIBUTE_UNUSED;
11453 : x2 = XEXP (x1, 1);
11454 : x3 = XEXP (x2, 1);
11455 : switch (GET_CODE (x3))
11456 : {
11457 : case CONST_INT:
11458 : case CONST_WIDE_INT:
11459 : case CONST_POLY_INT:
11460 : case CONST_FIXED:
11461 : case CONST_DOUBLE:
11462 : case CONST_VECTOR:
11463 : case CONST:
11464 : case REG:
11465 : case SUBREG:
11466 : case MEM:
11467 : case LABEL_REF:
11468 : case SYMBOL_REF:
11469 : case HIGH:
11470 : x4 = XEXP (x2, 2);
11471 : switch (GET_CODE (x4))
11472 : {
11473 : case REG:
11474 : case SUBREG:
11475 : return recog_159 (x1, insn, pnum_clobbers);
11476 :
11477 : case CONST_INT:
11478 : if (XWINT (x4, 0) == 1L)
11479 : {
11480 : switch (GET_MODE (operands[0]))
11481 : {
11482 : case E_V2DImode:
11483 : if (GET_MODE (x2) == E_V2DImode)
11484 : {
11485 : x5 = XEXP (x2, 0);
11486 : if (nonimmediate_operand (x5, E_V2DImode))
11487 : {
11488 : operands[1] = x5;
11489 : if (register_operand (operands[0], E_V2DImode))
11490 : {
11491 : operands[2] = x3;
11492 : if (const0_operand (operands[2], E_V2DImode)
11493 : &&
11494 : #line 1883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11495 : (TARGET_SSE2))
11496 : return 2618; /* *sse2_movq128_v2di_1 */
11497 : }
11498 : operands[2] = x5;
11499 : if (nonimmediate_operand (operands[0], E_V2DImode))
11500 : {
11501 : operands[1] = x3;
11502 : if (nonimmediate_operand (operands[1], E_V2DImode)
11503 : &&
11504 : #line 15171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11505 : (TARGET_SSE2))
11506 : return 7252; /* sse2_movsd_v2di */
11507 : }
11508 : }
11509 : }
11510 : break;
11511 :
11512 : case E_V2DFmode:
11513 : if (GET_MODE (x2) == E_V2DFmode)
11514 : {
11515 : x5 = XEXP (x2, 0);
11516 : if (nonimmediate_operand (x5, E_V2DFmode))
11517 : {
11518 : operands[1] = x5;
11519 : if (register_operand (operands[0], E_V2DFmode))
11520 : {
11521 : operands[2] = x3;
11522 : if (const0_operand (operands[2], E_V2DFmode)
11523 : &&
11524 : #line 1883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11525 : (TARGET_SSE2))
11526 : return 2619; /* *sse2_movq128_v2df_1 */
11527 : }
11528 : operands[2] = x5;
11529 : if (nonimmediate_operand (operands[0], E_V2DFmode))
11530 : {
11531 : operands[1] = x3;
11532 : if (nonimmediate_operand (operands[1], E_V2DFmode)
11533 : &&
11534 : #line 15171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11535 : (TARGET_SSE2))
11536 : return 7253; /* sse2_movsd_v2df */
11537 : }
11538 : }
11539 : }
11540 : break;
11541 :
11542 : case E_V4SImode:
11543 : if (pattern900 (x2,
11544 : E_V4SImode) == 0
11545 : &&
11546 : #line 12026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11547 : (TARGET_SSE))
11548 : return 5292; /* sse_movss_v4si */
11549 : break;
11550 :
11551 : case E_V4SFmode:
11552 : if (pattern900 (x2,
11553 : E_V4SFmode) == 0
11554 : &&
11555 : #line 12026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11556 : (TARGET_SSE))
11557 : return 5293; /* sse_movss_v4sf */
11558 : break;
11559 :
11560 : case E_V8HImode:
11561 : if (pattern900 (x2,
11562 : E_V8HImode) == 0
11563 : &&
11564 : #line 12444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11565 : (TARGET_AVX512FP16
11566 : || (TARGET_AVX10_2 && const0_operand (operands[1], V8HImode))))
11567 : return 5331; /* *avx512fp16_movv8hi */
11568 : break;
11569 :
11570 : case E_V8HFmode:
11571 : if (pattern900 (x2,
11572 : E_V8HFmode) == 0
11573 : &&
11574 : #line 12444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11575 : (TARGET_AVX512FP16
11576 : || (TARGET_AVX10_2 && const0_operand (operands[1], V8HFmode))))
11577 : return 5332; /* *avx512fp16_movv8hf */
11578 : break;
11579 :
11580 : case E_V8BFmode:
11581 : if (pattern900 (x2,
11582 : E_V8BFmode) == 0
11583 : &&
11584 : #line 12444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11585 : (TARGET_AVX512FP16
11586 : || (TARGET_AVX10_2 && const0_operand (operands[1], V8BFmode))))
11587 : return 5333; /* *avx512fp16_movv8bf */
11588 : break;
11589 :
11590 : default:
11591 : break;
11592 : }
11593 : }
11594 : operands[3] = x4;
11595 : x5 = XEXP (x2, 0);
11596 : operands[2] = x5;
11597 : operands[1] = x3;
11598 : switch (GET_MODE (operands[0]))
11599 : {
11600 : case E_V8SFmode:
11601 : if (pattern1128 (x2,
11602 : E_V8SFmode) != 0
11603 : || !(
11604 : #line 23851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11605 : (TARGET_SSE4_1) &&
11606 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11607 : (TARGET_AVX)))
11608 : return -1;
11609 : return 8723; /* avx_blendps256 */
11610 :
11611 : case E_V4SFmode:
11612 : if (pattern1129 (x2,
11613 : E_V4SFmode) != 0
11614 : || !
11615 : #line 23851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11616 : (TARGET_SSE4_1))
11617 : return -1;
11618 : return 8724; /* sse4_1_blendps */
11619 :
11620 : case E_V4DFmode:
11621 : if (pattern1129 (x2,
11622 : E_V4DFmode) != 0
11623 : || !(
11624 : #line 23851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11625 : (TARGET_SSE4_1) &&
11626 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11627 : (TARGET_AVX)))
11628 : return -1;
11629 : return 8725; /* avx_blendpd256 */
11630 :
11631 : case E_V2DFmode:
11632 : if (!register_operand (operands[0], E_V2DFmode)
11633 : || GET_MODE (x2) != E_V2DFmode
11634 : || !vector_operand (operands[2], E_V2DFmode)
11635 : || !register_operand (operands[1], E_V2DFmode)
11636 : || !const_0_to_3_operand (operands[3], E_SImode)
11637 : || !(
11638 : #line 23851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11639 : (TARGET_SSE4_1) &&
11640 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11641 : (TARGET_SSE2)))
11642 : return -1;
11643 : return 8726; /* sse4_1_blendpd */
11644 :
11645 : case E_V8HImode:
11646 : if (pattern1128 (x2,
11647 : E_V8HImode) != 0
11648 : || !
11649 : #line 24349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11650 : (TARGET_SSE4_1))
11651 : return -1;
11652 : return 8788; /* sse4_1_pblendw */
11653 :
11654 : case E_V8HFmode:
11655 : if (pattern1128 (x2,
11656 : E_V8HFmode) != 0
11657 : || !
11658 : #line 24349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11659 : (TARGET_SSE4_1))
11660 : return -1;
11661 : return 8789; /* sse4_1_pblendph */
11662 :
11663 : case E_V8BFmode:
11664 : if (pattern1128 (x2,
11665 : E_V8BFmode) != 0
11666 : || !
11667 : #line 24349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11668 : (TARGET_SSE4_1))
11669 : return -1;
11670 : return 8790; /* sse4_1_pblendbf */
11671 :
11672 : case E_V16HImode:
11673 : if (pattern1130 (x2,
11674 : E_V16HImode) != 0
11675 : || !
11676 : #line 24422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11677 : (TARGET_AVX2))
11678 : return -1;
11679 : return 8791; /* *avx2_pblendw */
11680 :
11681 : case E_V16HFmode:
11682 : if (pattern1130 (x2,
11683 : E_V16HFmode) != 0
11684 : || !
11685 : #line 24422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11686 : (TARGET_AVX2))
11687 : return -1;
11688 : return 8792; /* *avx2_pblendph */
11689 :
11690 : case E_V16BFmode:
11691 : if (pattern1130 (x2,
11692 : E_V16BFmode) != 0
11693 : || !
11694 : #line 24422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11695 : (TARGET_AVX2))
11696 : return -1;
11697 : return 8793; /* *avx2_pblendbf */
11698 :
11699 : case E_V8SImode:
11700 : if (pattern1131 (x2,
11701 : E_V8SImode) != 0
11702 : || !
11703 : #line 24440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11704 : (TARGET_AVX2))
11705 : return -1;
11706 : return 8794; /* avx2_pblenddv8si */
11707 :
11708 : case E_V4SImode:
11709 : if (pattern1131 (x2,
11710 : E_V4SImode) != 0
11711 : || !
11712 : #line 24440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11713 : (TARGET_AVX2))
11714 : return -1;
11715 : return 8795; /* avx2_pblenddv4si */
11716 :
11717 : default:
11718 : return -1;
11719 : }
11720 :
11721 : case UNSPEC:
11722 : if (XVECLEN (x4, 0) != 3
11723 : || XINT (x4, 1) != 60)
11724 : return -1;
11725 : x5 = XEXP (x2, 0);
11726 : operands[1] = x5;
11727 : switch (pattern1017 (x2))
11728 : {
11729 : case 0:
11730 : x6 = XVECEXP (x4, 0, 0);
11731 : operands[3] = x6;
11732 : switch (pattern1476 (x2))
11733 : {
11734 : case 0:
11735 : if ((
11736 : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11737 : (TARGET_SSE && ix86_pre_reload_split ()
11738 : && ((rtx_equal_p (operands[1], operands[3])
11739 : && rtx_equal_p (operands[2], operands[4]))
11740 : || (rtx_equal_p (operands[1], operands[4])
11741 : && rtx_equal_p (operands[2], operands[3])))
11742 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) &&
11743 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11744 : (TARGET_AVX512FP16)))
11745 : return 3092; /* *minmaxv32hf3_1 */
11746 : break;
11747 :
11748 : case 1:
11749 : if ((
11750 : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11751 : (TARGET_SSE && ix86_pre_reload_split ()
11752 : && ((rtx_equal_p (operands[1], operands[3])
11753 : && rtx_equal_p (operands[2], operands[4]))
11754 : || (rtx_equal_p (operands[1], operands[4])
11755 : && rtx_equal_p (operands[2], operands[3])))
11756 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) &&
11757 : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11758 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11759 : return 3093; /* *minmaxv16hf3_1 */
11760 : break;
11761 :
11762 : case 2:
11763 : if ((
11764 : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11765 : (TARGET_SSE && ix86_pre_reload_split ()
11766 : && ((rtx_equal_p (operands[1], operands[3])
11767 : && rtx_equal_p (operands[2], operands[4]))
11768 : || (rtx_equal_p (operands[1], operands[4])
11769 : && rtx_equal_p (operands[2], operands[3])))
11770 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) &&
11771 : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11772 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11773 : return 3094; /* *minmaxv8hf3_1 */
11774 : break;
11775 :
11776 : case 3:
11777 : if ((
11778 : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11779 : (TARGET_SSE && ix86_pre_reload_split ()
11780 : && ((rtx_equal_p (operands[1], operands[3])
11781 : && rtx_equal_p (operands[2], operands[4]))
11782 : || (rtx_equal_p (operands[1], operands[4])
11783 : && rtx_equal_p (operands[2], operands[3])))
11784 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) &&
11785 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11786 : (TARGET_AVX512F)))
11787 : return 3095; /* *minmaxv16sf3_1 */
11788 : break;
11789 :
11790 : case 4:
11791 : if (nonimmediate_operand (operands[1], E_V8SFmode)
11792 : && pattern1686 (
11793 : E_V8SFmode) == 0
11794 : && (
11795 : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11796 : (TARGET_SSE && ix86_pre_reload_split ()
11797 : && ((rtx_equal_p (operands[1], operands[3])
11798 : && rtx_equal_p (operands[2], operands[4]))
11799 : || (rtx_equal_p (operands[1], operands[4])
11800 : && rtx_equal_p (operands[2], operands[3])))
11801 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) &&
11802 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11803 : (TARGET_AVX)))
11804 : return 3096; /* *minmaxv8sf3_1 */
11805 : if (vector_operand (operands[1], E_V8SFmode)
11806 : && pattern1687 (
11807 : E_V8SImode,
11808 : E_V8SFmode) == 0
11809 : && (
11810 : #line 4440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11811 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11812 : /* LT or GE 0 */
11813 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) &&
11814 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11815 : (TARGET_AVX)))
11816 : return 3297; /* *avx_cmpv8sf3_lt */
11817 : break;
11818 :
11819 : case 5:
11820 : if (nonimmediate_operand (operands[1], E_V4SFmode)
11821 : && pattern1686 (
11822 : E_V4SFmode) == 0
11823 : &&
11824 : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11825 : (TARGET_SSE && ix86_pre_reload_split ()
11826 : && ((rtx_equal_p (operands[1], operands[3])
11827 : && rtx_equal_p (operands[2], operands[4]))
11828 : || (rtx_equal_p (operands[1], operands[4])
11829 : && rtx_equal_p (operands[2], operands[3])))
11830 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)))
11831 : return 3097; /* *minmaxv4sf3_1 */
11832 : if (vector_operand (operands[1], E_V4SFmode)
11833 : && pattern1687 (
11834 : E_V4SImode,
11835 : E_V4SFmode) == 0
11836 : &&
11837 : #line 4440 "/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) || (INTVAL (operands[5]) == 5))))
11841 : return 3298; /* *avx_cmpv4sf3_lt */
11842 : break;
11843 :
11844 : case 6:
11845 : if ((
11846 : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11847 : (TARGET_SSE && ix86_pre_reload_split ()
11848 : && ((rtx_equal_p (operands[1], operands[3])
11849 : && rtx_equal_p (operands[2], operands[4]))
11850 : || (rtx_equal_p (operands[1], operands[4])
11851 : && rtx_equal_p (operands[2], operands[3])))
11852 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) &&
11853 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11854 : (TARGET_AVX512F)))
11855 : return 3098; /* *minmaxv8df3_1 */
11856 : break;
11857 :
11858 : case 7:
11859 : if (nonimmediate_operand (operands[1], E_V4DFmode)
11860 : && pattern1686 (
11861 : E_V4DFmode) == 0
11862 : && (
11863 : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11864 : (TARGET_SSE && ix86_pre_reload_split ()
11865 : && ((rtx_equal_p (operands[1], operands[3])
11866 : && rtx_equal_p (operands[2], operands[4]))
11867 : || (rtx_equal_p (operands[1], operands[4])
11868 : && rtx_equal_p (operands[2], operands[3])))
11869 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) &&
11870 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11871 : (TARGET_AVX)))
11872 : return 3099; /* *minmaxv4df3_1 */
11873 : if (vector_operand (operands[1], E_V4DFmode)
11874 : && pattern1687 (
11875 : E_V4DImode,
11876 : E_V4DFmode) == 0
11877 : && (
11878 : #line 4440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11879 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11880 : /* LT or GE 0 */
11881 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) &&
11882 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11883 : (TARGET_AVX)))
11884 : return 3299; /* *avx_cmpv4df3_lt */
11885 : break;
11886 :
11887 : case 8:
11888 : if (nonimmediate_operand (operands[1], E_V2DFmode)
11889 : && pattern1686 (
11890 : E_V2DFmode) == 0
11891 : && (
11892 : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11893 : (TARGET_SSE && ix86_pre_reload_split ()
11894 : && ((rtx_equal_p (operands[1], operands[3])
11895 : && rtx_equal_p (operands[2], operands[4]))
11896 : || (rtx_equal_p (operands[1], operands[4])
11897 : && rtx_equal_p (operands[2], operands[3])))
11898 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) &&
11899 : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11900 : (TARGET_SSE2)))
11901 : return 3100; /* *minmaxv2df3_1 */
11902 : if (vector_operand (operands[1], E_V2DFmode)
11903 : && pattern1687 (
11904 : E_V2DImode,
11905 : E_V2DFmode) == 0
11906 : && (
11907 : #line 4440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11908 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11909 : /* LT or GE 0 */
11910 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) &&
11911 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11912 : (TARGET_SSE2)))
11913 : return 3300; /* *avx_cmpv2df3_lt */
11914 : break;
11915 :
11916 : case 9:
11917 : if (
11918 : #line 4469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11919 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11920 : /* LT or GE 0 */
11921 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))))
11922 : return 3301; /* *avx_cmpv4si3_ltint */
11923 : break;
11924 :
11925 : case 10:
11926 : if (
11927 : #line 4469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11928 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11929 : /* LT or GE 0 */
11930 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))))
11931 : return 3302; /* *avx_cmpv2di3_ltint */
11932 : break;
11933 :
11934 : case 11:
11935 : if ((
11936 : #line 4469 "/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) || (INTVAL (operands[5]) == 5))) &&
11940 : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11941 : (TARGET_AVX)))
11942 : return 3303; /* *avx_cmpv8si3_ltint */
11943 : break;
11944 :
11945 : case 12:
11946 : if ((
11947 : #line 4469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11948 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11949 : /* LT or GE 0 */
11950 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) &&
11951 : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11952 : (TARGET_AVX)))
11953 : return 3304; /* *avx_cmpv4di3_ltint */
11954 : break;
11955 :
11956 : case 13:
11957 : if ((
11958 : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11959 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11960 : /* LT or GE 0 */
11961 : && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[2]))
11962 : || (INTVAL (operands[5]) == 5 && !MEM_P (operands[1])))) &&
11963 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11964 : (TARGET_AVX2)))
11965 : return 7950; /* *avx2_pcmpv32qi3_3 */
11966 : break;
11967 :
11968 : case 14:
11969 : if (
11970 : #line 18370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11971 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11972 : /* LT or GE 0 */
11973 : && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[2]))
11974 : || (INTVAL (operands[5]) == 5 && !MEM_P (operands[1])))))
11975 : return 7951; /* *avx2_pcmpv16qi3_3 */
11976 : break;
11977 :
11978 : default:
11979 : break;
11980 : }
11981 : if (GET_CODE (x6) != SUBREG)
11982 : return -1;
11983 : switch (pattern1479 (x2))
11984 : {
11985 : case 0:
11986 : if (!
11987 : #line 4504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11988 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11989 : /* not LT or GE 0 */
11990 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))))
11991 : return -1;
11992 : return 3305; /* *avx_cmpv4si3_ltint_not */
11993 :
11994 : case 1:
11995 : if (!
11996 : #line 4504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11997 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11998 : /* not LT or GE 0 */
11999 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))))
12000 : return -1;
12001 : return 3306; /* *avx_cmpv2di3_ltint_not */
12002 :
12003 : case 2:
12004 : if (!(
12005 : #line 4504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12006 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12007 : /* not LT or GE 0 */
12008 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) &&
12009 : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12010 : (TARGET_AVX)))
12011 : return -1;
12012 : return 3307; /* *avx_cmpv8si3_ltint_not */
12013 :
12014 : case 3:
12015 : if (!(
12016 : #line 4504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12017 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12018 : /* not LT or GE 0 */
12019 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) &&
12020 : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12021 : (TARGET_AVX)))
12022 : return -1;
12023 : return 3308; /* *avx_cmpv4di3_ltint_not */
12024 :
12025 : case 4:
12026 : if (!(
12027 : #line 18399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12028 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12029 : && GET_MODE_CLASS (GET_MODE (operands[3])) == MODE_VECTOR_INT
12030 : && GET_MODE_SIZE (GET_MODE (operands[3])) == 32
12031 : /* LT or GE 0 */
12032 : && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[1]))
12033 : || (INTVAL (operands[5]) == 5 && !MEM_P (operands[2])))) &&
12034 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12035 : (TARGET_AVX2)))
12036 : return -1;
12037 : return 7952; /* *avx2_pcmpv32qi3_4 */
12038 :
12039 : case 5:
12040 : if (!
12041 : #line 18399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12042 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12043 : && GET_MODE_CLASS (GET_MODE (operands[3])) == MODE_VECTOR_INT
12044 : && GET_MODE_SIZE (GET_MODE (operands[3])) == 16
12045 : /* LT or GE 0 */
12046 : && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[1]))
12047 : || (INTVAL (operands[5]) == 5 && !MEM_P (operands[2])))))
12048 : return -1;
12049 : return 7953; /* *avx2_pcmpv16qi3_4 */
12050 :
12051 : default:
12052 : return -1;
12053 : }
12054 :
12055 : case 1:
12056 : if (!(
12057 : #line 18431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12058 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12059 : /* LT or GE 0 */
12060 : && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[1]))
12061 : || (INTVAL (operands[5]) == 5 && !MEM_P (operands[2])))) &&
12062 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12063 : (TARGET_AVX2)))
12064 : return -1;
12065 : return 7954; /* *avx2_pcmpv32qi3_5 */
12066 :
12067 : case 2:
12068 : if (!
12069 : #line 18431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12070 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12071 : /* LT or GE 0 */
12072 : && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[1]))
12073 : || (INTVAL (operands[5]) == 5 && !MEM_P (operands[2])))))
12074 : return -1;
12075 : return 7955; /* *avx2_pcmpv16qi3_5 */
12076 :
12077 : default:
12078 : return -1;
12079 : }
12080 :
12081 : default:
12082 : return -1;
12083 : }
12084 :
12085 : case VEC_DUPLICATE:
12086 : x5 = XEXP (x2, 0);
12087 : operands[1] = x5;
12088 : x7 = XEXP (x3, 0);
12089 : operands[2] = x7;
12090 : x4 = XEXP (x2, 2);
12091 : operands[3] = x4;
12092 : if (!const_int_operand (operands[3], E_SImode))
12093 : return -1;
12094 : switch (GET_MODE (operands[0]))
12095 : {
12096 : case E_V8DFmode:
12097 : if (pattern1132 (x2,
12098 : E_V2DFmode,
12099 : E_V8DFmode) != 0
12100 : || !(
12101 : #line 20377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12102 : (TARGET_AVX512F) &&
12103 : #line 12722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12104 : (TARGET_AVX512DQ)))
12105 : return -1;
12106 : return 8433; /* *avx512dq_vinsertf64x2_1 */
12107 :
12108 : case E_V8DImode:
12109 : if (pattern1132 (x2,
12110 : E_V2DImode,
12111 : E_V8DImode) != 0
12112 : || !(
12113 : #line 20377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12114 : (TARGET_AVX512F) &&
12115 : #line 12722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12116 : (TARGET_AVX512DQ)))
12117 : return -1;
12118 : return 8435; /* *avx512dq_vinserti64x2_1 */
12119 :
12120 : case E_V16SFmode:
12121 : if (pattern1132 (x2,
12122 : E_V4SFmode,
12123 : E_V16SFmode) != 0
12124 : || !
12125 : #line 20377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12126 : (TARGET_AVX512F))
12127 : return -1;
12128 : return 8437; /* *avx512f_vinsertf32x4_1 */
12129 :
12130 : case E_V16SImode:
12131 : if (pattern1132 (x2,
12132 : E_V4SImode,
12133 : E_V16SImode) != 0
12134 : || !
12135 : #line 20377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12136 : (TARGET_AVX512F))
12137 : return -1;
12138 : return 8439; /* *avx512f_vinserti32x4_1 */
12139 :
12140 : default:
12141 : return -1;
12142 : }
12143 :
12144 : default:
12145 : return -1;
12146 : }
12147 : }
12148 :
12149 : int
12150 : recog_174 (rtx x1 ATTRIBUTE_UNUSED,
12151 : rtx_insn *insn ATTRIBUTE_UNUSED,
12152 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12153 : {
12154 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12155 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12156 : rtx x10, x11, x12, x13, x14;
12157 : int res ATTRIBUTE_UNUSED;
12158 : x2 = XEXP (x1, 1);
12159 : x3 = XEXP (x2, 0);
12160 : x4 = XEXP (x3, 1);
12161 : if (pattern929 (x4) != 0)
12162 : return -1;
12163 : x5 = XEXP (x2, 1);
12164 : operands[2] = x5;
12165 : x6 = XEXP (x2, 2);
12166 : operands[3] = x6;
12167 : if (!register_operand (operands[3], E_QImode))
12168 : return -1;
12169 : x7 = XVECEXP (x4, 0, 0);
12170 : switch (XWINT (x7, 0))
12171 : {
12172 : case 8L:
12173 : x8 = XVECEXP (x4, 0, 1);
12174 : if (XWINT (x8, 0) != 9L)
12175 : return -1;
12176 : x9 = XVECEXP (x4, 0, 2);
12177 : if (XWINT (x9, 0) != 10L)
12178 : return -1;
12179 : x10 = XVECEXP (x4, 0, 3);
12180 : if (XWINT (x10, 0) != 11L)
12181 : return -1;
12182 : x11 = XVECEXP (x4, 0, 4);
12183 : if (XWINT (x11, 0) != 12L)
12184 : return -1;
12185 : x12 = XVECEXP (x4, 0, 5);
12186 : if (XWINT (x12, 0) != 13L)
12187 : return -1;
12188 : x13 = XVECEXP (x4, 0, 6);
12189 : if (XWINT (x13, 0) != 14L)
12190 : return -1;
12191 : x14 = XVECEXP (x4, 0, 7);
12192 : if (XWINT (x14, 0) != 15L)
12193 : return -1;
12194 : switch (pattern1852 (x2))
12195 : {
12196 : case 0:
12197 : if (!
12198 : #line 13016 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12199 : (TARGET_AVX512DQ
12200 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12201 : return -1;
12202 : return 5365; /* vec_extract_hi_v16sf_mask */
12203 :
12204 : case 1:
12205 : if (!
12206 : #line 13016 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12207 : (TARGET_AVX512DQ
12208 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12209 : return -1;
12210 : return 5366; /* vec_extract_hi_v16si_mask */
12211 :
12212 : default:
12213 : return -1;
12214 : }
12215 :
12216 : case 0L:
12217 : x8 = XVECEXP (x4, 0, 1);
12218 : if (XWINT (x8, 0) != 1L
12219 : || pattern1567 (x4) != 0)
12220 : return -1;
12221 : switch (pattern1852 (x2))
12222 : {
12223 : case 0:
12224 : if (!
12225 : #line 13120 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12226 : (TARGET_AVX512DQ
12227 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12228 : return -1;
12229 : return 5369; /* vec_extract_lo_v16sf_mask */
12230 :
12231 : case 1:
12232 : if (!
12233 : #line 13120 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12234 : (TARGET_AVX512DQ
12235 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12236 : return -1;
12237 : return 5370; /* vec_extract_lo_v16si_mask */
12238 :
12239 : default:
12240 : return -1;
12241 : }
12242 :
12243 : default:
12244 : return -1;
12245 : }
12246 : }
12247 :
12248 : int
12249 : recog_178 (rtx x1 ATTRIBUTE_UNUSED,
12250 : rtx_insn *insn ATTRIBUTE_UNUSED,
12251 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12252 : {
12253 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12254 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12255 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
12256 : rtx x18, x19, x20;
12257 : int res ATTRIBUTE_UNUSED;
12258 : x2 = XEXP (x1, 1);
12259 : x3 = XEXP (x2, 0);
12260 : x4 = XEXP (x3, 1);
12261 : x5 = XVECEXP (x4, 0, 1);
12262 : operands[3] = x5;
12263 : x6 = XVECEXP (x4, 0, 2);
12264 : operands[4] = x6;
12265 : x7 = XVECEXP (x4, 0, 3);
12266 : operands[5] = x7;
12267 : x8 = XVECEXP (x4, 0, 5);
12268 : operands[7] = x8;
12269 : x9 = XVECEXP (x4, 0, 6);
12270 : operands[8] = x9;
12271 : x10 = XVECEXP (x4, 0, 7);
12272 : operands[9] = x10;
12273 : x11 = XVECEXP (x4, 0, 8);
12274 : operands[10] = x11;
12275 : x12 = XVECEXP (x4, 0, 9);
12276 : operands[11] = x12;
12277 : x13 = XVECEXP (x4, 0, 10);
12278 : operands[12] = x13;
12279 : x14 = XVECEXP (x4, 0, 11);
12280 : operands[13] = x14;
12281 : x15 = XVECEXP (x4, 0, 12);
12282 : operands[14] = x15;
12283 : x16 = XVECEXP (x4, 0, 13);
12284 : operands[15] = x16;
12285 : x17 = XVECEXP (x4, 0, 14);
12286 : operands[16] = x17;
12287 : x18 = XVECEXP (x4, 0, 15);
12288 : operands[17] = x18;
12289 : x19 = XEXP (x2, 1);
12290 : operands[18] = x19;
12291 : x20 = XEXP (x2, 2);
12292 : operands[19] = x20;
12293 : if (!register_operand (operands[19], E_HImode))
12294 : return -1;
12295 : switch (GET_MODE (operands[0]))
12296 : {
12297 : case E_V16SFmode:
12298 : if (!register_operand (operands[0], E_V16SFmode)
12299 : || GET_MODE (x2) != E_V16SFmode
12300 : || GET_MODE (x3) != E_V16SFmode
12301 : || !register_operand (operands[1], E_V16SFmode)
12302 : || pattern1883 () != 0
12303 : || !nonimm_or_0_operand (operands[18], E_V16SFmode)
12304 : || !(
12305 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12306 : (TARGET_AVX512F) &&
12307 : #line 20805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12308 : (TARGET_AVX512F
12309 : && (INTVAL (operands[2]) & 3) == 0
12310 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
12311 : && INTVAL (operands[2]) == INTVAL (operands[4]) - 2
12312 : && INTVAL (operands[2]) == INTVAL (operands[5]) - 3
12313 : && (INTVAL (operands[6]) & 3) == 0
12314 : && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
12315 : && INTVAL (operands[6]) == INTVAL (operands[8]) - 2
12316 : && INTVAL (operands[6]) == INTVAL (operands[9]) - 3
12317 : && (INTVAL (operands[10]) & 3) == 0
12318 : && INTVAL (operands[10]) == INTVAL (operands[11]) - 1
12319 : && INTVAL (operands[10]) == INTVAL (operands[12]) - 2
12320 : && INTVAL (operands[10]) == INTVAL (operands[13]) - 3
12321 : && (INTVAL (operands[14]) & 3) == 0
12322 : && INTVAL (operands[14]) == INTVAL (operands[15]) - 1
12323 : && INTVAL (operands[14]) == INTVAL (operands[16]) - 2
12324 : && INTVAL (operands[14]) == INTVAL (operands[17]) - 3)))
12325 : return -1;
12326 : return 8478; /* *avx512f_shuf_f32x4_1_mask_1 */
12327 :
12328 : case E_V16SImode:
12329 : if (!register_operand (operands[0], E_V16SImode)
12330 : || GET_MODE (x2) != E_V16SImode
12331 : || GET_MODE (x3) != E_V16SImode
12332 : || !nonimm_or_0_operand (operands[18], E_V16SImode))
12333 : return -1;
12334 : if (register_operand (operands[1], E_V16SImode)
12335 : && pattern1883 () == 0
12336 : && (
12337 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12338 : (TARGET_AVX512F) &&
12339 : #line 20805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12340 : (TARGET_AVX512F
12341 : && (INTVAL (operands[2]) & 3) == 0
12342 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
12343 : && INTVAL (operands[2]) == INTVAL (operands[4]) - 2
12344 : && INTVAL (operands[2]) == INTVAL (operands[5]) - 3
12345 : && (INTVAL (operands[6]) & 3) == 0
12346 : && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
12347 : && INTVAL (operands[6]) == INTVAL (operands[8]) - 2
12348 : && INTVAL (operands[6]) == INTVAL (operands[9]) - 3
12349 : && (INTVAL (operands[10]) & 3) == 0
12350 : && INTVAL (operands[10]) == INTVAL (operands[11]) - 1
12351 : && INTVAL (operands[10]) == INTVAL (operands[12]) - 2
12352 : && INTVAL (operands[10]) == INTVAL (operands[13]) - 3
12353 : && (INTVAL (operands[14]) & 3) == 0
12354 : && INTVAL (operands[14]) == INTVAL (operands[15]) - 1
12355 : && INTVAL (operands[14]) == INTVAL (operands[16]) - 2
12356 : && INTVAL (operands[14]) == INTVAL (operands[17]) - 3)))
12357 : return 8480; /* *avx512f_shuf_i32x4_1_mask_1 */
12358 : if (!nonimmediate_operand (operands[1], E_V16SImode)
12359 : || pattern1837 () != 0
12360 : || !const_8_to_11_operand (operands[10], E_VOIDmode)
12361 : || !const_8_to_11_operand (operands[11], E_VOIDmode)
12362 : || !const_8_to_11_operand (operands[12], E_VOIDmode)
12363 : || !const_8_to_11_operand (operands[13], E_VOIDmode)
12364 : || !const_12_to_15_operand (operands[14], E_VOIDmode)
12365 : || !const_12_to_15_operand (operands[15], E_VOIDmode)
12366 : || !const_12_to_15_operand (operands[16], E_VOIDmode)
12367 : || !const_12_to_15_operand (operands[17], E_VOIDmode)
12368 : || !(
12369 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12370 : (TARGET_AVX512F) &&
12371 : #line 20887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12372 : (TARGET_AVX512F
12373 : && INTVAL (operands[2]) + 4 == INTVAL (operands[6])
12374 : && INTVAL (operands[3]) + 4 == INTVAL (operands[7])
12375 : && INTVAL (operands[4]) + 4 == INTVAL (operands[8])
12376 : && INTVAL (operands[5]) + 4 == INTVAL (operands[9])
12377 : && INTVAL (operands[2]) + 8 == INTVAL (operands[10])
12378 : && INTVAL (operands[3]) + 8 == INTVAL (operands[11])
12379 : && INTVAL (operands[4]) + 8 == INTVAL (operands[12])
12380 : && INTVAL (operands[5]) + 8 == INTVAL (operands[13])
12381 : && INTVAL (operands[2]) + 12 == INTVAL (operands[14])
12382 : && INTVAL (operands[3]) + 12 == INTVAL (operands[15])
12383 : && INTVAL (operands[4]) + 12 == INTVAL (operands[16])
12384 : && INTVAL (operands[5]) + 12 == INTVAL (operands[17]))))
12385 : return -1;
12386 : return 8482; /* avx512f_pshufd_1_mask */
12387 :
12388 : default:
12389 : return -1;
12390 : }
12391 : }
12392 :
12393 : int
12394 : recog_189 (rtx x1 ATTRIBUTE_UNUSED,
12395 : rtx_insn *insn ATTRIBUTE_UNUSED,
12396 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12397 : {
12398 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12399 : rtx x2, x3, x4, x5, x6, x7;
12400 : int res ATTRIBUTE_UNUSED;
12401 : x2 = XEXP (x1, 1);
12402 : x3 = XEXP (x2, 0);
12403 : x4 = XEXP (x3, 0);
12404 : operands[1] = x4;
12405 : x5 = XEXP (x3, 1);
12406 : operands[2] = x5;
12407 : x6 = XEXP (x2, 1);
12408 : operands[3] = x6;
12409 : x7 = XEXP (x2, 2);
12410 : operands[4] = x7;
12411 : switch (GET_MODE (operands[0]))
12412 : {
12413 : case E_V16HImode:
12414 : if (pattern135 (x2,
12415 : E_HImode,
12416 : E_V16HImode) != 0)
12417 : return -1;
12418 : if (nonimmediate_operand (operands[1], E_V16HImode)
12419 : && nonmemory_operand (operands[2], E_DImode)
12420 : && (
12421 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12422 : (TARGET_AVX512F) && (
12423 : #line 17419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12424 : (TARGET_AVX512VL) &&
12425 : #line 785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12426 : (TARGET_AVX512BW))))
12427 : return 7645; /* ashrv16hi3_mask */
12428 : if (!register_operand (operands[1], E_V16HImode)
12429 : || !nonimmediate_operand (operands[2], E_V16HImode)
12430 : || !(
12431 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12432 : (TARGET_AVX512F) && (
12433 : #line 29614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12434 : (TARGET_AVX512BW) &&
12435 : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12436 : (TARGET_AVX512VL))))
12437 : return -1;
12438 : return 9641; /* avx512vl_ashrvv16hi_mask */
12439 :
12440 : case E_V8HImode:
12441 : if (pattern135 (x2,
12442 : E_QImode,
12443 : E_V8HImode) != 0)
12444 : return -1;
12445 : if (nonimmediate_operand (operands[1], E_V8HImode)
12446 : && nonmemory_operand (operands[2], E_DImode)
12447 : && (
12448 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12449 : (TARGET_AVX512F) && (
12450 : #line 17419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12451 : (TARGET_AVX512VL) &&
12452 : #line 785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12453 : (TARGET_AVX512BW))))
12454 : return 7647; /* ashrv8hi3_mask */
12455 : if (!register_operand (operands[1], E_V8HImode)
12456 : || !nonimmediate_operand (operands[2], E_V8HImode)
12457 : || !(
12458 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12459 : (TARGET_AVX512F) && (
12460 : #line 29614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12461 : (TARGET_AVX512BW) &&
12462 : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12463 : (TARGET_AVX512VL))))
12464 : return -1;
12465 : return 9639; /* avx512vl_ashrvv8hi_mask */
12466 :
12467 : case E_V8SImode:
12468 : if (pattern135 (x2,
12469 : E_QImode,
12470 : E_V8SImode) != 0)
12471 : return -1;
12472 : if (nonimmediate_operand (operands[1], E_V8SImode)
12473 : && nonmemory_operand (operands[2], E_DImode)
12474 : && (
12475 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12476 : (TARGET_AVX512F) &&
12477 : #line 17419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12478 : (TARGET_AVX512VL)))
12479 : return 7649; /* ashrv8si3_mask */
12480 : if (!register_operand (operands[1], E_V8SImode)
12481 : || !nonimmediate_operand (operands[2], E_V8SImode)
12482 : || !(
12483 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12484 : (TARGET_AVX512F) &&
12485 : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12486 : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
12487 : return -1;
12488 : return 9629; /* avx2_ashrvv8si_mask */
12489 :
12490 : case E_V4SImode:
12491 : if (pattern135 (x2,
12492 : E_QImode,
12493 : E_V4SImode) != 0)
12494 : return -1;
12495 : if (nonimmediate_operand (operands[1], E_V4SImode)
12496 : && nonmemory_operand (operands[2], E_DImode)
12497 : && (
12498 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12499 : (TARGET_AVX512F) &&
12500 : #line 17419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12501 : (TARGET_AVX512VL)))
12502 : return 7651; /* ashrv4si3_mask */
12503 : if (!register_operand (operands[1], E_V4SImode)
12504 : || !nonimmediate_operand (operands[2], E_V4SImode)
12505 : || !(
12506 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12507 : (TARGET_AVX512F) &&
12508 : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12509 : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
12510 : return -1;
12511 : return 9627; /* avx2_ashrvv4si_mask */
12512 :
12513 : case E_V2DImode:
12514 : if (pattern135 (x2,
12515 : E_QImode,
12516 : E_V2DImode) != 0)
12517 : return -1;
12518 : if (nonimmediate_operand (operands[1], E_V2DImode)
12519 : && nonmemory_operand (operands[2], E_DImode)
12520 : && (
12521 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12522 : (TARGET_AVX512F) &&
12523 : #line 17419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12524 : (TARGET_AVX512VL)))
12525 : return 7653; /* ashrv2di3_mask */
12526 : if (!register_operand (operands[1], E_V2DImode)
12527 : || !nonimmediate_operand (operands[2], E_V2DImode)
12528 : || !(
12529 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12530 : (TARGET_AVX512F) && (
12531 : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12532 : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL)) &&
12533 : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12534 : (TARGET_AVX512VL))))
12535 : return -1;
12536 : return 9633; /* avx2_ashrvv2di_mask */
12537 :
12538 : case E_V32HImode:
12539 : if (pattern135 (x2,
12540 : E_SImode,
12541 : E_V32HImode) != 0)
12542 : return -1;
12543 : if (nonimmediate_operand (operands[1], E_V32HImode)
12544 : && nonmemory_operand (operands[2], E_DImode)
12545 : && (
12546 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12547 : (TARGET_AVX512F) && (
12548 : #line 17463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12549 : (TARGET_AVX512F) &&
12550 : #line 780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12551 : (TARGET_AVX512BW))))
12552 : return 7663; /* ashrv32hi3_mask */
12553 : if (!register_operand (operands[1], E_V32HImode)
12554 : || !nonimmediate_operand (operands[2], E_V32HImode)
12555 : || !(
12556 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12557 : (TARGET_AVX512F) &&
12558 : #line 29614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12559 : (TARGET_AVX512BW)))
12560 : return -1;
12561 : return 9643; /* avx512bw_ashrvv32hi_mask */
12562 :
12563 : case E_V4DImode:
12564 : if (pattern135 (x2,
12565 : E_QImode,
12566 : E_V4DImode) != 0)
12567 : return -1;
12568 : if (nonimmediate_operand (operands[1], E_V4DImode)
12569 : && nonmemory_operand (operands[2], E_DImode)
12570 : && (
12571 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12572 : (TARGET_AVX512F) && (
12573 : #line 17463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12574 : (TARGET_AVX512F) &&
12575 : #line 781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12576 : (TARGET_AVX512VL))))
12577 : return 7665; /* ashrv4di3_mask */
12578 : if (!register_operand (operands[1], E_V4DImode)
12579 : || !nonimmediate_operand (operands[2], E_V4DImode)
12580 : || !(
12581 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12582 : (TARGET_AVX512F) && (
12583 : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12584 : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL)) &&
12585 : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12586 : (TARGET_AVX512VL))))
12587 : return -1;
12588 : return 9635; /* avx2_ashrvv4di_mask */
12589 :
12590 : case E_V16SImode:
12591 : if (pattern135 (x2,
12592 : E_HImode,
12593 : E_V16SImode) != 0)
12594 : return -1;
12595 : if (nonimmediate_operand (operands[1], E_V16SImode)
12596 : && nonmemory_operand (operands[2], E_DImode)
12597 : &&
12598 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12599 : (TARGET_AVX512F))
12600 : return 7667; /* ashrv16si3_mask */
12601 : if (!register_operand (operands[1], E_V16SImode)
12602 : || !nonimmediate_operand (operands[2], E_V16SImode)
12603 : || !(
12604 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12605 : (TARGET_AVX512F) && (
12606 : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12607 : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
12608 : #line 674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12609 : (TARGET_AVX512F))))
12610 : return -1;
12611 : return 9631; /* avx512f_ashrvv16si_mask */
12612 :
12613 : case E_V8DImode:
12614 : if (pattern135 (x2,
12615 : E_QImode,
12616 : E_V8DImode) != 0)
12617 : return -1;
12618 : if (nonimmediate_operand (operands[1], E_V8DImode)
12619 : && nonmemory_operand (operands[2], E_DImode)
12620 : &&
12621 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12622 : (TARGET_AVX512F))
12623 : return 7669; /* ashrv8di3_mask */
12624 : if (!register_operand (operands[1], E_V8DImode)
12625 : || !nonimmediate_operand (operands[2], E_V8DImode)
12626 : || !(
12627 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12628 : (TARGET_AVX512F) && (
12629 : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12630 : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
12631 : #line 676 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12632 : (TARGET_AVX512F))))
12633 : return -1;
12634 : return 9637; /* avx512f_ashrvv8di_mask */
12635 :
12636 : default:
12637 : return -1;
12638 : }
12639 : }
12640 :
12641 : int
12642 : recog_191 (rtx x1 ATTRIBUTE_UNUSED,
12643 : rtx_insn *insn ATTRIBUTE_UNUSED,
12644 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12645 : {
12646 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12647 : rtx x2;
12648 : int res ATTRIBUTE_UNUSED;
12649 : x2 = XEXP (x1, 1);
12650 : switch (pattern148 (x2))
12651 : {
12652 : case 0:
12653 : if (nonimmediate_operand (operands[1], E_V16HImode)
12654 : && nonmemory_operand (operands[2], E_DImode)
12655 : && (
12656 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12657 : (TARGET_AVX512F) && (
12658 : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12659 : (TARGET_AVX512VL) &&
12660 : #line 790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12661 : (TARGET_AVX512BW))))
12662 : return 7682; /* lshrv16hi3_mask */
12663 : if (!register_operand (operands[1], E_V16HImode)
12664 : || !nonimmediate_operand (operands[2], E_V16HImode)
12665 : || !(
12666 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12667 : (TARGET_AVX512F) && (
12668 : #line 29636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12669 : (TARGET_AVX512BW) &&
12670 : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12671 : (TARGET_AVX512VL))))
12672 : return -1;
12673 : return 9675; /* avx512vl_lshrvv16hi_mask */
12674 :
12675 : case 1:
12676 : if (nonimmediate_operand (operands[1], E_V8HImode)
12677 : && nonmemory_operand (operands[2], E_DImode)
12678 : && (
12679 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12680 : (TARGET_AVX512F) && (
12681 : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12682 : (TARGET_AVX512VL) &&
12683 : #line 790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12684 : (TARGET_AVX512BW))))
12685 : return 7686; /* lshrv8hi3_mask */
12686 : if (!register_operand (operands[1], E_V8HImode)
12687 : || !nonimmediate_operand (operands[2], E_V8HImode)
12688 : || !(
12689 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12690 : (TARGET_AVX512F) && (
12691 : #line 29636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12692 : (TARGET_AVX512BW) &&
12693 : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12694 : (TARGET_AVX512VL))))
12695 : return -1;
12696 : return 9671; /* avx512vl_lshrvv8hi_mask */
12697 :
12698 : case 2:
12699 : if (nonimmediate_operand (operands[1], E_V8SImode)
12700 : && nonmemory_operand (operands[2], E_DImode)
12701 : && (
12702 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12703 : (TARGET_AVX512F) &&
12704 : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12705 : (TARGET_AVX512VL)))
12706 : return 7690; /* lshrv8si3_mask */
12707 : if (!register_operand (operands[1], E_V8SImode)
12708 : || !nonimmediate_operand (operands[2], E_V8SImode)
12709 : || !(
12710 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12711 : (TARGET_AVX512F) &&
12712 : #line 29625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12713 : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
12714 : return -1;
12715 : return 9651; /* avx2_lshrvv8si_mask */
12716 :
12717 : case 3:
12718 : if (nonimmediate_operand (operands[1], E_V4SImode)
12719 : && nonmemory_operand (operands[2], E_DImode)
12720 : && (
12721 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12722 : (TARGET_AVX512F) &&
12723 : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12724 : (TARGET_AVX512VL)))
12725 : return 7694; /* lshrv4si3_mask */
12726 : if (!register_operand (operands[1], E_V4SImode)
12727 : || !nonimmediate_operand (operands[2], E_V4SImode)
12728 : || !(
12729 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12730 : (TARGET_AVX512F) &&
12731 : #line 29625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12732 : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
12733 : return -1;
12734 : return 9655; /* avx2_lshrvv4si_mask */
12735 :
12736 : case 4:
12737 : if (nonimmediate_operand (operands[1], E_V4DImode)
12738 : && nonmemory_operand (operands[2], E_DImode)
12739 : && (
12740 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12741 : (TARGET_AVX512F) &&
12742 : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12743 : (TARGET_AVX512VL)))
12744 : return 7698; /* lshrv4di3_mask */
12745 : if (!register_operand (operands[1], E_V4DImode)
12746 : || !nonimmediate_operand (operands[2], E_V4DImode)
12747 : || !(
12748 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12749 : (TARGET_AVX512F) &&
12750 : #line 29625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12751 : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
12752 : return -1;
12753 : return 9663; /* avx2_lshrvv4di_mask */
12754 :
12755 : case 5:
12756 : if (nonimmediate_operand (operands[1], E_V2DImode)
12757 : && nonmemory_operand (operands[2], E_DImode)
12758 : && (
12759 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12760 : (TARGET_AVX512F) &&
12761 : #line 17615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12762 : (TARGET_AVX512VL)))
12763 : return 7702; /* lshrv2di3_mask */
12764 : if (!register_operand (operands[1], E_V2DImode)
12765 : || !nonimmediate_operand (operands[2], E_V2DImode)
12766 : || !(
12767 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12768 : (TARGET_AVX512F) &&
12769 : #line 29625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12770 : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
12771 : return -1;
12772 : return 9667; /* avx2_lshrvv2di_mask */
12773 :
12774 : case 6:
12775 : if (nonimmediate_operand (operands[1], E_V32HImode)
12776 : && nonmemory_operand (operands[2], E_DImode)
12777 : && (
12778 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12779 : (TARGET_AVX512F) && (
12780 : #line 17703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12781 : (TARGET_AVX512F) &&
12782 : #line 777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12783 : (TARGET_AVX512BW))))
12784 : return 7722; /* lshrv32hi3_mask */
12785 : if (!register_operand (operands[1], E_V32HImode)
12786 : || !nonimmediate_operand (operands[2], E_V32HImode)
12787 : || !(
12788 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12789 : (TARGET_AVX512F) &&
12790 : #line 29636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12791 : (TARGET_AVX512BW)))
12792 : return -1;
12793 : return 9679; /* avx512bw_lshrvv32hi_mask */
12794 :
12795 : case 7:
12796 : if (nonimmediate_operand (operands[1], E_V16SImode)
12797 : && nonmemory_operand (operands[2], E_DImode)
12798 : &&
12799 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12800 : (TARGET_AVX512F))
12801 : return 7726; /* lshrv16si3_mask */
12802 : if (!register_operand (operands[1], E_V16SImode)
12803 : || !nonimmediate_operand (operands[2], E_V16SImode)
12804 : || !(
12805 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12806 : (TARGET_AVX512F) && (
12807 : #line 29625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12808 : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
12809 : #line 795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12810 : (TARGET_AVX512F))))
12811 : return -1;
12812 : return 9647; /* avx512f_lshrvv16si_mask */
12813 :
12814 : case 8:
12815 : if (nonimmediate_operand (operands[1], E_V8DImode)
12816 : && nonmemory_operand (operands[2], E_DImode)
12817 : &&
12818 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12819 : (TARGET_AVX512F))
12820 : return 7730; /* lshrv8di3_mask */
12821 : if (!register_operand (operands[1], E_V8DImode)
12822 : || !nonimmediate_operand (operands[2], E_V8DImode)
12823 : || !(
12824 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12825 : (TARGET_AVX512F) && (
12826 : #line 29625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12827 : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
12828 : #line 796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12829 : (TARGET_AVX512F))))
12830 : return -1;
12831 : return 9659; /* avx512f_lshrvv8di_mask */
12832 :
12833 : default:
12834 : return -1;
12835 : }
12836 : }
12837 :
12838 : int
12839 : recog_197 (rtx x1 ATTRIBUTE_UNUSED,
12840 : rtx_insn *insn ATTRIBUTE_UNUSED,
12841 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12842 : {
12843 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12844 : rtx x2, x3, x4, x5;
12845 : int res ATTRIBUTE_UNUSED;
12846 : x2 = XEXP (x1, 1);
12847 : switch (pattern157 (x2))
12848 : {
12849 : case 0:
12850 : if (!(
12851 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12852 : (TARGET_AVX512F) &&
12853 : #line 24466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12854 : (TARGET_AVX2 && TARGET_AVX512BW && TARGET_AVX512VL)))
12855 : return -1;
12856 : return 8798; /* avx2_sign_extendv16qiv16hi2_mask */
12857 :
12858 : case 1:
12859 : if (!(
12860 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12861 : (TARGET_AVX512F) &&
12862 : #line 24520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12863 : (TARGET_AVX512BW)))
12864 : return -1;
12865 : return 8806; /* avx512bw_sign_extendv32qiv32hi2_mask */
12866 :
12867 : case 2:
12868 : if (!(
12869 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12870 : (TARGET_AVX512F) &&
12871 : #line 24590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12872 : (TARGET_SSE4_1 && TARGET_AVX512BW && TARGET_AVX512VL)))
12873 : return -1;
12874 : return 8818; /* *sse4_1_sign_extendv8qiv8hi2_mask_1 */
12875 :
12876 : case 3:
12877 : if (!
12878 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12879 : (TARGET_AVX512F))
12880 : return -1;
12881 : return 8830; /* avx512f_sign_extendv16qiv16si2_mask */
12882 :
12883 : case 4:
12884 : if (!
12885 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12886 : (TARGET_AVX512F))
12887 : return -1;
12888 : return 8860; /* avx512f_sign_extendv16hiv16si2_mask */
12889 :
12890 : case 5:
12891 : if (!(
12892 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12893 : (TARGET_AVX512F) &&
12894 : #line 24773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12895 : (TARGET_AVX2 && TARGET_AVX512VL)))
12896 : return -1;
12897 : return 8838; /* *avx2_sign_extendv8qiv8si2_mask_1 */
12898 :
12899 : case 6:
12900 : if (!(
12901 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12902 : (TARGET_AVX512F) &&
12903 : #line 24993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12904 : (TARGET_AVX2 && TARGET_AVX512VL)))
12905 : return -1;
12906 : return 8868; /* avx2_sign_extendv8hiv8si2_mask */
12907 :
12908 : case 7:
12909 : if (!(
12910 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12911 : (TARGET_AVX512F) &&
12912 : #line 24861 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12913 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12914 : return -1;
12915 : return 8850; /* *sse4_1_sign_extendv4qiv4si2_mask_1 */
12916 :
12917 : case 8:
12918 : if (!(
12919 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12920 : (TARGET_AVX512F) &&
12921 : #line 25063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12922 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12923 : return -1;
12924 : return 8880; /* *sse4_1_sign_extendv4hiv4si2_mask_1 */
12925 :
12926 : case 9:
12927 : if (!
12928 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12929 : (TARGET_AVX512F))
12930 : return -1;
12931 : return 8896; /* *avx512f_sign_extendv8qiv8di2_mask_1 */
12932 :
12933 : case 10:
12934 : if (!
12935 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12936 : (TARGET_AVX512F))
12937 : return -1;
12938 : return 8927; /* avx512f_sign_extendv8hiv8di2_mask */
12939 :
12940 : case 11:
12941 : if (!
12942 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12943 : (TARGET_AVX512F))
12944 : return -1;
12945 : return 8955; /* avx512f_sign_extendv8siv8di2_mask */
12946 :
12947 : case 12:
12948 : if (!(
12949 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12950 : (TARGET_AVX512F) &&
12951 : #line 25303 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12952 : (TARGET_AVX2 && TARGET_AVX512VL)))
12953 : return -1;
12954 : return 8908; /* *avx2_sign_extendv4qiv4di2_mask_1 */
12955 :
12956 : case 13:
12957 : if (!(
12958 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12959 : (TARGET_AVX512F) &&
12960 : #line 25475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12961 : (TARGET_AVX2 && TARGET_AVX512VL)))
12962 : return -1;
12963 : return 8935; /* *avx2_sign_extendv4hiv4di2_mask_1 */
12964 :
12965 : case 14:
12966 : if (!(
12967 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12968 : (TARGET_AVX512F) &&
12969 : #line 25686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12970 : (TARGET_AVX2 && TARGET_AVX512VL)))
12971 : return -1;
12972 : return 8961; /* avx2_sign_extendv4siv4di2_mask */
12973 :
12974 : case 15:
12975 : if (!(
12976 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12977 : (TARGET_AVX512F) &&
12978 : #line 25394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12979 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12980 : return -1;
12981 : return 8920; /* *sse4_1_sign_extendv2qiv2di2_mask_1 */
12982 :
12983 : case 16:
12984 : if (!(
12985 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12986 : (TARGET_AVX512F) &&
12987 : #line 25558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12988 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12989 : return -1;
12990 : return 8947; /* *sse4_1_sign_extendv2hiv2di2_mask_1 */
12991 :
12992 : case 17:
12993 : if (!(
12994 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12995 : (TARGET_AVX512F) &&
12996 : #line 25752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12997 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
12998 : return -1;
12999 : return 8971; /* *sse4_1_sign_extendv2siv2di2_mask_1 */
13000 :
13001 : case 18:
13002 : x3 = XEXP (x2, 0);
13003 : x4 = XEXP (x3, 0);
13004 : x5 = XEXP (x4, 0);
13005 : operands[1] = x5;
13006 : switch (pattern907 (x2))
13007 : {
13008 : case 0:
13009 : if ((
13010 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13011 : (TARGET_AVX512F) &&
13012 : #line 24578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13013 : (TARGET_SSE4_1 && TARGET_AVX512BW && TARGET_AVX512VL)))
13014 : return 8814; /* sse4_1_sign_extendv8qiv8hi2_mask */
13015 : break;
13016 :
13017 : case 1:
13018 : if ((
13019 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13020 : (TARGET_AVX512F) &&
13021 : #line 24762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13022 : (TARGET_AVX2 && TARGET_AVX512VL)))
13023 : return 8834; /* avx2_sign_extendv8qiv8si2_mask */
13024 : break;
13025 :
13026 : case 2:
13027 : if (
13028 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13029 : (TARGET_AVX512F))
13030 : return 8892; /* avx512f_sign_extendv8qiv8di2_mask */
13031 : break;
13032 :
13033 : case 3:
13034 : if ((
13035 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13036 : (TARGET_AVX512F) &&
13037 : #line 24849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13038 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13039 : return 8846; /* sse4_1_sign_extendv4qiv4si2_mask */
13040 : break;
13041 :
13042 : case 4:
13043 : if ((
13044 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13045 : (TARGET_AVX512F) &&
13046 : #line 25051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13047 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13048 : return 8876; /* sse4_1_sign_extendv4hiv4si2_mask */
13049 : break;
13050 :
13051 : case 5:
13052 : if ((
13053 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13054 : (TARGET_AVX512F) &&
13055 : #line 25292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13056 : (TARGET_AVX2 && TARGET_AVX512VL)))
13057 : return 8904; /* avx2_sign_extendv4qiv4di2_mask */
13058 : break;
13059 :
13060 : case 6:
13061 : if ((
13062 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13063 : (TARGET_AVX512F) &&
13064 : #line 25464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13065 : (TARGET_AVX2 && TARGET_AVX512VL)))
13066 : return 8931; /* avx2_sign_extendv4hiv4di2_mask */
13067 : break;
13068 :
13069 : case 7:
13070 : if ((
13071 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13072 : (TARGET_AVX512F) &&
13073 : #line 25382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13074 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13075 : return 8916; /* sse4_1_sign_extendv2qiv2di2_mask */
13076 : break;
13077 :
13078 : case 8:
13079 : if ((
13080 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13081 : (TARGET_AVX512F) &&
13082 : #line 25546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13083 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13084 : return 8943; /* sse4_1_sign_extendv2hiv2di2_mask */
13085 : break;
13086 :
13087 : case 9:
13088 : if ((
13089 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13090 : (TARGET_AVX512F) &&
13091 : #line 25740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13092 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13093 : return 8967; /* sse4_1_sign_extendv2siv2di2_mask */
13094 : break;
13095 :
13096 : default:
13097 : break;
13098 : }
13099 : if (GET_CODE (x5) != SUBREG
13100 : || maybe_ne (SUBREG_BYTE (x5), 0))
13101 : return -1;
13102 : switch (pattern414 (x2))
13103 : {
13104 : case 0:
13105 : if (!
13106 : #line 24637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13107 : (TARGET_AVX512VL && TARGET_AVX512BW
13108 : && ix86_pre_reload_split ()))
13109 : return -1;
13110 : return 8823; /* *avx512vl_sign_extendv8qiv8hi2_mask_2 */
13111 :
13112 : case 1:
13113 : if (!
13114 : #line 24815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13115 : (TARGET_AVX512VL
13116 : && ix86_pre_reload_split ()))
13117 : return -1;
13118 : return 8843; /* *avx512vl_sign_extendv8qiv8si2_mask_2 */
13119 :
13120 : case 2:
13121 : if (!
13122 : #line 25259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13123 : (TARGET_AVX512F && ix86_pre_reload_split ()))
13124 : return -1;
13125 : return 8901; /* *avx512f_sign_extendv8qiv8di2_mask_2 */
13126 :
13127 : case 3:
13128 : if (!
13129 : #line 25103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13130 : (TARGET_AVX512VL
13131 : && ix86_pre_reload_split ()))
13132 : return -1;
13133 : return 8885; /* *avx512vl_sign_extendv4hiv4si2_mask_2 */
13134 :
13135 : case 4:
13136 : if (!
13137 : #line 25513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13138 : (TARGET_AVX512VL
13139 : && ix86_pre_reload_split ()))
13140 : return -1;
13141 : return 8940; /* *avx512vl_sign_extendv4hiv4di2_mask_2 */
13142 :
13143 : case 5:
13144 : if (!
13145 : #line 25790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13146 : (TARGET_AVX512VL
13147 : && ix86_pre_reload_split ()))
13148 : return -1;
13149 : return 8976; /* *avx512vl_sign_extendv2siv2di2_mask_2 */
13150 :
13151 : case 6:
13152 : if ((
13153 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13154 : (TARGET_AVX512F) &&
13155 : #line 24884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13156 : (TARGET_SSE4_1 && TARGET_AVX512VL
13157 : && ix86_pre_reload_split ())))
13158 : return 8854; /* *sse4_1_sign_extendv4qiv4si2_2 */
13159 : if (!
13160 : #line 24909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13161 : (TARGET_AVX512VL
13162 : && ix86_pre_reload_split ()))
13163 : return -1;
13164 : return 8857; /* *avx512vl_sign_extendv4qiv4si2_mask_2 */
13165 :
13166 : case 7:
13167 : if (!
13168 : #line 25349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13169 : (TARGET_AVX512VL
13170 : && ix86_pre_reload_split ()))
13171 : return -1;
13172 : return 8913; /* *avx512vl_sign_extendv4qiv4di2_mask_2 */
13173 :
13174 : case 8:
13175 : if (!
13176 : #line 25604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13177 : (TARGET_AVX512VL
13178 : && ix86_pre_reload_split ()))
13179 : return -1;
13180 : return 8952; /* *avx512vl_sign_extendv2hiv2di2_mask_2 */
13181 :
13182 : default:
13183 : return -1;
13184 : }
13185 :
13186 : default:
13187 : return -1;
13188 : }
13189 : }
13190 :
13191 : int
13192 : recog_206 (rtx x1 ATTRIBUTE_UNUSED,
13193 : rtx_insn *insn ATTRIBUTE_UNUSED,
13194 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13195 : {
13196 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13197 : rtx x2;
13198 : int res ATTRIBUTE_UNUSED;
13199 : x2 = XEXP (x1, 1);
13200 : switch (pattern144 (x2))
13201 : {
13202 : case 0:
13203 : if (!(
13204 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13205 : (TARGET_AVX512F) && (
13206 : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13207 : (TARGET_AVX512FP16) &&
13208 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13209 : (TARGET_AVX512VL))))
13210 : return -1;
13211 : return 4653; /* avx512fp16_fix_truncv8hi2_mask */
13212 :
13213 : case 1:
13214 : if (!(
13215 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13216 : (TARGET_AVX512F) && (
13217 : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13218 : (TARGET_AVX512FP16) &&
13219 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13220 : (TARGET_AVX512VL))))
13221 : return -1;
13222 : return 4661; /* avx512fp16_fix_truncv16hi2_mask */
13223 :
13224 : case 2:
13225 : if (!(
13226 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13227 : (TARGET_AVX512F) &&
13228 : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13229 : (TARGET_AVX512FP16)))
13230 : return -1;
13231 : return 4669; /* avx512fp16_fix_truncv32hi2_mask */
13232 :
13233 : case 3:
13234 : switch (GET_MODE (operands[1]))
13235 : {
13236 : case E_V8HFmode:
13237 : if (!vector_operand (operands[1], E_V8HFmode)
13238 : || !(
13239 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13240 : (TARGET_AVX512F) && (
13241 : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13242 : (TARGET_AVX512FP16) &&
13243 : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13244 : (TARGET_AVX512VL))))
13245 : return -1;
13246 : return 4677; /* avx512fp16_fix_truncv8si2_mask */
13247 :
13248 : case E_V8SFmode:
13249 : if (!nonimmediate_operand (operands[1], E_V8SFmode)
13250 : || !(
13251 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13252 : (TARGET_AVX512F) &&
13253 : #line 9126 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13254 : (TARGET_AVX && TARGET_AVX512VL)))
13255 : return -1;
13256 : return 4928; /* fix_truncv8sfv8si2_mask */
13257 :
13258 : case E_V8DFmode:
13259 : if (!vector_operand (operands[1], E_V8DFmode)
13260 : || !
13261 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13262 : (TARGET_AVX512F))
13263 : return -1;
13264 : return 5068; /* fix_truncv8dfv8si2_mask */
13265 :
13266 : default:
13267 : return -1;
13268 : }
13269 :
13270 : case 4:
13271 : if (!(
13272 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13273 : (TARGET_AVX512F) &&
13274 : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13275 : (TARGET_AVX512FP16)))
13276 : return -1;
13277 : return 4685; /* avx512fp16_fix_truncv16si2_mask */
13278 :
13279 : case 5:
13280 : if (!
13281 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13282 : (TARGET_AVX512F))
13283 : return -1;
13284 : return 4919; /* fix_truncv16sfv16si2_mask */
13285 :
13286 : case 6:
13287 : if (!(
13288 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13289 : (TARGET_AVX512F) &&
13290 : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13291 : (TARGET_AVX512FP16)))
13292 : return -1;
13293 : return 4693; /* avx512fp16_fix_truncv8di2_mask */
13294 :
13295 : case 7:
13296 : if (!(
13297 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13298 : (TARGET_AVX512F) &&
13299 : #line 10029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13300 : (TARGET_AVX512DQ && 1)))
13301 : return -1;
13302 : return 5105; /* fix_truncv8dfv8di2_mask */
13303 :
13304 : case 8:
13305 : if (!(
13306 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13307 : (TARGET_AVX512F) &&
13308 : #line 10072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13309 : (TARGET_AVX512DQ && 1)))
13310 : return -1;
13311 : return 5149; /* fix_truncv8sfv8di2_mask */
13312 :
13313 : case 9:
13314 : switch (GET_MODE (operands[1]))
13315 : {
13316 : case E_V4HFmode:
13317 : if (!memory_operand (operands[1], E_V4HFmode)
13318 : || !(
13319 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13320 : (TARGET_AVX512F) &&
13321 : #line 8262 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13322 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13323 : return -1;
13324 : return 4716; /* *avx512fp16_fix_truncv4si2_load_mask */
13325 :
13326 : case E_V4SFmode:
13327 : if (!vector_operand (operands[1], E_V4SFmode)
13328 : || !(
13329 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13330 : (TARGET_AVX512F) &&
13331 : #line 9156 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13332 : (TARGET_SSE2 && TARGET_AVX512VL)))
13333 : return -1;
13334 : return 4932; /* fix_truncv4sfv4si2_mask */
13335 :
13336 : case E_V4DFmode:
13337 : if (!nonimmediate_operand (operands[1], E_V4DFmode)
13338 : || !(
13339 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13340 : (TARGET_AVX512F) &&
13341 : #line 9989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13342 : (TARGET_AVX || (TARGET_AVX512VL && TARGET_AVX512F))))
13343 : return -1;
13344 : return 5082; /* fix_truncv4dfv4si2_mask */
13345 :
13346 : default:
13347 : return -1;
13348 : }
13349 :
13350 : case 10:
13351 : if (!(
13352 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13353 : (TARGET_AVX512F) &&
13354 : #line 8262 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13355 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13356 : return -1;
13357 : return 4720; /* *avx512fp16_fix_truncv4di2_load_mask */
13358 :
13359 : case 11:
13360 : if (!(
13361 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13362 : (TARGET_AVX512F) && (
13363 : #line 10029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13364 : (TARGET_AVX512DQ && 1) &&
13365 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13366 : (TARGET_AVX512VL))))
13367 : return -1;
13368 : return 5112; /* fix_truncv4dfv4di2_mask */
13369 :
13370 : case 12:
13371 : if (!(
13372 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13373 : (TARGET_AVX512F) && (
13374 : #line 10072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13375 : (TARGET_AVX512DQ && 1) &&
13376 : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13377 : (TARGET_AVX512VL))))
13378 : return -1;
13379 : return 5156; /* fix_truncv4sfv4di2_mask */
13380 :
13381 : case 13:
13382 : if (!(
13383 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13384 : (TARGET_AVX512F) &&
13385 : #line 8312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13386 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13387 : return -1;
13388 : return 4732; /* *avx512fp16_fix_truncv2di2_load_mask */
13389 :
13390 : case 14:
13391 : if (!(
13392 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13393 : (TARGET_AVX512F) && (
13394 : #line 10029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13395 : (TARGET_AVX512DQ && 1) &&
13396 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13397 : (TARGET_AVX512VL))))
13398 : return -1;
13399 : return 5116; /* fix_truncv2dfv2di2_mask */
13400 :
13401 : case 15:
13402 : if (!(
13403 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13404 : (TARGET_AVX512F) &&
13405 : #line 8252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13406 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13407 : return -1;
13408 : return 4708; /* avx512fp16_fix_truncv4si2_mask */
13409 :
13410 : case 16:
13411 : if (!(
13412 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13413 : (TARGET_AVX512F) &&
13414 : #line 8252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13415 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13416 : return -1;
13417 : return 4712; /* avx512fp16_fix_truncv4di2_mask */
13418 :
13419 : case 17:
13420 : if (!(
13421 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13422 : (TARGET_AVX512F) &&
13423 : #line 8302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13424 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13425 : return -1;
13426 : return 4728; /* avx512fp16_fix_truncv2di2_mask */
13427 :
13428 : case 18:
13429 : if (!(
13430 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13431 : (TARGET_AVX512F) &&
13432 : #line 10095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13433 : (TARGET_AVX512DQ && TARGET_AVX512VL)))
13434 : return -1;
13435 : return 5164; /* avx512dq_fix_truncv2sfv2di2_mask */
13436 :
13437 : default:
13438 : return -1;
13439 : }
13440 : }
13441 :
13442 : int
13443 : recog_217 (rtx x1 ATTRIBUTE_UNUSED,
13444 : rtx_insn *insn ATTRIBUTE_UNUSED,
13445 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13446 : {
13447 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13448 : rtx x2, x3;
13449 : int res ATTRIBUTE_UNUSED;
13450 : x2 = XEXP (x1, 1);
13451 : x3 = XVECEXP (x2, 0, 0);
13452 : operands[1] = x3;
13453 : switch (GET_MODE (operands[0]))
13454 : {
13455 : case E_V8SFmode:
13456 : if (!register_operand (operands[0], E_V8SFmode)
13457 : || GET_MODE (x2) != E_V8SFmode
13458 : || !vector_operand (operands[1], E_V8SFmode)
13459 : || !(
13460 : #line 3158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13461 : (TARGET_SSE) &&
13462 : #line 444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13463 : (TARGET_AVX)))
13464 : return -1;
13465 : return 3014; /* avx_rsqrtv8sf2 */
13466 :
13467 : case E_V4SFmode:
13468 : if (!register_operand (operands[0], E_V4SFmode)
13469 : || GET_MODE (x2) != E_V4SFmode
13470 : || !vector_operand (operands[1], E_V4SFmode)
13471 : || !
13472 : #line 3158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13473 : (TARGET_SSE))
13474 : return -1;
13475 : return 3015; /* sse_rsqrtv4sf2 */
13476 :
13477 : case E_V32HFmode:
13478 : if (!register_operand (operands[0], E_V32HFmode)
13479 : || GET_MODE (x2) != E_V32HFmode
13480 : || !vector_operand (operands[1], E_V32HFmode)
13481 : || !
13482 : #line 3170 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13483 : (TARGET_AVX512FP16))
13484 : return -1;
13485 : return 3016; /* avx512fp16_rsqrtv32hf2 */
13486 :
13487 : case E_V16HFmode:
13488 : if (!register_operand (operands[0], E_V16HFmode)
13489 : || GET_MODE (x2) != E_V16HFmode
13490 : || !vector_operand (operands[1], E_V16HFmode)
13491 : || !(
13492 : #line 3170 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13493 : (TARGET_AVX512FP16) &&
13494 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13495 : (TARGET_AVX512VL)))
13496 : return -1;
13497 : return 3018; /* avx512fp16_rsqrtv16hf2 */
13498 :
13499 : case E_V8HFmode:
13500 : if (!register_operand (operands[0], E_V8HFmode)
13501 : || GET_MODE (x2) != E_V8HFmode
13502 : || !vector_operand (operands[1], E_V8HFmode)
13503 : || !(
13504 : #line 3170 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13505 : (TARGET_AVX512FP16) &&
13506 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13507 : (TARGET_AVX512VL)))
13508 : return -1;
13509 : return 3020; /* avx512fp16_rsqrtv8hf2 */
13510 :
13511 : case E_V32BFmode:
13512 : if (!register_operand (operands[0], E_V32BFmode)
13513 : || GET_MODE (x2) != E_V32BFmode
13514 : || !nonimmediate_operand (operands[1], E_V32BFmode)
13515 : || !
13516 : #line 33100 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13517 : (TARGET_AVX10_2))
13518 : return -1;
13519 : return 10749; /* avx10_2_rsqrtbf16_v32bf */
13520 :
13521 : case E_V16BFmode:
13522 : if (!register_operand (operands[0], E_V16BFmode)
13523 : || GET_MODE (x2) != E_V16BFmode
13524 : || !nonimmediate_operand (operands[1], E_V16BFmode)
13525 : || !
13526 : #line 33100 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13527 : (TARGET_AVX10_2))
13528 : return -1;
13529 : return 10751; /* avx10_2_rsqrtbf16_v16bf */
13530 :
13531 : case E_V8BFmode:
13532 : if (!register_operand (operands[0], E_V8BFmode)
13533 : || GET_MODE (x2) != E_V8BFmode
13534 : || !nonimmediate_operand (operands[1], E_V8BFmode)
13535 : || !
13536 : #line 33100 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13537 : (TARGET_AVX10_2))
13538 : return -1;
13539 : return 10753; /* avx10_2_rsqrtbf16_v8bf */
13540 :
13541 : default:
13542 : return -1;
13543 : }
13544 : }
13545 :
13546 : int
13547 : recog_222 (rtx x1 ATTRIBUTE_UNUSED,
13548 : rtx_insn *insn ATTRIBUTE_UNUSED,
13549 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13550 : {
13551 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13552 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
13553 : rtx x10, x11, x12, x13, x14;
13554 : int res ATTRIBUTE_UNUSED;
13555 : x2 = XEXP (x1, 1);
13556 : x3 = XVECEXP (x2, 0, 0);
13557 : x4 = XEXP (x3, 2);
13558 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
13559 : return -1;
13560 : x5 = XEXP (x3, 0);
13561 : x6 = XEXP (x5, 2);
13562 : if (!register_operand (x6, E_QImode))
13563 : return -1;
13564 : x7 = XVECEXP (x2, 0, 1);
13565 : if (!const_4_or_8_to_11_operand (x7, E_SImode))
13566 : return -1;
13567 : x8 = XEXP (x5, 0);
13568 : x9 = XEXP (x8, 0);
13569 : switch (GET_CODE (x9))
13570 : {
13571 : case REG:
13572 : case SUBREG:
13573 : case MEM:
13574 : operands[1] = x9;
13575 : x10 = XEXP (x8, 1);
13576 : operands[2] = x10;
13577 : x11 = XEXP (x8, 2);
13578 : switch (GET_CODE (x11))
13579 : {
13580 : case REG:
13581 : case SUBREG:
13582 : case MEM:
13583 : operands[3] = x11;
13584 : switch (pattern1528 (x2))
13585 : {
13586 : case 0:
13587 : if (pattern1691 (x2,
13588 : E_V8HFmode) != 0)
13589 : return -1;
13590 : if (nonimmediate_operand (operands[1], E_V8HFmode)
13591 : && register_operand (operands[3], E_V8HFmode))
13592 : {
13593 : x12 = XEXP (x5, 1);
13594 : if (rtx_equal_p (x12, operands[1]))
13595 : {
13596 : x13 = XEXP (x3, 1);
13597 : if (rtx_equal_p (x13, operands[1])
13598 : && (
13599 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13600 : (TARGET_AVX512F) && (
13601 : #line 7018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13602 : (TARGET_AVX512F) &&
13603 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13604 : (TARGET_AVX512FP16))))
13605 : return 4282; /* avx512f_vmfmadd_v8hf_mask_round */
13606 : }
13607 : }
13608 : if (!register_operand (operands[1], E_V8HFmode)
13609 : || !nonimmediate_operand (operands[3], E_V8HFmode))
13610 : return -1;
13611 : x12 = XEXP (x5, 1);
13612 : if (!rtx_equal_p (x12, operands[3]))
13613 : return -1;
13614 : x13 = XEXP (x3, 1);
13615 : if (!rtx_equal_p (x13, operands[3])
13616 : || !(
13617 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13618 : (TARGET_AVX512F) && (
13619 : #line 7038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13620 : (TARGET_AVX512F) &&
13621 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13622 : (TARGET_AVX512FP16))))
13623 : return -1;
13624 : return 4288; /* avx512f_vmfmadd_v8hf_mask3_round */
13625 :
13626 : case 1:
13627 : if (pattern1691 (x2,
13628 : E_V4SFmode) != 0)
13629 : return -1;
13630 : if (nonimmediate_operand (operands[1], E_V4SFmode)
13631 : && register_operand (operands[3], E_V4SFmode))
13632 : {
13633 : x12 = XEXP (x5, 1);
13634 : if (rtx_equal_p (x12, operands[1]))
13635 : {
13636 : x13 = XEXP (x3, 1);
13637 : if (rtx_equal_p (x13, operands[1])
13638 : &&
13639 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13640 : (TARGET_AVX512F))
13641 : return 4284; /* avx512f_vmfmadd_v4sf_mask_round */
13642 : }
13643 : }
13644 : if (!register_operand (operands[1], E_V4SFmode)
13645 : || !nonimmediate_operand (operands[3], E_V4SFmode))
13646 : return -1;
13647 : x12 = XEXP (x5, 1);
13648 : if (!rtx_equal_p (x12, operands[3]))
13649 : return -1;
13650 : x13 = XEXP (x3, 1);
13651 : if (!rtx_equal_p (x13, operands[3])
13652 : || !
13653 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13654 : (TARGET_AVX512F))
13655 : return -1;
13656 : return 4290; /* avx512f_vmfmadd_v4sf_mask3_round */
13657 :
13658 : case 2:
13659 : if (pattern1691 (x2,
13660 : E_V2DFmode) != 0)
13661 : return -1;
13662 : if (nonimmediate_operand (operands[1], E_V2DFmode)
13663 : && register_operand (operands[3], E_V2DFmode))
13664 : {
13665 : x12 = XEXP (x5, 1);
13666 : if (rtx_equal_p (x12, operands[1]))
13667 : {
13668 : x13 = XEXP (x3, 1);
13669 : if (rtx_equal_p (x13, operands[1])
13670 : && (
13671 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13672 : (TARGET_AVX512F) && (
13673 : #line 7018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13674 : (TARGET_AVX512F) &&
13675 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13676 : (TARGET_SSE2))))
13677 : return 4286; /* avx512f_vmfmadd_v2df_mask_round */
13678 : }
13679 : }
13680 : if (!register_operand (operands[1], E_V2DFmode)
13681 : || !nonimmediate_operand (operands[3], E_V2DFmode))
13682 : return -1;
13683 : x12 = XEXP (x5, 1);
13684 : if (!rtx_equal_p (x12, operands[3]))
13685 : return -1;
13686 : x13 = XEXP (x3, 1);
13687 : if (!rtx_equal_p (x13, operands[3])
13688 : || !(
13689 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13690 : (TARGET_AVX512F) && (
13691 : #line 7038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13692 : (TARGET_AVX512F) &&
13693 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13694 : (TARGET_SSE2))))
13695 : return -1;
13696 : return 4292; /* avx512f_vmfmadd_v2df_mask3_round */
13697 :
13698 : case 3:
13699 : if (pattern1755 (x2,
13700 : E_V8HFmode) != 0
13701 : || !(
13702 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13703 : (TARGET_AVX512F) && (
13704 : #line 7070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13705 : (TARGET_AVX512F) &&
13706 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13707 : (TARGET_AVX512FP16))))
13708 : return -1;
13709 : return 4294; /* avx512f_vmfmadd_v8hf_maskz_1_round */
13710 :
13711 : case 4:
13712 : if (pattern1755 (x2,
13713 : E_V4SFmode) != 0
13714 : || !
13715 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13716 : (TARGET_AVX512F))
13717 : return -1;
13718 : return 4296; /* avx512f_vmfmadd_v4sf_maskz_1_round */
13719 :
13720 : case 5:
13721 : if (pattern1755 (x2,
13722 : E_V2DFmode) != 0
13723 : || !(
13724 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13725 : (TARGET_AVX512F) && (
13726 : #line 7070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13727 : (TARGET_AVX512F) &&
13728 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13729 : (TARGET_SSE2))))
13730 : return -1;
13731 : return 4298; /* avx512f_vmfmadd_v2df_maskz_1_round */
13732 :
13733 : default:
13734 : return -1;
13735 : }
13736 :
13737 : case NEG:
13738 : x14 = XEXP (x11, 0);
13739 : operands[3] = x14;
13740 : switch (pattern1528 (x2))
13741 : {
13742 : case 0:
13743 : if (pattern1692 (x2,
13744 : E_V8HFmode) != 0)
13745 : return -1;
13746 : if (nonimmediate_operand (operands[1], E_V8HFmode)
13747 : && register_operand (operands[3], E_V8HFmode))
13748 : {
13749 : x12 = XEXP (x5, 1);
13750 : if (rtx_equal_p (x12, operands[1]))
13751 : {
13752 : x13 = XEXP (x3, 1);
13753 : if (rtx_equal_p (x13, operands[1])
13754 : && (
13755 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13756 : (TARGET_AVX512F) && (
13757 : #line 7091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13758 : (TARGET_AVX512F) &&
13759 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13760 : (TARGET_AVX512FP16))))
13761 : return 4300; /* *avx512f_vmfmsub_v8hf_mask_round */
13762 : }
13763 : }
13764 : if (!register_operand (operands[1], E_V8HFmode)
13765 : || !nonimmediate_operand (operands[3], E_V8HFmode))
13766 : return -1;
13767 : x12 = XEXP (x5, 1);
13768 : if (!rtx_equal_p (x12, operands[3]))
13769 : return -1;
13770 : x13 = XEXP (x3, 1);
13771 : if (!rtx_equal_p (x13, operands[3])
13772 : || !(
13773 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13774 : (TARGET_AVX512F) && (
13775 : #line 7112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13776 : (TARGET_AVX512F) &&
13777 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13778 : (TARGET_AVX512FP16))))
13779 : return -1;
13780 : return 4306; /* avx512f_vmfmsub_v8hf_mask3_round */
13781 :
13782 : case 1:
13783 : if (pattern1692 (x2,
13784 : E_V4SFmode) != 0)
13785 : return -1;
13786 : if (nonimmediate_operand (operands[1], E_V4SFmode)
13787 : && register_operand (operands[3], E_V4SFmode))
13788 : {
13789 : x12 = XEXP (x5, 1);
13790 : if (rtx_equal_p (x12, operands[1]))
13791 : {
13792 : x13 = XEXP (x3, 1);
13793 : if (rtx_equal_p (x13, operands[1])
13794 : &&
13795 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13796 : (TARGET_AVX512F))
13797 : return 4302; /* *avx512f_vmfmsub_v4sf_mask_round */
13798 : }
13799 : }
13800 : if (!register_operand (operands[1], E_V4SFmode)
13801 : || !nonimmediate_operand (operands[3], E_V4SFmode))
13802 : return -1;
13803 : x12 = XEXP (x5, 1);
13804 : if (!rtx_equal_p (x12, operands[3]))
13805 : return -1;
13806 : x13 = XEXP (x3, 1);
13807 : if (!rtx_equal_p (x13, operands[3])
13808 : || !
13809 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13810 : (TARGET_AVX512F))
13811 : return -1;
13812 : return 4308; /* avx512f_vmfmsub_v4sf_mask3_round */
13813 :
13814 : case 2:
13815 : if (pattern1692 (x2,
13816 : E_V2DFmode) != 0)
13817 : return -1;
13818 : if (nonimmediate_operand (operands[1], E_V2DFmode)
13819 : && register_operand (operands[3], E_V2DFmode))
13820 : {
13821 : x12 = XEXP (x5, 1);
13822 : if (rtx_equal_p (x12, operands[1]))
13823 : {
13824 : x13 = XEXP (x3, 1);
13825 : if (rtx_equal_p (x13, operands[1])
13826 : && (
13827 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13828 : (TARGET_AVX512F) && (
13829 : #line 7091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13830 : (TARGET_AVX512F) &&
13831 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13832 : (TARGET_SSE2))))
13833 : return 4304; /* *avx512f_vmfmsub_v2df_mask_round */
13834 : }
13835 : }
13836 : if (!register_operand (operands[1], E_V2DFmode)
13837 : || !nonimmediate_operand (operands[3], E_V2DFmode))
13838 : return -1;
13839 : x12 = XEXP (x5, 1);
13840 : if (!rtx_equal_p (x12, operands[3]))
13841 : return -1;
13842 : x13 = XEXP (x3, 1);
13843 : if (!rtx_equal_p (x13, operands[3])
13844 : || !(
13845 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13846 : (TARGET_AVX512F) && (
13847 : #line 7112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13848 : (TARGET_AVX512F) &&
13849 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13850 : (TARGET_SSE2))))
13851 : return -1;
13852 : return 4310; /* avx512f_vmfmsub_v2df_mask3_round */
13853 :
13854 : case 3:
13855 : if (pattern1756 (x2,
13856 : E_V8HFmode) != 0
13857 : || !(
13858 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13859 : (TARGET_AVX512F) && (
13860 : #line 7131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13861 : (TARGET_AVX512F) &&
13862 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13863 : (TARGET_AVX512FP16))))
13864 : return -1;
13865 : return 4312; /* *avx512f_vmfmsub_v8hf_maskz_1_round */
13866 :
13867 : case 4:
13868 : if (pattern1756 (x2,
13869 : E_V4SFmode) != 0
13870 : || !
13871 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13872 : (TARGET_AVX512F))
13873 : return -1;
13874 : return 4314; /* *avx512f_vmfmsub_v4sf_maskz_1_round */
13875 :
13876 : case 5:
13877 : if (pattern1756 (x2,
13878 : E_V2DFmode) != 0
13879 : || !(
13880 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13881 : (TARGET_AVX512F) && (
13882 : #line 7131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13883 : (TARGET_AVX512F) &&
13884 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13885 : (TARGET_SSE2))))
13886 : return -1;
13887 : return 4316; /* *avx512f_vmfmsub_v2df_maskz_1_round */
13888 :
13889 : default:
13890 : return -1;
13891 : }
13892 :
13893 : default:
13894 : return -1;
13895 : }
13896 :
13897 : case NEG:
13898 : x11 = XEXP (x8, 2);
13899 : switch (GET_CODE (x11))
13900 : {
13901 : case REG:
13902 : case SUBREG:
13903 : case MEM:
13904 : operands[3] = x11;
13905 : switch (pattern1411 (x2))
13906 : {
13907 : case 0:
13908 : x10 = XEXP (x8, 1);
13909 : operands[2] = x10;
13910 : if (pattern1838 (x3,
13911 : E_V8HFmode) == 0
13912 : && (
13913 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13914 : (TARGET_AVX512F) && (
13915 : #line 7152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13916 : (TARGET_AVX512F) &&
13917 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13918 : (TARGET_AVX512FP16))))
13919 : return 4318; /* avx512f_vmfnmadd_v8hf_mask_round */
13920 : operands[1] = x10;
13921 : if (pattern1839 (x3,
13922 : E_V8HFmode) != 0
13923 : || !(
13924 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13925 : (TARGET_AVX512F) && (
13926 : #line 7173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13927 : (TARGET_AVX512F) &&
13928 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13929 : (TARGET_AVX512FP16))))
13930 : return -1;
13931 : return 4324; /* avx512f_vmfnmadd_v8hf_mask3_round */
13932 :
13933 : case 1:
13934 : x10 = XEXP (x8, 1);
13935 : operands[2] = x10;
13936 : if (pattern1838 (x3,
13937 : E_V4SFmode) == 0
13938 : &&
13939 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13940 : (TARGET_AVX512F))
13941 : return 4320; /* avx512f_vmfnmadd_v4sf_mask_round */
13942 : operands[1] = x10;
13943 : if (pattern1839 (x3,
13944 : E_V4SFmode) != 0
13945 : || !
13946 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13947 : (TARGET_AVX512F))
13948 : return -1;
13949 : return 4326; /* avx512f_vmfnmadd_v4sf_mask3_round */
13950 :
13951 : case 2:
13952 : x10 = XEXP (x8, 1);
13953 : operands[2] = x10;
13954 : if (pattern1838 (x3,
13955 : E_V2DFmode) == 0
13956 : && (
13957 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13958 : (TARGET_AVX512F) && (
13959 : #line 7152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13960 : (TARGET_AVX512F) &&
13961 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13962 : (TARGET_SSE2))))
13963 : return 4322; /* avx512f_vmfnmadd_v2df_mask_round */
13964 : operands[1] = x10;
13965 : if (pattern1839 (x3,
13966 : E_V2DFmode) != 0
13967 : || !(
13968 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13969 : (TARGET_AVX512F) && (
13970 : #line 7173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13971 : (TARGET_AVX512F) &&
13972 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13973 : (TARGET_SSE2))))
13974 : return -1;
13975 : return 4328; /* avx512f_vmfnmadd_v2df_mask3_round */
13976 :
13977 : case 3:
13978 : if (pattern1757 (x2,
13979 : E_V8HFmode) != 0
13980 : || !(
13981 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13982 : (TARGET_AVX512F) && (
13983 : #line 7206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13984 : (TARGET_AVX512F) &&
13985 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13986 : (TARGET_AVX512FP16))))
13987 : return -1;
13988 : return 4330; /* avx512f_vmfnmadd_v8hf_maskz_1_round */
13989 :
13990 : case 4:
13991 : if (pattern1757 (x2,
13992 : E_V4SFmode) != 0
13993 : || !
13994 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13995 : (TARGET_AVX512F))
13996 : return -1;
13997 : return 4332; /* avx512f_vmfnmadd_v4sf_maskz_1_round */
13998 :
13999 : case 5:
14000 : if (pattern1757 (x2,
14001 : E_V2DFmode) != 0
14002 : || !(
14003 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14004 : (TARGET_AVX512F) && (
14005 : #line 7206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14006 : (TARGET_AVX512F) &&
14007 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14008 : (TARGET_SSE2))))
14009 : return -1;
14010 : return 4334; /* avx512f_vmfnmadd_v2df_maskz_1_round */
14011 :
14012 : default:
14013 : return -1;
14014 : }
14015 :
14016 : case NEG:
14017 : x14 = XEXP (x11, 0);
14018 : operands[3] = x14;
14019 : switch (pattern1411 (x2))
14020 : {
14021 : case 0:
14022 : x10 = XEXP (x8, 1);
14023 : operands[2] = x10;
14024 : if (pattern1840 (x3,
14025 : E_V8HFmode) == 0
14026 : && (
14027 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14028 : (TARGET_AVX512F) && (
14029 : #line 7228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14030 : (TARGET_AVX512F) &&
14031 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14032 : (TARGET_AVX512FP16))))
14033 : return 4336; /* *avx512f_vmfnmsub_v8hf_mask_round */
14034 : operands[1] = x10;
14035 : if (pattern1841 (x3,
14036 : E_V8HFmode) != 0
14037 : || !(
14038 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14039 : (TARGET_AVX512F) && (
14040 : #line 7250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14041 : (TARGET_AVX512F) &&
14042 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14043 : (TARGET_AVX512FP16))))
14044 : return -1;
14045 : return 4342; /* *avx512f_vmfnmsub_v8hf_mask3_round */
14046 :
14047 : case 1:
14048 : x10 = XEXP (x8, 1);
14049 : operands[2] = x10;
14050 : if (pattern1840 (x3,
14051 : E_V4SFmode) == 0
14052 : &&
14053 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14054 : (TARGET_AVX512F))
14055 : return 4338; /* *avx512f_vmfnmsub_v4sf_mask_round */
14056 : operands[1] = x10;
14057 : if (pattern1841 (x3,
14058 : E_V4SFmode) != 0
14059 : || !
14060 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14061 : (TARGET_AVX512F))
14062 : return -1;
14063 : return 4344; /* *avx512f_vmfnmsub_v4sf_mask3_round */
14064 :
14065 : case 2:
14066 : x10 = XEXP (x8, 1);
14067 : operands[2] = x10;
14068 : if (pattern1840 (x3,
14069 : E_V2DFmode) == 0
14070 : && (
14071 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14072 : (TARGET_AVX512F) && (
14073 : #line 7228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14074 : (TARGET_AVX512F) &&
14075 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14076 : (TARGET_SSE2))))
14077 : return 4340; /* *avx512f_vmfnmsub_v2df_mask_round */
14078 : operands[1] = x10;
14079 : if (pattern1841 (x3,
14080 : E_V2DFmode) != 0
14081 : || !(
14082 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14083 : (TARGET_AVX512F) && (
14084 : #line 7250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14085 : (TARGET_AVX512F) &&
14086 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14087 : (TARGET_SSE2))))
14088 : return -1;
14089 : return 4346; /* *avx512f_vmfnmsub_v2df_mask3_round */
14090 :
14091 : case 3:
14092 : if (pattern1758 (x2,
14093 : E_V8HFmode) != 0
14094 : || !(
14095 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14096 : (TARGET_AVX512F) && (
14097 : #line 7270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14098 : (TARGET_AVX512F) &&
14099 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14100 : (TARGET_AVX512FP16))))
14101 : return -1;
14102 : return 4348; /* *avx512f_vmfnmsub_v8hf_maskz_1_round */
14103 :
14104 : case 4:
14105 : if (pattern1758 (x2,
14106 : E_V4SFmode) != 0
14107 : || !
14108 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14109 : (TARGET_AVX512F))
14110 : return -1;
14111 : return 4350; /* *avx512f_vmfnmsub_v4sf_maskz_1_round */
14112 :
14113 : case 5:
14114 : if (pattern1758 (x2,
14115 : E_V2DFmode) != 0
14116 : || !(
14117 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14118 : (TARGET_AVX512F) && (
14119 : #line 7270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14120 : (TARGET_AVX512F) &&
14121 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14122 : (TARGET_SSE2))))
14123 : return -1;
14124 : return 4352; /* *avx512f_vmfnmsub_v2df_maskz_1_round */
14125 :
14126 : default:
14127 : return -1;
14128 : }
14129 :
14130 : default:
14131 : return -1;
14132 : }
14133 :
14134 : default:
14135 : return -1;
14136 : }
14137 : }
14138 :
14139 : int
14140 : recog_233 (rtx x1 ATTRIBUTE_UNUSED,
14141 : rtx_insn *insn ATTRIBUTE_UNUSED,
14142 : int *pnum_clobbers ATTRIBUTE_UNUSED)
14143 : {
14144 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14145 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
14146 : int res ATTRIBUTE_UNUSED;
14147 : x2 = XEXP (x1, 1);
14148 : x3 = XVECEXP (x2, 0, 0);
14149 : switch (XVECLEN (x3, 0))
14150 : {
14151 : case 2:
14152 : x4 = XVECEXP (x3, 0, 0);
14153 : operands[1] = x4;
14154 : x5 = XVECEXP (x3, 0, 1);
14155 : operands[2] = x5;
14156 : x6 = XVECEXP (x2, 0, 1);
14157 : operands[3] = x6;
14158 : switch (XINT (x3, 1))
14159 : {
14160 : case 64:
14161 : switch (pattern1144 (x2))
14162 : {
14163 : case 0:
14164 : if (!(
14165 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14166 : (TARGET_AVX512F) && (
14167 : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14168 : (TARGET_SSE
14169 : && 1
14170 : && (V32HFmode == V16SFmode
14171 : || V32HFmode == V8DFmode
14172 : || V32HFmode == V8DImode
14173 : || V32HFmode == V16SImode
14174 : || V32HFmode == V32HFmode)) &&
14175 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14176 : (TARGET_AVX512FP16))))
14177 : return -1;
14178 : return 3114; /* ieee_maxv32hf3_round */
14179 :
14180 : case 1:
14181 : if (!(
14182 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14183 : (TARGET_AVX512F) && (
14184 : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14185 : (TARGET_SSE
14186 : && 1
14187 : && (V16SFmode == V16SFmode
14188 : || V16SFmode == V8DFmode
14189 : || V16SFmode == V8DImode
14190 : || V16SFmode == V16SImode
14191 : || V16SFmode == V32HFmode)) &&
14192 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14193 : (TARGET_AVX512F))))
14194 : return -1;
14195 : return 3130; /* ieee_maxv16sf3_round */
14196 :
14197 : case 2:
14198 : if (!(
14199 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14200 : (TARGET_AVX512F) && (
14201 : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14202 : (TARGET_SSE
14203 : && 1
14204 : && (V8DFmode == V16SFmode
14205 : || V8DFmode == V8DFmode
14206 : || V8DFmode == V8DImode
14207 : || V8DFmode == V16SImode
14208 : || V8DFmode == V32HFmode)) &&
14209 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14210 : (TARGET_AVX512F))))
14211 : return -1;
14212 : return 3146; /* ieee_maxv8df3_round */
14213 :
14214 : default:
14215 : return -1;
14216 : }
14217 :
14218 : case 63:
14219 : switch (pattern1144 (x2))
14220 : {
14221 : case 0:
14222 : if (!(
14223 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14224 : (TARGET_AVX512F) && (
14225 : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14226 : (TARGET_SSE
14227 : && 1
14228 : && (V32HFmode == V16SFmode
14229 : || V32HFmode == V8DFmode
14230 : || V32HFmode == V8DImode
14231 : || V32HFmode == V16SImode
14232 : || V32HFmode == V32HFmode)) &&
14233 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14234 : (TARGET_AVX512FP16))))
14235 : return -1;
14236 : return 3118; /* ieee_minv32hf3_round */
14237 :
14238 : case 1:
14239 : if (!(
14240 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14241 : (TARGET_AVX512F) && (
14242 : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14243 : (TARGET_SSE
14244 : && 1
14245 : && (V16SFmode == V16SFmode
14246 : || V16SFmode == V8DFmode
14247 : || V16SFmode == V8DImode
14248 : || V16SFmode == V16SImode
14249 : || V16SFmode == V32HFmode)) &&
14250 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14251 : (TARGET_AVX512F))))
14252 : return -1;
14253 : return 3134; /* ieee_minv16sf3_round */
14254 :
14255 : case 2:
14256 : if (!(
14257 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14258 : (TARGET_AVX512F) && (
14259 : #line 3463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14260 : (TARGET_SSE
14261 : && 1
14262 : && (V8DFmode == V16SFmode
14263 : || V8DFmode == V8DFmode
14264 : || V8DFmode == V8DImode
14265 : || V8DFmode == V16SImode
14266 : || V8DFmode == V32HFmode)) &&
14267 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14268 : (TARGET_AVX512F))))
14269 : return -1;
14270 : return 3150; /* ieee_minv8df3_round */
14271 :
14272 : default:
14273 : return -1;
14274 : }
14275 :
14276 : case 193:
14277 : if (!const_0_to_255_operand (operands[2], E_SImode)
14278 : || !const48_operand (operands[3], E_SImode))
14279 : return -1;
14280 : switch (GET_MODE (operands[0]))
14281 : {
14282 : case E_V32HFmode:
14283 : if (pattern1232 (x2,
14284 : E_V32HFmode) != 0
14285 : || !(
14286 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14287 : (TARGET_AVX512F) && (
14288 : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14289 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V32HFmode))) &&
14290 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14291 : (TARGET_AVX512FP16))))
14292 : return -1;
14293 : return 3230; /* *reducepv32hf_round */
14294 :
14295 : case E_V16HFmode:
14296 : if (pattern1232 (x2,
14297 : E_V16HFmode) != 0
14298 : || !(
14299 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14300 : (TARGET_AVX512F) && (
14301 : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14302 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V16HFmode))) &&
14303 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14304 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14305 : return -1;
14306 : return 3234; /* *reducepv16hf_round */
14307 :
14308 : case E_V8HFmode:
14309 : if (pattern1232 (x2,
14310 : E_V8HFmode) != 0
14311 : || !(
14312 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14313 : (TARGET_AVX512F) && (
14314 : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14315 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8HFmode))) &&
14316 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14317 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14318 : return -1;
14319 : return 3238; /* *reducepv8hf_round */
14320 :
14321 : case E_V16SFmode:
14322 : if (pattern1232 (x2,
14323 : E_V16SFmode) != 0
14324 : || !(
14325 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14326 : (TARGET_AVX512F) &&
14327 : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14328 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V16SFmode)))))
14329 : return -1;
14330 : return 3242; /* *reducepv16sf_round */
14331 :
14332 : case E_V8SFmode:
14333 : if (pattern1232 (x2,
14334 : E_V8SFmode) != 0
14335 : || !(
14336 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14337 : (TARGET_AVX512F) && (
14338 : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14339 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8SFmode))) &&
14340 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14341 : (TARGET_AVX512VL))))
14342 : return -1;
14343 : return 3246; /* *reducepv8sf_round */
14344 :
14345 : case E_V4SFmode:
14346 : if (pattern1232 (x2,
14347 : E_V4SFmode) != 0
14348 : || !(
14349 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14350 : (TARGET_AVX512F) && (
14351 : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14352 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4SFmode))) &&
14353 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14354 : (TARGET_AVX512VL))))
14355 : return -1;
14356 : return 3250; /* *reducepv4sf_round */
14357 :
14358 : case E_V8DFmode:
14359 : if (pattern1232 (x2,
14360 : E_V8DFmode) != 0
14361 : || !(
14362 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14363 : (TARGET_AVX512F) &&
14364 : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14365 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8DFmode)))))
14366 : return -1;
14367 : return 3254; /* *reducepv8df_round */
14368 :
14369 : case E_V4DFmode:
14370 : if (pattern1232 (x2,
14371 : E_V4DFmode) != 0
14372 : || !(
14373 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14374 : (TARGET_AVX512F) && (
14375 : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14376 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4DFmode))) &&
14377 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14378 : (TARGET_AVX512VL))))
14379 : return -1;
14380 : return 3258; /* *reducepv4df_round */
14381 :
14382 : case E_V2DFmode:
14383 : if (pattern1232 (x2,
14384 : E_V2DFmode) != 0
14385 : || !(
14386 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14387 : (TARGET_AVX512F) && (
14388 : #line 4253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14389 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V2DFmode))) &&
14390 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14391 : (TARGET_AVX512VL))))
14392 : return -1;
14393 : return 3262; /* *reducepv2df_round */
14394 :
14395 : default:
14396 : return -1;
14397 : }
14398 :
14399 : case 222:
14400 : if (pattern1145 (x2) != 0
14401 : || !(
14402 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14403 : (TARGET_AVX512F) &&
14404 : #line 7665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14405 : (TARGET_AVX512FP16 && (V32HFmode == V16SFmode
14406 : || V32HFmode == V8DFmode
14407 : || V32HFmode == V8DImode
14408 : || V32HFmode == V16SImode
14409 : || V32HFmode == V32HFmode))))
14410 : return -1;
14411 : return 4411; /* avx512bw_fmulc_v32hf_round */
14412 :
14413 : case 223:
14414 : if (pattern1145 (x2) != 0
14415 : || !(
14416 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14417 : (TARGET_AVX512F) &&
14418 : #line 7665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14419 : (TARGET_AVX512FP16 && (V32HFmode == V16SFmode
14420 : || V32HFmode == V8DFmode
14421 : || V32HFmode == V8DImode
14422 : || V32HFmode == V16SImode
14423 : || V32HFmode == V32HFmode))))
14424 : return -1;
14425 : return 4415; /* avx512bw_fcmulc_v32hf_round */
14426 :
14427 : case 59:
14428 : if (!const_4_or_8_to_11_operand (operands[3], E_SImode))
14429 : return -1;
14430 : switch (GET_MODE (operands[0]))
14431 : {
14432 : case E_V32HFmode:
14433 : if (pattern1319 (x2,
14434 : E_V32HFmode) != 0
14435 : || !(
14436 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14437 : (TARGET_AVX512F) && (
14438 : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14439 : (TARGET_AVX512F) &&
14440 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14441 : (TARGET_AVX512FP16))))
14442 : return -1;
14443 : return 5442; /* avx512bw_scalefv32hf_round */
14444 :
14445 : case E_V16HFmode:
14446 : if (pattern1319 (x2,
14447 : E_V16HFmode) != 0
14448 : || !(
14449 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14450 : (TARGET_AVX512F) && (
14451 : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14452 : (TARGET_AVX512F) &&
14453 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14454 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14455 : return -1;
14456 : return 5446; /* avx512vl_scalefv16hf_round */
14457 :
14458 : case E_V8HFmode:
14459 : if (pattern1319 (x2,
14460 : E_V8HFmode) != 0
14461 : || !(
14462 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14463 : (TARGET_AVX512F) && (
14464 : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14465 : (TARGET_AVX512F) &&
14466 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14467 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14468 : return -1;
14469 : return 5450; /* avx512fp16_scalefv8hf_round */
14470 :
14471 : case E_V16SFmode:
14472 : if (pattern1319 (x2,
14473 : E_V16SFmode) != 0
14474 : || !
14475 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14476 : (TARGET_AVX512F))
14477 : return -1;
14478 : return 5454; /* avx512f_scalefv16sf_round */
14479 :
14480 : case E_V8SFmode:
14481 : if (pattern1319 (x2,
14482 : E_V8SFmode) != 0
14483 : || !(
14484 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14485 : (TARGET_AVX512F) && (
14486 : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14487 : (TARGET_AVX512F) &&
14488 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14489 : (TARGET_AVX512VL))))
14490 : return -1;
14491 : return 5458; /* avx512vl_scalefv8sf_round */
14492 :
14493 : case E_V4SFmode:
14494 : if (pattern1319 (x2,
14495 : E_V4SFmode) != 0
14496 : || !(
14497 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14498 : (TARGET_AVX512F) && (
14499 : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14500 : (TARGET_AVX512F) &&
14501 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14502 : (TARGET_AVX512VL))))
14503 : return -1;
14504 : return 5462; /* avx512vl_scalefv4sf_round */
14505 :
14506 : case E_V8DFmode:
14507 : if (pattern1319 (x2,
14508 : E_V8DFmode) != 0
14509 : || !
14510 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14511 : (TARGET_AVX512F))
14512 : return -1;
14513 : return 5466; /* avx512f_scalefv8df_round */
14514 :
14515 : case E_V4DFmode:
14516 : if (pattern1319 (x2,
14517 : E_V4DFmode) != 0
14518 : || !(
14519 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14520 : (TARGET_AVX512F) && (
14521 : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14522 : (TARGET_AVX512F) &&
14523 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14524 : (TARGET_AVX512VL))))
14525 : return -1;
14526 : return 5470; /* avx512vl_scalefv4df_round */
14527 :
14528 : case E_V2DFmode:
14529 : if (pattern1319 (x2,
14530 : E_V2DFmode) != 0
14531 : || !(
14532 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14533 : (TARGET_AVX512F) && (
14534 : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14535 : (TARGET_AVX512F) &&
14536 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14537 : (TARGET_AVX512VL))))
14538 : return -1;
14539 : return 5474; /* avx512vl_scalefv2df_round */
14540 :
14541 : default:
14542 : return -1;
14543 : }
14544 :
14545 : case 95:
14546 : if (!const_0_to_255_operand (operands[2], E_SImode))
14547 : return -1;
14548 : switch (pattern1230 (x2))
14549 : {
14550 : case 0:
14551 : if (!(
14552 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14553 : (TARGET_AVX512F) && (
14554 : #line 14549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14555 : (TARGET_AVX512F) &&
14556 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14557 : (TARGET_AVX512FP16))))
14558 : return -1;
14559 : return 7172; /* avx512bw_rndscalev32hf_round */
14560 :
14561 : case 1:
14562 : if (!(
14563 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14564 : (TARGET_AVX512F) && (
14565 : #line 14549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14566 : (TARGET_AVX512F) &&
14567 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14568 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14569 : return -1;
14570 : return 7176; /* avx512vl_rndscalev16hf_round */
14571 :
14572 : case 2:
14573 : if (!(
14574 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14575 : (TARGET_AVX512F) && (
14576 : #line 14549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14577 : (TARGET_AVX512F) &&
14578 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14579 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14580 : return -1;
14581 : return 7180; /* avx512fp16_rndscalev8hf_round */
14582 :
14583 : case 3:
14584 : if (!
14585 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14586 : (TARGET_AVX512F))
14587 : return -1;
14588 : return 7184; /* avx512f_rndscalev16sf_round */
14589 :
14590 : case 4:
14591 : if (!(
14592 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14593 : (TARGET_AVX512F) && (
14594 : #line 14549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14595 : (TARGET_AVX512F) &&
14596 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14597 : (TARGET_AVX512VL))))
14598 : return -1;
14599 : return 7188; /* avx512vl_rndscalev8sf_round */
14600 :
14601 : case 5:
14602 : if (!(
14603 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14604 : (TARGET_AVX512F) && (
14605 : #line 14549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14606 : (TARGET_AVX512F) &&
14607 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14608 : (TARGET_AVX512VL))))
14609 : return -1;
14610 : return 7192; /* avx512vl_rndscalev4sf_round */
14611 :
14612 : case 6:
14613 : if (!
14614 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14615 : (TARGET_AVX512F))
14616 : return -1;
14617 : return 7196; /* avx512f_rndscalev8df_round */
14618 :
14619 : case 7:
14620 : if (!(
14621 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14622 : (TARGET_AVX512F) && (
14623 : #line 14549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14624 : (TARGET_AVX512F) &&
14625 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14626 : (TARGET_AVX512VL))))
14627 : return -1;
14628 : return 7200; /* avx512vl_rndscalev4df_round */
14629 :
14630 : case 8:
14631 : if (!(
14632 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14633 : (TARGET_AVX512F) && (
14634 : #line 14549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14635 : (TARGET_AVX512F) &&
14636 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14637 : (TARGET_AVX512VL))))
14638 : return -1;
14639 : return 7204; /* avx512vl_rndscalev2df_round */
14640 :
14641 : default:
14642 : return -1;
14643 : }
14644 :
14645 : case 151:
14646 : if (GET_MODE (x3) != E_V16HImode
14647 : || !register_operand (operands[0], E_V16HImode)
14648 : || GET_MODE (x2) != E_V16HImode
14649 : || !register_operand (operands[1], E_V16SFmode)
14650 : || !const_0_to_255_operand (operands[2], E_SImode)
14651 : || !const48_operand (operands[3], E_SImode)
14652 : || !
14653 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14654 : (TARGET_AVX512F))
14655 : return -1;
14656 : return 9738; /* *avx512f_vcvtps2ph512_round */
14657 :
14658 : case 167:
14659 : if (!const_0_to_15_operand (operands[2], E_SImode))
14660 : return -1;
14661 : switch (pattern1230 (x2))
14662 : {
14663 : case 0:
14664 : if (!(
14665 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14666 : (TARGET_AVX512F) && (
14667 : #line 30583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14668 : (TARGET_AVX512F) &&
14669 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14670 : (TARGET_AVX512FP16))))
14671 : return -1;
14672 : return 10080; /* avx512bw_getmantv32hf_round */
14673 :
14674 : case 1:
14675 : if (!(
14676 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14677 : (TARGET_AVX512F) && (
14678 : #line 30583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14679 : (TARGET_AVX512F) &&
14680 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14681 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14682 : return -1;
14683 : return 10084; /* avx512vl_getmantv16hf_round */
14684 :
14685 : case 2:
14686 : if (!(
14687 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14688 : (TARGET_AVX512F) && (
14689 : #line 30583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14690 : (TARGET_AVX512F) &&
14691 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14692 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14693 : return -1;
14694 : return 10088; /* avx512fp16_getmantv8hf_round */
14695 :
14696 : case 3:
14697 : if (!
14698 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14699 : (TARGET_AVX512F))
14700 : return -1;
14701 : return 10092; /* avx512f_getmantv16sf_round */
14702 :
14703 : case 4:
14704 : if (!(
14705 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14706 : (TARGET_AVX512F) && (
14707 : #line 30583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14708 : (TARGET_AVX512F) &&
14709 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14710 : (TARGET_AVX512VL))))
14711 : return -1;
14712 : return 10096; /* avx512vl_getmantv8sf_round */
14713 :
14714 : case 5:
14715 : if (!(
14716 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14717 : (TARGET_AVX512F) && (
14718 : #line 30583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14719 : (TARGET_AVX512F) &&
14720 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14721 : (TARGET_AVX512VL))))
14722 : return -1;
14723 : return 10100; /* avx512vl_getmantv4sf_round */
14724 :
14725 : case 6:
14726 : if (!
14727 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14728 : (TARGET_AVX512F))
14729 : return -1;
14730 : return 10104; /* avx512f_getmantv8df_round */
14731 :
14732 : case 7:
14733 : if (!(
14734 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14735 : (TARGET_AVX512F) && (
14736 : #line 30583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14737 : (TARGET_AVX512F) &&
14738 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14739 : (TARGET_AVX512VL))))
14740 : return -1;
14741 : return 10108; /* avx512vl_getmantv4df_round */
14742 :
14743 : case 8:
14744 : if (!(
14745 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14746 : (TARGET_AVX512F) && (
14747 : #line 30583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14748 : (TARGET_AVX512F) &&
14749 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14750 : (TARGET_AVX512VL))))
14751 : return -1;
14752 : return 10112; /* avx512vl_getmantv2df_round */
14753 :
14754 : default:
14755 : return -1;
14756 : }
14757 :
14758 : default:
14759 : return -1;
14760 : }
14761 :
14762 : case 3:
14763 : x4 = XVECEXP (x3, 0, 0);
14764 : operands[1] = x4;
14765 : x5 = XVECEXP (x3, 0, 1);
14766 : operands[2] = x5;
14767 : x6 = XVECEXP (x2, 0, 1);
14768 : operands[4] = x6;
14769 : switch (XINT (x3, 1))
14770 : {
14771 : case 134:
14772 : if (!const_4_or_8_to_11_operand (operands[4], E_SImode))
14773 : return -1;
14774 : x7 = XVECEXP (x3, 0, 2);
14775 : switch (GET_CODE (x7))
14776 : {
14777 : case REG:
14778 : case SUBREG:
14779 : operands[3] = x7;
14780 : switch (GET_MODE (operands[0]))
14781 : {
14782 : case E_V32HFmode:
14783 : if (pattern1488 (x2,
14784 : E_V32HFmode) != 0
14785 : || !(
14786 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14787 : (TARGET_AVX512F) && (
14788 : #line 6768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14789 : (TARGET_AVX512F && 1 && (V32HFmode == V16SFmode
14790 : || V32HFmode == V8DFmode
14791 : || V32HFmode == V8DImode
14792 : || V32HFmode == V16SImode
14793 : || V32HFmode == V32HFmode)) &&
14794 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14795 : (TARGET_AVX512FP16))))
14796 : return -1;
14797 : return 4135; /* *fma_fmaddsub_v32hf_round */
14798 :
14799 : case E_V16SFmode:
14800 : if (pattern1488 (x2,
14801 : E_V16SFmode) != 0
14802 : || !(
14803 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14804 : (TARGET_AVX512F) &&
14805 : #line 6768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14806 : (TARGET_AVX512F && 1 && (V16SFmode == V16SFmode
14807 : || V16SFmode == V8DFmode
14808 : || V16SFmode == V8DImode
14809 : || V16SFmode == V16SImode
14810 : || V16SFmode == V32HFmode))))
14811 : return -1;
14812 : return 4143; /* *fma_fmaddsub_v16sf_round */
14813 :
14814 : case E_V8DFmode:
14815 : if (pattern1488 (x2,
14816 : E_V8DFmode) != 0
14817 : || !(
14818 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14819 : (TARGET_AVX512F) &&
14820 : #line 6768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14821 : (TARGET_AVX512F && 1 && (V8DFmode == V16SFmode
14822 : || V8DFmode == V8DFmode
14823 : || V8DFmode == V8DImode
14824 : || V8DFmode == V16SImode
14825 : || V8DFmode == V32HFmode))))
14826 : return -1;
14827 : return 4151; /* *fma_fmaddsub_v8df_round */
14828 :
14829 : default:
14830 : return -1;
14831 : }
14832 :
14833 : case NEG:
14834 : x8 = XEXP (x7, 0);
14835 : operands[3] = x8;
14836 : switch (GET_MODE (operands[0]))
14837 : {
14838 : case E_V32HFmode:
14839 : if (pattern1489 (x2,
14840 : E_V32HFmode) != 0
14841 : || !(
14842 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14843 : (TARGET_AVX512F) && (
14844 : #line 6838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14845 : (TARGET_AVX512F && 1 && (V32HFmode == V16SFmode
14846 : || V32HFmode == V8DFmode
14847 : || V32HFmode == V8DImode
14848 : || V32HFmode == V16SImode
14849 : || V32HFmode == V32HFmode)) &&
14850 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14851 : (TARGET_AVX512FP16))))
14852 : return -1;
14853 : return 4199; /* *fma_fmsubadd_v32hf_round */
14854 :
14855 : case E_V16SFmode:
14856 : if (pattern1489 (x2,
14857 : E_V16SFmode) != 0
14858 : || !(
14859 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14860 : (TARGET_AVX512F) &&
14861 : #line 6838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14862 : (TARGET_AVX512F && 1 && (V16SFmode == V16SFmode
14863 : || V16SFmode == V8DFmode
14864 : || V16SFmode == V8DImode
14865 : || V16SFmode == V16SImode
14866 : || V16SFmode == V32HFmode))))
14867 : return -1;
14868 : return 4207; /* *fma_fmsubadd_v16sf_round */
14869 :
14870 : case E_V8DFmode:
14871 : if (pattern1489 (x2,
14872 : E_V8DFmode) != 0
14873 : || !(
14874 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14875 : (TARGET_AVX512F) &&
14876 : #line 6838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14877 : (TARGET_AVX512F && 1 && (V8DFmode == V16SFmode
14878 : || V8DFmode == V8DFmode
14879 : || V8DFmode == V8DImode
14880 : || V8DFmode == V16SImode
14881 : || V8DFmode == V32HFmode))))
14882 : return -1;
14883 : return 4215; /* *fma_fmsubadd_v8df_round */
14884 :
14885 : default:
14886 : return -1;
14887 : }
14888 :
14889 : default:
14890 : return -1;
14891 : }
14892 :
14893 : case 218:
14894 : if (pattern1146 (x2) != 0
14895 : || !(
14896 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14897 : (TARGET_AVX512F) &&
14898 : #line 7507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14899 : (TARGET_AVX512FP16 && 1 && (V32HFmode == V16SFmode
14900 : || V32HFmode == V8DFmode
14901 : || V32HFmode == V8DImode
14902 : || V32HFmode == V16SImode
14903 : || V32HFmode == V32HFmode))))
14904 : return -1;
14905 : return 4362; /* fma_fmaddc_v32hf_round */
14906 :
14907 : case 220:
14908 : if (pattern1146 (x2) != 0
14909 : || !(
14910 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14911 : (TARGET_AVX512F) &&
14912 : #line 7507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14913 : (TARGET_AVX512FP16 && 1 && (V32HFmode == V16SFmode
14914 : || V32HFmode == V8DFmode
14915 : || V32HFmode == V8DImode
14916 : || V32HFmode == V16SImode
14917 : || V32HFmode == V32HFmode))))
14918 : return -1;
14919 : return 4366; /* fma_fcmaddc_v32hf_round */
14920 :
14921 : case 195:
14922 : x7 = XVECEXP (x3, 0, 2);
14923 : operands[3] = x7;
14924 : if (!const_0_to_15_operand (operands[3], E_SImode)
14925 : || !const48_operand (operands[4], E_SImode))
14926 : return -1;
14927 : switch (GET_MODE (operands[0]))
14928 : {
14929 : case E_V16SFmode:
14930 : if (pattern1143 (x2,
14931 : E_V16SFmode) != 0
14932 : || !(
14933 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14934 : (TARGET_AVX512F) &&
14935 : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14936 : (TARGET_AVX512DQ && (V16SFmode == V16SFmode
14937 : || V16SFmode == V8DFmode
14938 : || V16SFmode == V8DImode
14939 : || V16SFmode == V16SImode
14940 : || V16SFmode == V32HFmode))))
14941 : return -1;
14942 : return 10032; /* avx512dq_rangepv16sf_round */
14943 :
14944 : case E_V8DFmode:
14945 : if (pattern1143 (x2,
14946 : E_V8DFmode) != 0
14947 : || !(
14948 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14949 : (TARGET_AVX512F) &&
14950 : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14951 : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
14952 : || V8DFmode == V8DFmode
14953 : || V8DFmode == V8DImode
14954 : || V8DFmode == V16SImode
14955 : || V8DFmode == V32HFmode))))
14956 : return -1;
14957 : return 10040; /* avx512dq_rangepv8df_round */
14958 :
14959 : default:
14960 : return -1;
14961 : }
14962 :
14963 : case 279:
14964 : x7 = XVECEXP (x3, 0, 2);
14965 : operands[3] = x7;
14966 : if (!const_0_to_255_operand (operands[3], E_SImode)
14967 : || !const48_operand (operands[4], E_SImode))
14968 : return -1;
14969 : switch (GET_MODE (operands[0]))
14970 : {
14971 : case E_V32HFmode:
14972 : if (pattern1143 (x2,
14973 : E_V32HFmode) != 0
14974 : || !(
14975 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14976 : (TARGET_AVX512F) && (
14977 : #line 33361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14978 : (TARGET_AVX10_2) &&
14979 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14980 : (TARGET_AVX512FP16))))
14981 : return -1;
14982 : return 10978; /* avx10_2_minmaxpv32hf_round */
14983 :
14984 : case E_V16HFmode:
14985 : if (pattern1143 (x2,
14986 : E_V16HFmode) != 0
14987 : || !(
14988 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14989 : (TARGET_AVX512F) && (
14990 : #line 33361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14991 : (TARGET_AVX10_2) &&
14992 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14993 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14994 : return -1;
14995 : return 10982; /* avx10_2_minmaxpv16hf_round */
14996 :
14997 : case E_V8HFmode:
14998 : if (pattern1143 (x2,
14999 : E_V8HFmode) != 0
15000 : || !(
15001 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15002 : (TARGET_AVX512F) && (
15003 : #line 33361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15004 : (TARGET_AVX10_2) &&
15005 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15006 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
15007 : return -1;
15008 : return 10986; /* avx10_2_minmaxpv8hf_round */
15009 :
15010 : case E_V16SFmode:
15011 : if (pattern1143 (x2,
15012 : E_V16SFmode) != 0
15013 : || !(
15014 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15015 : (TARGET_AVX512F) &&
15016 : #line 33361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15017 : (TARGET_AVX10_2)))
15018 : return -1;
15019 : return 10990; /* avx10_2_minmaxpv16sf_round */
15020 :
15021 : case E_V8SFmode:
15022 : if (pattern1143 (x2,
15023 : E_V8SFmode) != 0
15024 : || !(
15025 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15026 : (TARGET_AVX512F) && (
15027 : #line 33361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15028 : (TARGET_AVX10_2) &&
15029 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15030 : (TARGET_AVX512VL))))
15031 : return -1;
15032 : return 10994; /* avx10_2_minmaxpv8sf_round */
15033 :
15034 : case E_V4SFmode:
15035 : if (pattern1143 (x2,
15036 : E_V4SFmode) != 0
15037 : || !(
15038 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15039 : (TARGET_AVX512F) && (
15040 : #line 33361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15041 : (TARGET_AVX10_2) &&
15042 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15043 : (TARGET_AVX512VL))))
15044 : return -1;
15045 : return 10998; /* avx10_2_minmaxpv4sf_round */
15046 :
15047 : case E_V8DFmode:
15048 : if (pattern1143 (x2,
15049 : E_V8DFmode) != 0
15050 : || !(
15051 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15052 : (TARGET_AVX512F) &&
15053 : #line 33361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15054 : (TARGET_AVX10_2)))
15055 : return -1;
15056 : return 11002; /* avx10_2_minmaxpv8df_round */
15057 :
15058 : case E_V4DFmode:
15059 : if (pattern1143 (x2,
15060 : E_V4DFmode) != 0
15061 : || !(
15062 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15063 : (TARGET_AVX512F) && (
15064 : #line 33361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15065 : (TARGET_AVX10_2) &&
15066 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15067 : (TARGET_AVX512VL))))
15068 : return -1;
15069 : return 11006; /* avx10_2_minmaxpv4df_round */
15070 :
15071 : case E_V2DFmode:
15072 : if (pattern1143 (x2,
15073 : E_V2DFmode) != 0
15074 : || !(
15075 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15076 : (TARGET_AVX512F) && (
15077 : #line 33361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15078 : (TARGET_AVX10_2) &&
15079 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15080 : (TARGET_AVX512VL))))
15081 : return -1;
15082 : return 11010; /* avx10_2_minmaxpv2df_round */
15083 :
15084 : default:
15085 : return -1;
15086 : }
15087 :
15088 : default:
15089 : return -1;
15090 : }
15091 :
15092 : case 1:
15093 : return recog_231 (x1, insn, pnum_clobbers);
15094 :
15095 : case 4:
15096 : if (XINT (x3, 1) != 164)
15097 : return -1;
15098 : x4 = XVECEXP (x3, 0, 0);
15099 : operands[1] = x4;
15100 : x5 = XVECEXP (x3, 0, 1);
15101 : operands[2] = x5;
15102 : x7 = XVECEXP (x3, 0, 2);
15103 : operands[3] = x7;
15104 : x9 = XVECEXP (x3, 0, 3);
15105 : operands[4] = x9;
15106 : if (!const_0_to_255_operand (operands[4], E_SImode))
15107 : return -1;
15108 : x6 = XVECEXP (x2, 0, 1);
15109 : operands[5] = x6;
15110 : if (!const48_operand (operands[5], E_SImode))
15111 : return -1;
15112 : switch (GET_MODE (operands[0]))
15113 : {
15114 : case E_V16SFmode:
15115 : if (pattern1529 (x2,
15116 : E_V16SImode,
15117 : E_V16SFmode) != 0
15118 : || !
15119 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15120 : (TARGET_AVX512F))
15121 : return -1;
15122 : return 7124; /* avx512f_fixupimmv16sf_round */
15123 :
15124 : case E_V8SFmode:
15125 : if (pattern1529 (x2,
15126 : E_V8SImode,
15127 : E_V8SFmode) != 0
15128 : || !(
15129 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15130 : (TARGET_AVX512F) && (
15131 : #line 14471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15132 : (TARGET_AVX512F) &&
15133 : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15134 : (TARGET_AVX512VL))))
15135 : return -1;
15136 : return 7128; /* avx512vl_fixupimmv8sf_round */
15137 :
15138 : case E_V4SFmode:
15139 : if (pattern1529 (x2,
15140 : E_V4SImode,
15141 : E_V4SFmode) != 0
15142 : || !(
15143 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15144 : (TARGET_AVX512F) && (
15145 : #line 14471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15146 : (TARGET_AVX512F) &&
15147 : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15148 : (TARGET_AVX512VL))))
15149 : return -1;
15150 : return 7132; /* avx512vl_fixupimmv4sf_round */
15151 :
15152 : case E_V8DFmode:
15153 : if (pattern1529 (x2,
15154 : E_V8DImode,
15155 : E_V8DFmode) != 0
15156 : || !
15157 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15158 : (TARGET_AVX512F))
15159 : return -1;
15160 : return 7136; /* avx512f_fixupimmv8df_round */
15161 :
15162 : case E_V4DFmode:
15163 : if (pattern1529 (x2,
15164 : E_V4DImode,
15165 : E_V4DFmode) != 0
15166 : || !(
15167 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15168 : (TARGET_AVX512F) && (
15169 : #line 14471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15170 : (TARGET_AVX512F) &&
15171 : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15172 : (TARGET_AVX512VL))))
15173 : return -1;
15174 : return 7140; /* avx512vl_fixupimmv4df_round */
15175 :
15176 : case E_V2DFmode:
15177 : if (pattern1529 (x2,
15178 : E_V2DImode,
15179 : E_V2DFmode) != 0
15180 : || !(
15181 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15182 : (TARGET_AVX512F) && (
15183 : #line 14471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15184 : (TARGET_AVX512F) &&
15185 : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15186 : (TARGET_AVX512VL))))
15187 : return -1;
15188 : return 7144; /* avx512vl_fixupimmv2df_round */
15189 :
15190 : default:
15191 : return -1;
15192 : }
15193 :
15194 : default:
15195 : return -1;
15196 : }
15197 : }
15198 :
15199 : int
15200 : recog_257 (rtx x1 ATTRIBUTE_UNUSED,
15201 : rtx_insn *insn ATTRIBUTE_UNUSED,
15202 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15203 : {
15204 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15205 : rtx x2, x3, x4, x5, x6;
15206 : int res ATTRIBUTE_UNUSED;
15207 : x2 = XEXP (x1, 0);
15208 : operands[0] = x2;
15209 : x3 = XEXP (x1, 1);
15210 : x4 = XVECEXP (x3, 0, 0);
15211 : operands[1] = x4;
15212 : x5 = XVECEXP (x3, 0, 1);
15213 : operands[2] = x5;
15214 : x6 = XVECEXP (x3, 0, 2);
15215 : operands[3] = x6;
15216 : if (!const_0_to_15_operand (operands[3], E_SImode))
15217 : return -1;
15218 : switch (GET_MODE (operands[0]))
15219 : {
15220 : case E_V16SFmode:
15221 : if (pattern158 (x3,
15222 : E_V16SFmode) != 0
15223 : || !
15224 : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15225 : (TARGET_AVX512DQ && 1))
15226 : return -1;
15227 : return 10031; /* avx512dq_rangepv16sf */
15228 :
15229 : case E_V8SFmode:
15230 : if (pattern158 (x3,
15231 : E_V8SFmode) != 0
15232 : || !(
15233 : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15234 : (TARGET_AVX512DQ && 1) &&
15235 : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15236 : (TARGET_AVX512VL)))
15237 : return -1;
15238 : return 10035; /* avx512dq_rangepv8sf */
15239 :
15240 : case E_V4SFmode:
15241 : if (pattern158 (x3,
15242 : E_V4SFmode) != 0
15243 : || !(
15244 : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15245 : (TARGET_AVX512DQ && 1) &&
15246 : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15247 : (TARGET_AVX512VL)))
15248 : return -1;
15249 : return 10037; /* avx512dq_rangepv4sf */
15250 :
15251 : case E_V8DFmode:
15252 : if (pattern158 (x3,
15253 : E_V8DFmode) != 0
15254 : || !
15255 : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15256 : (TARGET_AVX512DQ && 1))
15257 : return -1;
15258 : return 10039; /* avx512dq_rangepv8df */
15259 :
15260 : case E_V4DFmode:
15261 : if (pattern158 (x3,
15262 : E_V4DFmode) != 0
15263 : || !(
15264 : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15265 : (TARGET_AVX512DQ && 1) &&
15266 : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15267 : (TARGET_AVX512VL)))
15268 : return -1;
15269 : return 10043; /* avx512dq_rangepv4df */
15270 :
15271 : case E_V2DFmode:
15272 : if (pattern158 (x3,
15273 : E_V2DFmode) != 0
15274 : || !(
15275 : #line 30513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15276 : (TARGET_AVX512DQ && 1) &&
15277 : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15278 : (TARGET_AVX512VL)))
15279 : return -1;
15280 : return 10045; /* avx512dq_rangepv2df */
15281 :
15282 : default:
15283 : return -1;
15284 : }
15285 : }
15286 :
15287 : int
15288 : recog_259 (rtx x1 ATTRIBUTE_UNUSED,
15289 : rtx_insn *insn ATTRIBUTE_UNUSED,
15290 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15291 : {
15292 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15293 : int res ATTRIBUTE_UNUSED;
15294 : switch (pattern182 (x1))
15295 : {
15296 : case 0:
15297 : if (!
15298 : #line 31176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15299 : (TARGET_AVX512VBMI2))
15300 : return -1;
15301 : return 10319; /* vpshldv_v32hi */
15302 :
15303 : case 1:
15304 : if (!
15305 : #line 31176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15306 : (TARGET_AVX512VBMI2))
15307 : return -1;
15308 : return 10320; /* vpshldv_v16si */
15309 :
15310 : case 2:
15311 : if (!
15312 : #line 31176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15313 : (TARGET_AVX512VBMI2))
15314 : return -1;
15315 : return 10321; /* vpshldv_v8di */
15316 :
15317 : case 3:
15318 : if (!(
15319 : #line 31176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15320 : (TARGET_AVX512VBMI2) &&
15321 : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15322 : (TARGET_AVX512VL)))
15323 : return -1;
15324 : return 10322; /* vpshldv_v16hi */
15325 :
15326 : case 4:
15327 : if (!(
15328 : #line 31176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15329 : (TARGET_AVX512VBMI2) &&
15330 : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15331 : (TARGET_AVX512VL)))
15332 : return -1;
15333 : return 10323; /* vpshldv_v8si */
15334 :
15335 : case 5:
15336 : if (!(
15337 : #line 31176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15338 : (TARGET_AVX512VBMI2) &&
15339 : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15340 : (TARGET_AVX512VL)))
15341 : return -1;
15342 : return 10324; /* vpshldv_v4di */
15343 :
15344 : case 6:
15345 : if (!(
15346 : #line 31176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15347 : (TARGET_AVX512VBMI2) &&
15348 : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15349 : (TARGET_AVX512VL)))
15350 : return -1;
15351 : return 10325; /* vpshldv_v8hi */
15352 :
15353 : case 7:
15354 : if (!(
15355 : #line 31176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15356 : (TARGET_AVX512VBMI2) &&
15357 : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15358 : (TARGET_AVX512VL)))
15359 : return -1;
15360 : return 10326; /* vpshldv_v4si */
15361 :
15362 : case 8:
15363 : if (!(
15364 : #line 31176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15365 : (TARGET_AVX512VBMI2) &&
15366 : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15367 : (TARGET_AVX512VL)))
15368 : return -1;
15369 : return 10327; /* vpshldv_v2di */
15370 :
15371 : default:
15372 : return -1;
15373 : }
15374 : }
15375 :
15376 : int
15377 : recog_264 (rtx x1 ATTRIBUTE_UNUSED,
15378 : rtx_insn *insn ATTRIBUTE_UNUSED,
15379 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15380 : {
15381 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15382 : rtx x2, x3, x4, x5, x6;
15383 : int res ATTRIBUTE_UNUSED;
15384 : x2 = XEXP (x1, 0);
15385 : operands[0] = x2;
15386 : x3 = XEXP (x1, 1);
15387 : x4 = XVECEXP (x3, 0, 0);
15388 : operands[1] = x4;
15389 : x5 = XVECEXP (x3, 0, 1);
15390 : operands[2] = x5;
15391 : x6 = XVECEXP (x3, 0, 2);
15392 : operands[3] = x6;
15393 : if (!const_0_to_255_operand (operands[3], E_SImode))
15394 : return -1;
15395 : switch (GET_MODE (operands[0]))
15396 : {
15397 : case E_V8SFmode:
15398 : if (pattern160 (x3,
15399 : E_V8SFmode) != 0
15400 : || !(
15401 : #line 24103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15402 : (TARGET_SSE4_1) &&
15403 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15404 : (TARGET_AVX)))
15405 : return -1;
15406 : return 8757; /* avx_dpps256 */
15407 :
15408 : case E_V4SFmode:
15409 : if (pattern160 (x3,
15410 : E_V4SFmode) != 0
15411 : || !
15412 : #line 24103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15413 : (TARGET_SSE4_1))
15414 : return -1;
15415 : return 8758; /* sse4_1_dpps */
15416 :
15417 : case E_V4DFmode:
15418 : if (pattern160 (x3,
15419 : E_V4DFmode) != 0
15420 : || !(
15421 : #line 24103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15422 : (TARGET_SSE4_1) &&
15423 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15424 : (TARGET_AVX)))
15425 : return -1;
15426 : return 8759; /* avx_dppd256 */
15427 :
15428 : case E_V2DFmode:
15429 : if (pattern160 (x3,
15430 : E_V2DFmode) != 0
15431 : || !(
15432 : #line 24103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15433 : (TARGET_SSE4_1) &&
15434 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15435 : (TARGET_SSE2)))
15436 : return -1;
15437 : return 8760; /* sse4_1_dppd */
15438 :
15439 : default:
15440 : return -1;
15441 : }
15442 : }
15443 :
15444 : int
15445 : recog_270 (rtx x1 ATTRIBUTE_UNUSED,
15446 : rtx_insn *insn ATTRIBUTE_UNUSED,
15447 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15448 : {
15449 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15450 : rtx x2, x3, x4, x5, x6;
15451 : int res ATTRIBUTE_UNUSED;
15452 : x2 = XEXP (x1, 1);
15453 : switch (XINT (x2, 1))
15454 : {
15455 : case 52:
15456 : return recog_251 (x1, insn, pnum_clobbers);
15457 :
15458 : case 60:
15459 : x3 = XEXP (x1, 0);
15460 : operands[0] = x3;
15461 : x4 = XVECEXP (x2, 0, 0);
15462 : operands[1] = x4;
15463 : x5 = XVECEXP (x2, 0, 1);
15464 : operands[2] = x5;
15465 : x6 = XVECEXP (x2, 0, 2);
15466 : operands[3] = x6;
15467 : if (!cmpps_imm_operand (operands[3], E_SImode))
15468 : return -1;
15469 : switch (GET_MODE (operands[0]))
15470 : {
15471 : case E_V8SFmode:
15472 : if (pattern64 (x2,
15473 : E_V8SFmode) != 0
15474 : || !(
15475 : #line 4323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15476 : (TARGET_SSE) &&
15477 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15478 : (TARGET_AVX)))
15479 : return -1;
15480 : return 3277; /* avx_cmpv8sf3 */
15481 :
15482 : case E_V4SFmode:
15483 : if (pattern64 (x2,
15484 : E_V4SFmode) != 0
15485 : || !
15486 : #line 4323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15487 : (TARGET_SSE))
15488 : return -1;
15489 : return 3278; /* avx_cmpv4sf3 */
15490 :
15491 : case E_V4DFmode:
15492 : if (pattern64 (x2,
15493 : E_V4DFmode) != 0
15494 : || !(
15495 : #line 4323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15496 : (TARGET_SSE) &&
15497 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15498 : (TARGET_AVX)))
15499 : return -1;
15500 : return 3279; /* avx_cmpv4df3 */
15501 :
15502 : case E_V2DFmode:
15503 : if (pattern64 (x2,
15504 : E_V2DFmode) != 0
15505 : || !(
15506 : #line 4323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15507 : (TARGET_SSE) &&
15508 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15509 : (TARGET_SSE2)))
15510 : return -1;
15511 : return 3280; /* avx_cmpv2df3 */
15512 :
15513 : default:
15514 : return -1;
15515 : }
15516 :
15517 : case 134:
15518 : return recog_250 (x1, insn, pnum_clobbers);
15519 :
15520 : case 218:
15521 : return recog_266 (x1, insn, pnum_clobbers);
15522 :
15523 : case 220:
15524 : return recog_267 (x1, insn, pnum_clobbers);
15525 :
15526 : case 219:
15527 : switch (pattern175 (x1))
15528 : {
15529 : case 0:
15530 : if (!
15531 : #line 7572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15532 : (TARGET_AVX512FP16))
15533 : return -1;
15534 : return 4389; /* fma_fmaddc_v16sf_pair */
15535 :
15536 : case 1:
15537 : if (!(
15538 : #line 7572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15539 : (TARGET_AVX512FP16) &&
15540 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15541 : (TARGET_AVX512VL)))
15542 : return -1;
15543 : return 4391; /* fma_fmaddc_v8sf_pair */
15544 :
15545 : case 2:
15546 : if (!(
15547 : #line 7572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15548 : (TARGET_AVX512FP16) &&
15549 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15550 : (TARGET_AVX512VL)))
15551 : return -1;
15552 : return 4393; /* fma_fmaddc_v4sf_pair */
15553 :
15554 : default:
15555 : return -1;
15556 : }
15557 :
15558 : case 221:
15559 : switch (pattern175 (x1))
15560 : {
15561 : case 0:
15562 : if (!
15563 : #line 7572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15564 : (TARGET_AVX512FP16))
15565 : return -1;
15566 : return 4390; /* fma_fcmaddc_v16sf_pair */
15567 :
15568 : case 1:
15569 : if (!(
15570 : #line 7572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15571 : (TARGET_AVX512FP16) &&
15572 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15573 : (TARGET_AVX512VL)))
15574 : return -1;
15575 : return 4392; /* fma_fcmaddc_v8sf_pair */
15576 :
15577 : case 2:
15578 : if (!(
15579 : #line 7572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15580 : (TARGET_AVX512FP16) &&
15581 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15582 : (TARGET_AVX512VL)))
15583 : return -1;
15584 : return 4394; /* fma_fcmaddc_v4sf_pair */
15585 :
15586 : default:
15587 : return -1;
15588 : }
15589 :
15590 : case 51:
15591 : x3 = XEXP (x1, 0);
15592 : operands[0] = x3;
15593 : x4 = XVECEXP (x2, 0, 0);
15594 : operands[2] = x4;
15595 : x5 = XVECEXP (x2, 0, 1);
15596 : operands[1] = x5;
15597 : x6 = XVECEXP (x2, 0, 2);
15598 : operands[3] = x6;
15599 : if (!const_0_to_255_operand (operands[3], E_SImode))
15600 : return -1;
15601 : switch (GET_MODE (operands[0]))
15602 : {
15603 : case E_V4SImode:
15604 : if (pattern970 (x2,
15605 : E_V4SImode) != 0
15606 : || !
15607 : #line 12559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15608 : (TARGET_SSE4_1))
15609 : return -1;
15610 : return 5343; /* sse4_1_insertps_v4si */
15611 :
15612 : case E_V4SFmode:
15613 : if (pattern970 (x2,
15614 : E_V4SFmode) != 0
15615 : || !
15616 : #line 12559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15617 : (TARGET_SSE4_1))
15618 : return -1;
15619 : return 5344; /* sse4_1_insertps_v4sf */
15620 :
15621 : default:
15622 : return -1;
15623 : }
15624 :
15625 : case 168:
15626 : return recog_258 (x1, insn, pnum_clobbers);
15627 :
15628 : case 156:
15629 : return recog_253 (x1, insn, pnum_clobbers);
15630 :
15631 : case 48:
15632 : return recog_249 (x1, insn, pnum_clobbers);
15633 :
15634 : case 122:
15635 : x3 = XEXP (x1, 0);
15636 : operands[0] = x3;
15637 : x4 = XVECEXP (x2, 0, 0);
15638 : operands[1] = x4;
15639 : x5 = XVECEXP (x2, 0, 1);
15640 : operands[2] = x5;
15641 : x6 = XVECEXP (x2, 0, 2);
15642 : operands[3] = x6;
15643 : if (!const_0_to_255_mul_8_operand (operands[3], E_SImode))
15644 : return -1;
15645 : switch (GET_MODE (operands[0]))
15646 : {
15647 : case E_V4TImode:
15648 : if (pattern158 (x2,
15649 : E_V4TImode) != 0
15650 : || !(
15651 : #line 23596 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15652 : (TARGET_SSSE3) &&
15653 : #line 718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15654 : (TARGET_AVX512BW)))
15655 : return -1;
15656 : return 8687; /* avx512bw_palignrv4ti */
15657 :
15658 : case E_V2TImode:
15659 : if (pattern158 (x2,
15660 : E_V2TImode) != 0
15661 : || !(
15662 : #line 23596 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15663 : (TARGET_SSSE3) &&
15664 : #line 718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15665 : (TARGET_AVX2)))
15666 : return -1;
15667 : return 8688; /* avx2_palignrv2ti */
15668 :
15669 : case E_V1TImode:
15670 : if (pattern158 (x2,
15671 : E_V1TImode) != 0
15672 : || !
15673 : #line 23596 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15674 : (TARGET_SSSE3))
15675 : return -1;
15676 : return 8689; /* ssse3_palignrv1ti */
15677 :
15678 : default:
15679 : return -1;
15680 : }
15681 :
15682 : case 123:
15683 : if (GET_MODE (x2) != E_V2DImode)
15684 : return -1;
15685 : x3 = XEXP (x1, 0);
15686 : operands[0] = x3;
15687 : if (!register_operand (operands[0], E_V2DImode))
15688 : return -1;
15689 : x4 = XVECEXP (x2, 0, 0);
15690 : operands[1] = x4;
15691 : if (!register_operand (operands[1], E_V2DImode))
15692 : return -1;
15693 : x5 = XVECEXP (x2, 0, 1);
15694 : operands[2] = x5;
15695 : if (!const_0_to_255_operand (operands[2], E_VOIDmode))
15696 : return -1;
15697 : x6 = XVECEXP (x2, 0, 2);
15698 : operands[3] = x6;
15699 : if (!const_0_to_255_operand (operands[3], E_VOIDmode)
15700 : || !
15701 : #line 23790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15702 : (TARGET_SSE4A))
15703 : return -1;
15704 : return 8719; /* sse4a_extrqi */
15705 :
15706 : case 127:
15707 : return recog_264 (x1, insn, pnum_clobbers);
15708 :
15709 : case 129:
15710 : return recog_265 (x1, insn, pnum_clobbers);
15711 :
15712 : case 54:
15713 : if (pattern66 (x1,
15714 : E_V16QImode) != 0)
15715 : return -1;
15716 : x6 = XVECEXP (x2, 0, 2);
15717 : operands[3] = x6;
15718 : if (!nonimmediate_operand (operands[3], E_V16QImode)
15719 : || !
15720 : #line 27100 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15721 : (TARGET_XOP && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
15722 : return -1;
15723 : return 9082; /* xop_pperm */
15724 :
15725 : case 136:
15726 : return recog_263 (x1, insn, pnum_clobbers);
15727 :
15728 : case 144:
15729 : if (pattern166 (x1,
15730 : E_V2DImode) != 0)
15731 : return -1;
15732 : x6 = XVECEXP (x2, 0, 2);
15733 : operands[3] = x6;
15734 : if (!const_0_to_255_operand (operands[3], E_SImode)
15735 : || !
15736 : #line 27886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15737 : (TARGET_PCLMUL))
15738 : return -1;
15739 : return 9141; /* pclmulqdq */
15740 :
15741 : case 153:
15742 : if (pattern66 (x1,
15743 : E_V4DImode) != 0)
15744 : return -1;
15745 : x6 = XVECEXP (x2, 0, 2);
15746 : operands[3] = x6;
15747 : if (!const_0_to_255_operand (operands[3], E_SImode)
15748 : || !
15749 : #line 28343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15750 : (TARGET_AVX2))
15751 : return -1;
15752 : return 9243; /* avx2_permv2ti */
15753 :
15754 : case 147:
15755 : x3 = XEXP (x1, 0);
15756 : operands[0] = x3;
15757 : x4 = XVECEXP (x2, 0, 0);
15758 : operands[1] = x4;
15759 : x5 = XVECEXP (x2, 0, 1);
15760 : operands[2] = x5;
15761 : x6 = XVECEXP (x2, 0, 2);
15762 : operands[3] = x6;
15763 : if (!const_0_to_255_operand (operands[3], E_SImode))
15764 : return -1;
15765 : switch (GET_MODE (operands[0]))
15766 : {
15767 : case E_V8SImode:
15768 : if (pattern64 (x2,
15769 : E_V8SImode) != 0
15770 : || !
15771 : #line 29009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15772 : (TARGET_AVX))
15773 : return -1;
15774 : return 9521; /* *avx_vperm2f128v8si_full */
15775 :
15776 : case E_V8SFmode:
15777 : if (pattern64 (x2,
15778 : E_V8SFmode) != 0
15779 : || !
15780 : #line 29009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15781 : (TARGET_AVX))
15782 : return -1;
15783 : return 9522; /* *avx_vperm2f128v8sf_full */
15784 :
15785 : case E_V4DFmode:
15786 : if (pattern64 (x2,
15787 : E_V4DFmode) != 0
15788 : || !
15789 : #line 29009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15790 : (TARGET_AVX))
15791 : return -1;
15792 : return 9523; /* *avx_vperm2f128v4df_full */
15793 :
15794 : default:
15795 : return -1;
15796 : }
15797 :
15798 : case 154:
15799 : return recog_248 (x1, insn, pnum_clobbers);
15800 :
15801 : case 170:
15802 : return recog_255 (x1, insn, pnum_clobbers);
15803 :
15804 : case 171:
15805 : return recog_254 (x1, insn, pnum_clobbers);
15806 :
15807 : case 172:
15808 : return recog_252 (x1, insn, pnum_clobbers);
15809 :
15810 : case 195:
15811 : return recog_257 (x1, insn, pnum_clobbers);
15812 :
15813 : case 187:
15814 : x3 = XEXP (x1, 0);
15815 : operands[0] = x3;
15816 : x4 = XVECEXP (x2, 0, 0);
15817 : operands[1] = x4;
15818 : x5 = XVECEXP (x2, 0, 1);
15819 : operands[2] = x5;
15820 : x6 = XVECEXP (x2, 0, 2);
15821 : operands[3] = x6;
15822 : if (!const_0_to_255_operand (operands[3], E_SImode))
15823 : return -1;
15824 : switch (GET_MODE (operands[0]))
15825 : {
15826 : case E_V8HImode:
15827 : if (pattern169 (x2,
15828 : E_V8HImode,
15829 : E_V16QImode) != 0
15830 : || !(
15831 : #line 30625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15832 : (TARGET_AVX512BW) &&
15833 : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15834 : (TARGET_AVX512VL)))
15835 : return -1;
15836 : return 10127; /* *avx512bw_dbpsadbwv8hi */
15837 :
15838 : case E_V16HImode:
15839 : if (pattern169 (x2,
15840 : E_V16HImode,
15841 : E_V32QImode) != 0
15842 : || !(
15843 : #line 30625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15844 : (TARGET_AVX512BW) &&
15845 : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15846 : (TARGET_AVX512VL)))
15847 : return -1;
15848 : return 10129; /* *avx512bw_dbpsadbwv16hi */
15849 :
15850 : case E_V32HImode:
15851 : if (pattern169 (x2,
15852 : E_V32HImode,
15853 : E_V64QImode) != 0
15854 : || !
15855 : #line 30625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15856 : (TARGET_AVX512BW))
15857 : return -1;
15858 : return 10131; /* *avx512bw_dbpsadbwv32hi */
15859 :
15860 : default:
15861 : return -1;
15862 : }
15863 :
15864 : case 183:
15865 : if (pattern166 (x1,
15866 : E_V4SImode) != 0)
15867 : return -1;
15868 : x6 = XVECEXP (x2, 0, 2);
15869 : operands[3] = x6;
15870 : if (!const_0_to_3_operand (operands[3], E_SImode)
15871 : || !
15872 : #line 30693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15873 : (TARGET_SHA))
15874 : return -1;
15875 : return 10160; /* sha1rnds4 */
15876 :
15877 : case 186:
15878 : if (pattern166 (x1,
15879 : E_V4SImode) != 0)
15880 : return -1;
15881 : x6 = XVECEXP (x2, 0, 2);
15882 : operands[3] = x6;
15883 : if (!register_operand (operands[3], E_V4SImode)
15884 : || !
15885 : #line 30728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15886 : (TARGET_SHA))
15887 : return -1;
15888 : return 10163; /* sha256rnds2 */
15889 :
15890 : case 225:
15891 : if (pattern177 (x1) != 0
15892 : || !
15893 : #line 30741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15894 : (TARGET_SM3))
15895 : return -1;
15896 : return 10164; /* vsm3msg1 */
15897 :
15898 : case 226:
15899 : if (pattern177 (x1) != 0
15900 : || !
15901 : #line 30753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15902 : (TARGET_SM3))
15903 : return -1;
15904 : return 10165; /* vsm3msg2 */
15905 :
15906 : case 242:
15907 : if (pattern165 (x1,
15908 : E_V4DImode) != 0)
15909 : return -1;
15910 : x6 = XVECEXP (x2, 0, 2);
15911 : operands[3] = x6;
15912 : if (!register_operand (operands[3], E_V2DImode)
15913 : || !
15914 : #line 30801 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15915 : (TARGET_SHA512))
15916 : return -1;
15917 : return 10169; /* vsha512rnds2 */
15918 :
15919 : case 196:
15920 : switch (pattern179 (x1))
15921 : {
15922 : case 0:
15923 : if (!
15924 : #line 30910 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15925 : (TARGET_AVX512IFMA))
15926 : return -1;
15927 : return 10182; /* vpmadd52luqv8di */
15928 :
15929 : case 1:
15930 : if (!(
15931 : #line 30923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15932 : (TARGET_AVXIFMA || (TARGET_AVX512IFMA && TARGET_AVX512VL)) &&
15933 : #line 697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15934 : (TARGET_AVX2)))
15935 : return -1;
15936 : return 10184; /* vpmadd52luqv4di */
15937 :
15938 : case 2:
15939 : if (!
15940 : #line 30923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15941 : (TARGET_AVXIFMA || (TARGET_AVX512IFMA && TARGET_AVX512VL)))
15942 : return -1;
15943 : return 10186; /* vpmadd52luqv2di */
15944 :
15945 : default:
15946 : return -1;
15947 : }
15948 :
15949 : case 197:
15950 : switch (pattern179 (x1))
15951 : {
15952 : case 0:
15953 : if (!
15954 : #line 30910 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15955 : (TARGET_AVX512IFMA))
15956 : return -1;
15957 : return 10183; /* vpmadd52huqv8di */
15958 :
15959 : case 1:
15960 : if (!(
15961 : #line 30923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15962 : (TARGET_AVXIFMA || (TARGET_AVX512IFMA && TARGET_AVX512VL)) &&
15963 : #line 697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15964 : (TARGET_AVX2)))
15965 : return -1;
15966 : return 10185; /* vpmadd52huqv4di */
15967 :
15968 : case 2:
15969 : if (!
15970 : #line 30923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15971 : (TARGET_AVXIFMA || (TARGET_AVX512IFMA && TARGET_AVX512VL)))
15972 : return -1;
15973 : return 10187; /* vpmadd52huqv2di */
15974 :
15975 : default:
15976 : return -1;
15977 : }
15978 :
15979 : case 199:
15980 : switch (pattern180 (x1))
15981 : {
15982 : case 0:
15983 : if (!(
15984 : #line 31047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15985 : (TARGET_GFNI) &&
15986 : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15987 : (TARGET_AVX512F)))
15988 : return -1;
15989 : return 10238; /* vgf2p8affineinvqb_v64qi */
15990 :
15991 : case 1:
15992 : if (!(
15993 : #line 31047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15994 : (TARGET_GFNI) &&
15995 : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15996 : (TARGET_AVX)))
15997 : return -1;
15998 : return 10240; /* vgf2p8affineinvqb_v32qi */
15999 :
16000 : case 2:
16001 : if (!
16002 : #line 31047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16003 : (TARGET_GFNI))
16004 : return -1;
16005 : return 10242; /* vgf2p8affineinvqb_v16qi */
16006 :
16007 : default:
16008 : return -1;
16009 : }
16010 :
16011 : case 200:
16012 : switch (pattern180 (x1))
16013 : {
16014 : case 0:
16015 : if (!(
16016 : #line 31064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16017 : (TARGET_GFNI) &&
16018 : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16019 : (TARGET_AVX512F)))
16020 : return -1;
16021 : return 10244; /* vgf2p8affineqb_v64qi */
16022 :
16023 : case 1:
16024 : if (!(
16025 : #line 31064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16026 : (TARGET_GFNI) &&
16027 : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16028 : (TARGET_AVX)))
16029 : return -1;
16030 : return 10246; /* vgf2p8affineqb_v32qi */
16031 :
16032 : case 2:
16033 : if (!
16034 : #line 31064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16035 : (TARGET_GFNI))
16036 : return -1;
16037 : return 10248; /* vgf2p8affineqb_v16qi */
16038 :
16039 : default:
16040 : return -1;
16041 : }
16042 :
16043 : case 203:
16044 : return recog_262 (x1, insn, pnum_clobbers);
16045 :
16046 : case 202:
16047 : return recog_260 (x1, insn, pnum_clobbers);
16048 :
16049 : case 204:
16050 : return recog_261 (x1, insn, pnum_clobbers);
16051 :
16052 : case 205:
16053 : return recog_259 (x1, insn, pnum_clobbers);
16054 :
16055 : case 206:
16056 : switch (pattern183 (x1))
16057 : {
16058 : case 0:
16059 : if (!
16060 : #line 31281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16061 : (TARGET_AVX512VNNI))
16062 : return -1;
16063 : return 10346; /* vpdpbusd_v16si */
16064 :
16065 : case 1:
16066 : if (!(
16067 : #line 31292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16068 : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)) &&
16069 : #line 662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16070 : (TARGET_AVX2)))
16071 : return -1;
16072 : return 10347; /* vpdpbusd_v8si */
16073 :
16074 : case 2:
16075 : if (!
16076 : #line 31292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16077 : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)))
16078 : return -1;
16079 : return 10348; /* vpdpbusd_v4si */
16080 :
16081 : default:
16082 : return -1;
16083 : }
16084 :
16085 : case 207:
16086 : switch (pattern183 (x1))
16087 : {
16088 : case 0:
16089 : if (!
16090 : #line 31350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16091 : (TARGET_AVX512VNNI))
16092 : return -1;
16093 : return 10355; /* vpdpbusds_v16si */
16094 :
16095 : case 1:
16096 : if (!(
16097 : #line 31361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16098 : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)) &&
16099 : #line 662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16100 : (TARGET_AVX2)))
16101 : return -1;
16102 : return 10356; /* vpdpbusds_v8si */
16103 :
16104 : case 2:
16105 : if (!
16106 : #line 31361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16107 : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)))
16108 : return -1;
16109 : return 10357; /* vpdpbusds_v4si */
16110 :
16111 : default:
16112 : return -1;
16113 : }
16114 :
16115 : case 208:
16116 : switch (pattern183 (x1))
16117 : {
16118 : case 0:
16119 : if (!
16120 : #line 31419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16121 : (TARGET_AVX512VNNI))
16122 : return -1;
16123 : return 10364; /* vpdpwssd_v16si */
16124 :
16125 : case 1:
16126 : if (!(
16127 : #line 31430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16128 : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)) &&
16129 : #line 662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16130 : (TARGET_AVX2)))
16131 : return -1;
16132 : return 10365; /* vpdpwssd_v8si */
16133 :
16134 : case 2:
16135 : if (!
16136 : #line 31430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16137 : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)))
16138 : return -1;
16139 : return 10366; /* vpdpwssd_v4si */
16140 :
16141 : default:
16142 : return -1;
16143 : }
16144 :
16145 : case 209:
16146 : switch (pattern183 (x1))
16147 : {
16148 : case 0:
16149 : if (!
16150 : #line 31488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16151 : (TARGET_AVX512VNNI))
16152 : return -1;
16153 : return 10373; /* vpdpwssds_v16si */
16154 :
16155 : case 1:
16156 : if (!(
16157 : #line 31499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16158 : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)) &&
16159 : #line 662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16160 : (TARGET_AVX2)))
16161 : return -1;
16162 : return 10374; /* vpdpwssds_v8si */
16163 :
16164 : case 2:
16165 : if (!
16166 : #line 31499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16167 : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)))
16168 : return -1;
16169 : return 10375; /* vpdpwssds_v4si */
16170 :
16171 : default:
16172 : return -1;
16173 : }
16174 :
16175 : case 214:
16176 : x3 = XEXP (x1, 0);
16177 : operands[0] = x3;
16178 : x4 = XVECEXP (x2, 0, 0);
16179 : operands[1] = x4;
16180 : x5 = XVECEXP (x2, 0, 1);
16181 : operands[2] = x5;
16182 : x6 = XVECEXP (x2, 0, 2);
16183 : operands[3] = x6;
16184 : if (!const_0_to_255_operand (operands[3], E_SImode))
16185 : return -1;
16186 : switch (GET_MODE (operands[0]))
16187 : {
16188 : case E_V8DImode:
16189 : if (pattern158 (x2,
16190 : E_V8DImode) != 0
16191 : || !(
16192 : #line 31628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16193 : (TARGET_VPCLMULQDQ) &&
16194 : #line 614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16195 : (TARGET_AVX512F)))
16196 : return -1;
16197 : return 10394; /* vpclmulqdq_v8di */
16198 :
16199 : case E_V4DImode:
16200 : if (pattern158 (x2,
16201 : E_V4DImode) != 0
16202 : || !
16203 : #line 31628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16204 : (TARGET_VPCLMULQDQ))
16205 : return -1;
16206 : return 10395; /* vpclmulqdq_v4di */
16207 :
16208 : case E_V2DImode:
16209 : if (pattern158 (x2,
16210 : E_V2DImode) != 0
16211 : || !(
16212 : #line 31628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16213 : (TARGET_VPCLMULQDQ) &&
16214 : #line 614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16215 : (TARGET_AVX512VL)))
16216 : return -1;
16217 : return 10396; /* vpclmulqdq_v2di */
16218 :
16219 : default:
16220 : return -1;
16221 : }
16222 :
16223 : case 217:
16224 : x3 = XEXP (x1, 0);
16225 : operands[0] = x3;
16226 : x4 = XVECEXP (x2, 0, 0);
16227 : operands[1] = x4;
16228 : x5 = XVECEXP (x2, 0, 1);
16229 : operands[2] = x5;
16230 : x6 = XVECEXP (x2, 0, 2);
16231 : operands[3] = x6;
16232 : switch (GET_MODE (operands[0]))
16233 : {
16234 : case E_V16SFmode:
16235 : if (pattern919 (x2,
16236 : E_V32BFmode,
16237 : E_V16SFmode) != 0
16238 : || !
16239 : #line 31906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16240 : (TARGET_AVX512BF16))
16241 : return -1;
16242 : return 10424; /* avx512f_dpbf16ps_v16sf */
16243 :
16244 : case E_V8SFmode:
16245 : if (pattern919 (x2,
16246 : E_V16BFmode,
16247 : E_V8SFmode) != 0
16248 : || !(
16249 : #line 31906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16250 : (TARGET_AVX512BF16) &&
16251 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16252 : (TARGET_AVX512VL)))
16253 : return -1;
16254 : return 10426; /* avx512f_dpbf16ps_v8sf */
16255 :
16256 : case E_V4SFmode:
16257 : if (pattern919 (x2,
16258 : E_V8BFmode,
16259 : E_V4SFmode) != 0
16260 : || !(
16261 : #line 31906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16262 : (TARGET_AVX512BF16) &&
16263 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16264 : (TARGET_AVX512VL)))
16265 : return -1;
16266 : return 10428; /* avx512f_dpbf16ps_v4sf */
16267 :
16268 : default:
16269 : return -1;
16270 : }
16271 :
16272 : case 228:
16273 : switch (pattern184 (x1))
16274 : {
16275 : case 0:
16276 : if (!(
16277 : #line 32279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16278 : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2) &&
16279 : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16280 : (TARGET_AVX)))
16281 : return -1;
16282 : return 10444; /* vpdpbssd_v8si */
16283 :
16284 : case 1:
16285 : if (!
16286 : #line 32279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16287 : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2))
16288 : return -1;
16289 : return 10450; /* vpdpbssd_v4si */
16290 :
16291 : case 2:
16292 : if (!
16293 : #line 32290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16294 : (TARGET_AVX10_2))
16295 : return -1;
16296 : return 10456; /* vpdpbssd_v16si */
16297 :
16298 : default:
16299 : return -1;
16300 : }
16301 :
16302 : case 229:
16303 : switch (pattern184 (x1))
16304 : {
16305 : case 0:
16306 : if (!(
16307 : #line 32279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16308 : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2) &&
16309 : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16310 : (TARGET_AVX)))
16311 : return -1;
16312 : return 10445; /* vpdpbssds_v8si */
16313 :
16314 : case 1:
16315 : if (!
16316 : #line 32279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16317 : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2))
16318 : return -1;
16319 : return 10451; /* vpdpbssds_v4si */
16320 :
16321 : case 2:
16322 : if (!
16323 : #line 32290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16324 : (TARGET_AVX10_2))
16325 : return -1;
16326 : return 10457; /* vpdpbssds_v16si */
16327 :
16328 : default:
16329 : return -1;
16330 : }
16331 :
16332 : case 230:
16333 : switch (pattern184 (x1))
16334 : {
16335 : case 0:
16336 : if (!(
16337 : #line 32279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16338 : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2) &&
16339 : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16340 : (TARGET_AVX)))
16341 : return -1;
16342 : return 10446; /* vpdpbsud_v8si */
16343 :
16344 : case 1:
16345 : if (!
16346 : #line 32279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16347 : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2))
16348 : return -1;
16349 : return 10452; /* vpdpbsud_v4si */
16350 :
16351 : case 2:
16352 : if (!
16353 : #line 32290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16354 : (TARGET_AVX10_2))
16355 : return -1;
16356 : return 10458; /* vpdpbsud_v16si */
16357 :
16358 : default:
16359 : return -1;
16360 : }
16361 :
16362 : case 231:
16363 : switch (pattern184 (x1))
16364 : {
16365 : case 0:
16366 : if (!(
16367 : #line 32279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16368 : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2) &&
16369 : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16370 : (TARGET_AVX)))
16371 : return -1;
16372 : return 10447; /* vpdpbsuds_v8si */
16373 :
16374 : case 1:
16375 : if (!
16376 : #line 32279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16377 : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2))
16378 : return -1;
16379 : return 10453; /* vpdpbsuds_v4si */
16380 :
16381 : case 2:
16382 : if (!
16383 : #line 32290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16384 : (TARGET_AVX10_2))
16385 : return -1;
16386 : return 10459; /* vpdpbsuds_v16si */
16387 :
16388 : default:
16389 : return -1;
16390 : }
16391 :
16392 : case 232:
16393 : switch (pattern184 (x1))
16394 : {
16395 : case 0:
16396 : if (!(
16397 : #line 32279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16398 : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2) &&
16399 : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16400 : (TARGET_AVX)))
16401 : return -1;
16402 : return 10448; /* vpdpbuud_v8si */
16403 :
16404 : case 1:
16405 : if (!
16406 : #line 32279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16407 : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2))
16408 : return -1;
16409 : return 10454; /* vpdpbuud_v4si */
16410 :
16411 : case 2:
16412 : if (!
16413 : #line 32290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16414 : (TARGET_AVX10_2))
16415 : return -1;
16416 : return 10460; /* vpdpbuud_v16si */
16417 :
16418 : default:
16419 : return -1;
16420 : }
16421 :
16422 : case 233:
16423 : switch (pattern184 (x1))
16424 : {
16425 : case 0:
16426 : if (!(
16427 : #line 32279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16428 : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2) &&
16429 : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16430 : (TARGET_AVX)))
16431 : return -1;
16432 : return 10449; /* vpdpbuuds_v8si */
16433 :
16434 : case 1:
16435 : if (!
16436 : #line 32279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16437 : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2))
16438 : return -1;
16439 : return 10455; /* vpdpbuuds_v4si */
16440 :
16441 : case 2:
16442 : if (!
16443 : #line 32290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16444 : (TARGET_AVX10_2))
16445 : return -1;
16446 : return 10461; /* vpdpbuuds_v16si */
16447 :
16448 : default:
16449 : return -1;
16450 : }
16451 :
16452 : case 234:
16453 : switch (pattern184 (x1))
16454 : {
16455 : case 0:
16456 : if (!(
16457 : #line 32691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16458 : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2) &&
16459 : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16460 : (TARGET_AVX)))
16461 : return -1;
16462 : return 10596; /* vpdpwusd_v8si */
16463 :
16464 : case 1:
16465 : if (!
16466 : #line 32691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16467 : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2))
16468 : return -1;
16469 : return 10602; /* vpdpwusd_v4si */
16470 :
16471 : case 2:
16472 : if (!
16473 : #line 32702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16474 : (TARGET_AVX10_2))
16475 : return -1;
16476 : return 10608; /* vpdpwusd_v16si */
16477 :
16478 : default:
16479 : return -1;
16480 : }
16481 :
16482 : case 235:
16483 : switch (pattern184 (x1))
16484 : {
16485 : case 0:
16486 : if (!(
16487 : #line 32691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16488 : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2) &&
16489 : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16490 : (TARGET_AVX)))
16491 : return -1;
16492 : return 10597; /* vpdpwusds_v8si */
16493 :
16494 : case 1:
16495 : if (!
16496 : #line 32691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16497 : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2))
16498 : return -1;
16499 : return 10603; /* vpdpwusds_v4si */
16500 :
16501 : case 2:
16502 : if (!
16503 : #line 32702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16504 : (TARGET_AVX10_2))
16505 : return -1;
16506 : return 10609; /* vpdpwusds_v16si */
16507 :
16508 : default:
16509 : return -1;
16510 : }
16511 :
16512 : case 236:
16513 : switch (pattern184 (x1))
16514 : {
16515 : case 0:
16516 : if (!(
16517 : #line 32691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16518 : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2) &&
16519 : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16520 : (TARGET_AVX)))
16521 : return -1;
16522 : return 10598; /* vpdpwsud_v8si */
16523 :
16524 : case 1:
16525 : if (!
16526 : #line 32691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16527 : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2))
16528 : return -1;
16529 : return 10604; /* vpdpwsud_v4si */
16530 :
16531 : case 2:
16532 : if (!
16533 : #line 32702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16534 : (TARGET_AVX10_2))
16535 : return -1;
16536 : return 10610; /* vpdpwsud_v16si */
16537 :
16538 : default:
16539 : return -1;
16540 : }
16541 :
16542 : case 237:
16543 : switch (pattern184 (x1))
16544 : {
16545 : case 0:
16546 : if (!(
16547 : #line 32691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16548 : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2) &&
16549 : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16550 : (TARGET_AVX)))
16551 : return -1;
16552 : return 10599; /* vpdpwsuds_v8si */
16553 :
16554 : case 1:
16555 : if (!
16556 : #line 32691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16557 : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2))
16558 : return -1;
16559 : return 10605; /* vpdpwsuds_v4si */
16560 :
16561 : case 2:
16562 : if (!
16563 : #line 32702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16564 : (TARGET_AVX10_2))
16565 : return -1;
16566 : return 10611; /* vpdpwsuds_v16si */
16567 :
16568 : default:
16569 : return -1;
16570 : }
16571 :
16572 : case 238:
16573 : switch (pattern184 (x1))
16574 : {
16575 : case 0:
16576 : if (!(
16577 : #line 32691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16578 : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2) &&
16579 : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16580 : (TARGET_AVX)))
16581 : return -1;
16582 : return 10600; /* vpdpwuud_v8si */
16583 :
16584 : case 1:
16585 : if (!
16586 : #line 32691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16587 : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2))
16588 : return -1;
16589 : return 10606; /* vpdpwuud_v4si */
16590 :
16591 : case 2:
16592 : if (!
16593 : #line 32702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16594 : (TARGET_AVX10_2))
16595 : return -1;
16596 : return 10612; /* vpdpwuud_v16si */
16597 :
16598 : default:
16599 : return -1;
16600 : }
16601 :
16602 : case 239:
16603 : switch (pattern184 (x1))
16604 : {
16605 : case 0:
16606 : if (!(
16607 : #line 32691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16608 : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2) &&
16609 : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16610 : (TARGET_AVX)))
16611 : return -1;
16612 : return 10601; /* vpdpwuuds_v8si */
16613 :
16614 : case 1:
16615 : if (!
16616 : #line 32691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16617 : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2))
16618 : return -1;
16619 : return 10607; /* vpdpwuuds_v4si */
16620 :
16621 : case 2:
16622 : if (!
16623 : #line 32702 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16624 : (TARGET_AVX10_2))
16625 : return -1;
16626 : return 10613; /* vpdpwuuds_v16si */
16627 :
16628 : default:
16629 : return -1;
16630 : }
16631 :
16632 : case 245:
16633 : x3 = XEXP (x1, 0);
16634 : operands[0] = x3;
16635 : x4 = XVECEXP (x2, 0, 0);
16636 : operands[1] = x4;
16637 : x5 = XVECEXP (x2, 0, 1);
16638 : operands[2] = x5;
16639 : x6 = XVECEXP (x2, 0, 2);
16640 : operands[3] = x6;
16641 : switch (GET_MODE (operands[0]))
16642 : {
16643 : case E_V16SFmode:
16644 : if (pattern178 (x2,
16645 : E_V16SFmode) != 0
16646 : || !
16647 : #line 32754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16648 : (TARGET_AVX10_2))
16649 : return -1;
16650 : return 10650; /* vdpphps_v16sf */
16651 :
16652 : case E_V8SFmode:
16653 : if (pattern178 (x2,
16654 : E_V8SFmode) != 0
16655 : || !(
16656 : #line 32754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16657 : (TARGET_AVX10_2) &&
16658 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16659 : (TARGET_AVX512VL)))
16660 : return -1;
16661 : return 10651; /* vdpphps_v8sf */
16662 :
16663 : case E_V4SFmode:
16664 : if (pattern178 (x2,
16665 : E_V4SFmode) != 0
16666 : || !(
16667 : #line 32754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16668 : (TARGET_AVX10_2) &&
16669 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16670 : (TARGET_AVX512VL)))
16671 : return -1;
16672 : return 10652; /* vdpphps_v4sf */
16673 :
16674 : default:
16675 : return -1;
16676 : }
16677 :
16678 : case 278:
16679 : x3 = XEXP (x1, 0);
16680 : operands[0] = x3;
16681 : x4 = XVECEXP (x2, 0, 0);
16682 : operands[1] = x4;
16683 : x5 = XVECEXP (x2, 0, 1);
16684 : operands[2] = x5;
16685 : x6 = XVECEXP (x2, 0, 2);
16686 : operands[3] = x6;
16687 : if (!const_0_to_255_operand (operands[3], E_SImode))
16688 : return -1;
16689 : switch (GET_MODE (operands[0]))
16690 : {
16691 : case E_V32BFmode:
16692 : if (pattern1039 (x2,
16693 : E_V32BFmode) != 0
16694 : || !
16695 : #line 33349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16696 : (TARGET_AVX10_2))
16697 : return -1;
16698 : return 10971; /* avx10_2_minmaxbf16_v32bf */
16699 :
16700 : case E_V16BFmode:
16701 : if (pattern1039 (x2,
16702 : E_V16BFmode) != 0
16703 : || !
16704 : #line 33349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16705 : (TARGET_AVX10_2))
16706 : return -1;
16707 : return 10973; /* avx10_2_minmaxbf16_v16bf */
16708 :
16709 : case E_V8BFmode:
16710 : if (pattern1039 (x2,
16711 : E_V8BFmode) != 0
16712 : || !
16713 : #line 33349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16714 : (TARGET_AVX10_2))
16715 : return -1;
16716 : return 10975; /* avx10_2_minmaxbf16_v8bf */
16717 :
16718 : default:
16719 : return -1;
16720 : }
16721 :
16722 : case 279:
16723 : return recog_256 (x1, insn, pnum_clobbers);
16724 :
16725 : case 280:
16726 : switch (pattern185 (x1))
16727 : {
16728 : case 0:
16729 : if (!
16730 : #line 33403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16731 : (TARGET_AVX512BMM))
16732 : return -1;
16733 : return 11049; /* avx512bmm_vbmacor16x16x16_v32hi */
16734 :
16735 : case 1:
16736 : if (!(
16737 : #line 33403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16738 : (TARGET_AVX512BMM) &&
16739 : #line 33394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16740 : (TARGET_AVX512VL)))
16741 : return -1;
16742 : return 11050; /* avx512bmm_vbmacor16x16x16_v16hi */
16743 :
16744 : default:
16745 : return -1;
16746 : }
16747 :
16748 : case 281:
16749 : switch (pattern185 (x1))
16750 : {
16751 : case 0:
16752 : if (!
16753 : #line 33416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16754 : (TARGET_AVX512BMM))
16755 : return -1;
16756 : return 11051; /* avx512bmm_vbmacxor16x16x16_v32hi */
16757 :
16758 : case 1:
16759 : if (!(
16760 : #line 33416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16761 : (TARGET_AVX512BMM) &&
16762 : #line 33394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16763 : (TARGET_AVX512VL)))
16764 : return -1;
16765 : return 11052; /* avx512bmm_vbmacxor16x16x16_v16hi */
16766 :
16767 : default:
16768 : return -1;
16769 : }
16770 :
16771 : default:
16772 : return -1;
16773 : }
16774 : }
16775 :
16776 : int
16777 : recog_302 (rtx x1 ATTRIBUTE_UNUSED,
16778 : rtx_insn *insn ATTRIBUTE_UNUSED,
16779 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16780 : {
16781 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16782 : rtx x2, x3, x4;
16783 : int res ATTRIBUTE_UNUSED;
16784 : x2 = XEXP (x1, 1);
16785 : x3 = XEXP (x2, 1);
16786 : x4 = XVECEXP (x3, 0, 0);
16787 : operands[3] = x4;
16788 : if (!const_int_operand (operands[3], E_VOIDmode))
16789 : return -1;
16790 : switch (GET_MODE (operands[0]))
16791 : {
16792 : case E_V4SFmode:
16793 : if (!register_operand (operands[0], E_V4SFmode)
16794 : || GET_MODE (x2) != E_V4SFmode)
16795 : return -1;
16796 : if (nonimmediate_operand (operands[1], E_V4SFmode))
16797 : {
16798 : if (avx_vbroadcast_operand (operands[2], E_VOIDmode)
16799 : &&
16800 : #line 28050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16801 : (TARGET_AVX))
16802 : return 9208; /* *avx_vperm_broadcast_v4sf */
16803 : if (
16804 : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16805 : (TARGET_AVX && 1
16806 : && avx_vpermilp_parallel (operands[2], V4SFmode)))
16807 : return 9227; /* *avx_vpermilpv4sf */
16808 : }
16809 : if (!register_operand (operands[1], E_V4SFmode)
16810 : || !palignr_operand (operands[2], E_VOIDmode)
16811 : || !
16812 : #line 29052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16813 : (TARGET_SSSE3))
16814 : return -1;
16815 : return 9533; /* *ssse3_palignrv4sf_perm */
16816 :
16817 : case E_V8SFmode:
16818 : if (!register_operand (operands[0], E_V8SFmode)
16819 : || GET_MODE (x2) != E_V8SFmode
16820 : || !nonimmediate_operand (operands[1], E_V8SFmode))
16821 : return -1;
16822 : if (avx_vbroadcast_operand (operands[2], E_VOIDmode)
16823 : &&
16824 : #line 28078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16825 : (TARGET_AVX
16826 : && (V8SFmode != V4DFmode || !TARGET_AVX2 || operands[3] == const0_rtx)))
16827 : return 9209; /* *avx_vperm_broadcast_v8sf */
16828 : if (!(
16829 : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16830 : (TARGET_AVX && 1
16831 : && avx_vpermilp_parallel (operands[2], V8SFmode)) &&
16832 : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16833 : (TARGET_AVX)))
16834 : return -1;
16835 : return 9225; /* *avx_vpermilpv8sf */
16836 :
16837 : case E_V4DFmode:
16838 : if (!register_operand (operands[0], E_V4DFmode)
16839 : || GET_MODE (x2) != E_V4DFmode
16840 : || !nonimmediate_operand (operands[1], E_V4DFmode))
16841 : return -1;
16842 : if (avx_vbroadcast_operand (operands[2], E_VOIDmode)
16843 : &&
16844 : #line 28078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16845 : (TARGET_AVX
16846 : && (V4DFmode != V4DFmode || !TARGET_AVX2 || operands[3] == const0_rtx)))
16847 : return 9210; /* *avx_vperm_broadcast_v4df */
16848 : if (!(
16849 : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16850 : (TARGET_AVX && 1
16851 : && avx_vpermilp_parallel (operands[2], V4DFmode)) &&
16852 : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16853 : (TARGET_AVX)))
16854 : return -1;
16855 : return 9231; /* *avx_vpermilpv4df */
16856 :
16857 : case E_V16SImode:
16858 : if (!register_operand (operands[0], E_V16SImode)
16859 : || GET_MODE (x2) != E_V16SImode
16860 : || !nonimmediate_operand (operands[1], E_V16SImode)
16861 : || !(
16862 : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16863 : (TARGET_AVX && 1
16864 : && avx_vpermilp_parallel (operands[2], V16SImode)) &&
16865 : #line 311 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16866 : (TARGET_AVX512F)))
16867 : return -1;
16868 : return 9211; /* *avx512f_vpermilpv16si */
16869 :
16870 : case E_V8SImode:
16871 : if (!register_operand (operands[0], E_V8SImode)
16872 : || GET_MODE (x2) != E_V8SImode
16873 : || !nonimmediate_operand (operands[1], E_V8SImode)
16874 : || !(
16875 : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16876 : (TARGET_AVX && 1
16877 : && avx_vpermilp_parallel (operands[2], V8SImode)) &&
16878 : #line 311 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16879 : (TARGET_AVX)))
16880 : return -1;
16881 : return 9213; /* *avx_vpermilpv8si */
16882 :
16883 : case E_V4SImode:
16884 : if (!register_operand (operands[0], E_V4SImode)
16885 : || GET_MODE (x2) != E_V4SImode)
16886 : return -1;
16887 : if (nonimmediate_operand (operands[1], E_V4SImode)
16888 : &&
16889 : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16890 : (TARGET_AVX && 1
16891 : && avx_vpermilp_parallel (operands[2], V4SImode)))
16892 : return 9215; /* *sse2_vpermilpv4si */
16893 : if (!register_operand (operands[1], E_V4SImode)
16894 : || !palignr_operand (operands[2], E_VOIDmode)
16895 : || !
16896 : #line 29052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16897 : (TARGET_SSSE3))
16898 : return -1;
16899 : return 9531; /* *ssse3_palignrv4si_perm */
16900 :
16901 : case E_V8DImode:
16902 : if (!register_operand (operands[0], E_V8DImode)
16903 : || GET_MODE (x2) != E_V8DImode
16904 : || !nonimmediate_operand (operands[1], E_V8DImode)
16905 : || !(
16906 : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16907 : (TARGET_AVX && 1
16908 : && avx_vpermilp_parallel (operands[2], V8DImode)) &&
16909 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16910 : (TARGET_AVX512F)))
16911 : return -1;
16912 : return 9217; /* *avx512f_vpermilpv8di */
16913 :
16914 : case E_V4DImode:
16915 : if (!register_operand (operands[0], E_V4DImode)
16916 : || GET_MODE (x2) != E_V4DImode
16917 : || !nonimmediate_operand (operands[1], E_V4DImode)
16918 : || !(
16919 : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16920 : (TARGET_AVX && 1
16921 : && avx_vpermilp_parallel (operands[2], V4DImode)) &&
16922 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16923 : (TARGET_AVX)))
16924 : return -1;
16925 : return 9219; /* *avx512vl_vpermilpv4di */
16926 :
16927 : case E_V2DImode:
16928 : if (!register_operand (operands[0], E_V2DImode)
16929 : || GET_MODE (x2) != E_V2DImode)
16930 : return -1;
16931 : if (nonimmediate_operand (operands[1], E_V2DImode)
16932 : && (
16933 : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16934 : (TARGET_AVX && 1
16935 : && avx_vpermilp_parallel (operands[2], V2DImode)) &&
16936 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16937 : (TARGET_SSE2)))
16938 : return 9221; /* *avx512vl_vpermilpv2di */
16939 : if (!register_operand (operands[1], E_V2DImode)
16940 : || !palignr_operand (operands[2], E_VOIDmode)
16941 : || !
16942 : #line 29052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16943 : (TARGET_SSSE3))
16944 : return -1;
16945 : return 9532; /* *ssse3_palignrv2di_perm */
16946 :
16947 : case E_V16SFmode:
16948 : if (!register_operand (operands[0], E_V16SFmode)
16949 : || GET_MODE (x2) != E_V16SFmode
16950 : || !nonimmediate_operand (operands[1], E_V16SFmode)
16951 : || !(
16952 : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16953 : (TARGET_AVX && 1
16954 : && avx_vpermilp_parallel (operands[2], V16SFmode)) &&
16955 : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16956 : (TARGET_AVX512F)))
16957 : return -1;
16958 : return 9223; /* *avx512f_vpermilpv16sf */
16959 :
16960 : case E_V8DFmode:
16961 : if (!register_operand (operands[0], E_V8DFmode)
16962 : || GET_MODE (x2) != E_V8DFmode
16963 : || !nonimmediate_operand (operands[1], E_V8DFmode)
16964 : || !(
16965 : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16966 : (TARGET_AVX && 1
16967 : && avx_vpermilp_parallel (operands[2], V8DFmode)) &&
16968 : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16969 : (TARGET_AVX512F)))
16970 : return -1;
16971 : return 9229; /* *avx512f_vpermilpv8df */
16972 :
16973 : case E_V2DFmode:
16974 : if (!register_operand (operands[0], E_V2DFmode)
16975 : || GET_MODE (x2) != E_V2DFmode)
16976 : return -1;
16977 : if (nonimmediate_operand (operands[1], E_V2DFmode)
16978 : && (
16979 : #line 28187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16980 : (TARGET_AVX && 1
16981 : && avx_vpermilp_parallel (operands[2], V2DFmode)) &&
16982 : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16983 : (TARGET_SSE2)))
16984 : return 9233; /* *avx_vpermilpv2df */
16985 : if (!register_operand (operands[1], E_V2DFmode)
16986 : || !palignr_operand (operands[2], E_VOIDmode)
16987 : || !(
16988 : #line 29052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16989 : (TARGET_SSSE3) &&
16990 : #line 356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16991 : (TARGET_SSE2)))
16992 : return -1;
16993 : return 9534; /* *ssse3_palignrv2df_perm */
16994 :
16995 : case E_V16QImode:
16996 : if (pattern1155 (x2,
16997 : E_V16QImode) != 0
16998 : || !
16999 : #line 29052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17000 : (TARGET_SSSE3))
17001 : return -1;
17002 : return 9527; /* *ssse3_palignrv16qi_perm */
17003 :
17004 : case E_V8HImode:
17005 : if (pattern1155 (x2,
17006 : E_V8HImode) != 0
17007 : || !
17008 : #line 29052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17009 : (TARGET_SSSE3))
17010 : return -1;
17011 : return 9528; /* *ssse3_palignrv8hi_perm */
17012 :
17013 : case E_V8HFmode:
17014 : if (pattern1155 (x2,
17015 : E_V8HFmode) != 0
17016 : || !
17017 : #line 29052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17018 : (TARGET_SSSE3))
17019 : return -1;
17020 : return 9529; /* *ssse3_palignrv8hf_perm */
17021 :
17022 : case E_V8BFmode:
17023 : if (pattern1155 (x2,
17024 : E_V8BFmode) != 0
17025 : || !
17026 : #line 29052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17027 : (TARGET_SSSE3))
17028 : return -1;
17029 : return 9530; /* *ssse3_palignrv8bf_perm */
17030 :
17031 : default:
17032 : return -1;
17033 : }
17034 : }
17035 :
17036 : int
17037 : recog_312 (rtx x1 ATTRIBUTE_UNUSED,
17038 : rtx_insn *insn ATTRIBUTE_UNUSED,
17039 : int *pnum_clobbers ATTRIBUTE_UNUSED)
17040 : {
17041 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17042 : rtx x2, x3, x4;
17043 : int res ATTRIBUTE_UNUSED;
17044 : x2 = XEXP (x1, 1);
17045 : x3 = XEXP (x2, 0);
17046 : x4 = XEXP (x3, 0);
17047 : switch (GET_CODE (x4))
17048 : {
17049 : case REG:
17050 : case SUBREG:
17051 : case MEM:
17052 : case NOT:
17053 : switch (pattern535 (x2))
17054 : {
17055 : case 0:
17056 : if (!(
17057 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17058 : ((64 == 64 || TARGET_AVX512VL
17059 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17060 : && ix86_pre_reload_split ()
17061 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17062 : STRIP_UNARY (operands[4]))
17063 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17064 : STRIP_UNARY (operands[4]))
17065 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17066 : STRIP_UNARY (operands[3]))
17067 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17068 : STRIP_UNARY (operands[3])))) &&
17069 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17070 : (TARGET_AVX512F)))
17071 : return -1;
17072 : return 5548; /* *avx512bw_vpternlogv64qi_1 */
17073 :
17074 : case 1:
17075 : if (!(
17076 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17077 : ((32 == 64 || TARGET_AVX512VL
17078 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17079 : && ix86_pre_reload_split ()
17080 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17081 : STRIP_UNARY (operands[4]))
17082 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17083 : STRIP_UNARY (operands[4]))
17084 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17085 : STRIP_UNARY (operands[3]))
17086 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17087 : STRIP_UNARY (operands[3])))) &&
17088 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17089 : (TARGET_AVX)))
17090 : return -1;
17091 : return 5575; /* *avx512vl_vpternlogv32qi_1 */
17092 :
17093 : case 2:
17094 : if (!
17095 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17096 : ((16 == 64 || TARGET_AVX512VL
17097 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17098 : && ix86_pre_reload_split ()
17099 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17100 : STRIP_UNARY (operands[4]))
17101 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17102 : STRIP_UNARY (operands[4]))
17103 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17104 : STRIP_UNARY (operands[3]))
17105 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17106 : STRIP_UNARY (operands[3])))))
17107 : return -1;
17108 : return 5602; /* *avx512vl_vpternlogv16qi_1 */
17109 :
17110 : case 3:
17111 : if (!(
17112 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17113 : ((64 == 64 || TARGET_AVX512VL
17114 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17115 : && ix86_pre_reload_split ()
17116 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17117 : STRIP_UNARY (operands[4]))
17118 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17119 : STRIP_UNARY (operands[4]))
17120 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17121 : STRIP_UNARY (operands[3]))
17122 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17123 : STRIP_UNARY (operands[3])))) &&
17124 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17125 : (TARGET_AVX512F)))
17126 : return -1;
17127 : return 5629; /* *avx512bw_vpternlogv32hi_1 */
17128 :
17129 : case 4:
17130 : if (!(
17131 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17132 : ((32 == 64 || TARGET_AVX512VL
17133 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17134 : && ix86_pre_reload_split ()
17135 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17136 : STRIP_UNARY (operands[4]))
17137 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17138 : STRIP_UNARY (operands[4]))
17139 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17140 : STRIP_UNARY (operands[3]))
17141 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17142 : STRIP_UNARY (operands[3])))) &&
17143 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17144 : (TARGET_AVX)))
17145 : return -1;
17146 : return 5656; /* *avx512vl_vpternlogv16hi_1 */
17147 :
17148 : case 5:
17149 : if (!
17150 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17151 : ((16 == 64 || TARGET_AVX512VL
17152 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17153 : && ix86_pre_reload_split ()
17154 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17155 : STRIP_UNARY (operands[4]))
17156 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17157 : STRIP_UNARY (operands[4]))
17158 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17159 : STRIP_UNARY (operands[3]))
17160 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17161 : STRIP_UNARY (operands[3])))))
17162 : return -1;
17163 : return 5683; /* *avx512vl_vpternlogv8hi_1 */
17164 :
17165 : case 6:
17166 : if (!(
17167 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17168 : ((64 == 64 || TARGET_AVX512VL
17169 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17170 : && ix86_pre_reload_split ()
17171 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17172 : STRIP_UNARY (operands[4]))
17173 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17174 : STRIP_UNARY (operands[4]))
17175 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17176 : STRIP_UNARY (operands[3]))
17177 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17178 : STRIP_UNARY (operands[3])))) &&
17179 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17180 : (TARGET_AVX512F)))
17181 : return -1;
17182 : return 5710; /* *avx512f_vpternlogv16si_1 */
17183 :
17184 : case 7:
17185 : if (!(
17186 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17187 : ((32 == 64 || TARGET_AVX512VL
17188 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17189 : && ix86_pre_reload_split ()
17190 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17191 : STRIP_UNARY (operands[4]))
17192 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17193 : STRIP_UNARY (operands[4]))
17194 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17195 : STRIP_UNARY (operands[3]))
17196 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17197 : STRIP_UNARY (operands[3])))) &&
17198 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17199 : (TARGET_AVX)))
17200 : return -1;
17201 : return 5737; /* *avx512vl_vpternlogv8si_1 */
17202 :
17203 : case 8:
17204 : if (!
17205 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17206 : ((16 == 64 || TARGET_AVX512VL
17207 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17208 : && ix86_pre_reload_split ()
17209 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17210 : STRIP_UNARY (operands[4]))
17211 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17212 : STRIP_UNARY (operands[4]))
17213 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17214 : STRIP_UNARY (operands[3]))
17215 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17216 : STRIP_UNARY (operands[3])))))
17217 : return -1;
17218 : return 5764; /* *avx512vl_vpternlogv4si_1 */
17219 :
17220 : case 9:
17221 : if (!(
17222 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17223 : ((64 == 64 || TARGET_AVX512VL
17224 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17225 : && ix86_pre_reload_split ()
17226 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17227 : STRIP_UNARY (operands[4]))
17228 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17229 : STRIP_UNARY (operands[4]))
17230 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17231 : STRIP_UNARY (operands[3]))
17232 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17233 : STRIP_UNARY (operands[3])))) &&
17234 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17235 : (TARGET_AVX512F)))
17236 : return -1;
17237 : return 5791; /* *avx512f_vpternlogv8di_1 */
17238 :
17239 : case 10:
17240 : if (!(
17241 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17242 : ((32 == 64 || TARGET_AVX512VL
17243 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17244 : && ix86_pre_reload_split ()
17245 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17246 : STRIP_UNARY (operands[4]))
17247 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17248 : STRIP_UNARY (operands[4]))
17249 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17250 : STRIP_UNARY (operands[3]))
17251 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17252 : STRIP_UNARY (operands[3])))) &&
17253 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17254 : (TARGET_AVX)))
17255 : return -1;
17256 : return 5818; /* *avx512vl_vpternlogv4di_1 */
17257 :
17258 : case 11:
17259 : if (!
17260 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17261 : ((16 == 64 || TARGET_AVX512VL
17262 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17263 : && ix86_pre_reload_split ()
17264 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17265 : STRIP_UNARY (operands[4]))
17266 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17267 : STRIP_UNARY (operands[4]))
17268 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17269 : STRIP_UNARY (operands[3]))
17270 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17271 : STRIP_UNARY (operands[3])))))
17272 : return -1;
17273 : return 5845; /* *avx512vl_vpternlogv2di_1 */
17274 :
17275 : case 12:
17276 : if (!(
17277 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17278 : ((64 == 64 || TARGET_AVX512VL
17279 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17280 : && ix86_pre_reload_split ()
17281 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17282 : STRIP_UNARY (operands[4]))
17283 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17284 : STRIP_UNARY (operands[4]))
17285 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17286 : STRIP_UNARY (operands[3]))
17287 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17288 : STRIP_UNARY (operands[3])))) &&
17289 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17290 : (TARGET_AVX512F)))
17291 : return -1;
17292 : return 5551; /* *avx512bw_vpternlogv64qi_1 */
17293 :
17294 : case 13:
17295 : if (!(
17296 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17297 : ((32 == 64 || TARGET_AVX512VL
17298 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17299 : && ix86_pre_reload_split ()
17300 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17301 : STRIP_UNARY (operands[4]))
17302 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17303 : STRIP_UNARY (operands[4]))
17304 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17305 : STRIP_UNARY (operands[3]))
17306 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17307 : STRIP_UNARY (operands[3])))) &&
17308 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17309 : (TARGET_AVX)))
17310 : return -1;
17311 : return 5578; /* *avx512vl_vpternlogv32qi_1 */
17312 :
17313 : case 14:
17314 : if (!
17315 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17316 : ((16 == 64 || TARGET_AVX512VL
17317 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17318 : && ix86_pre_reload_split ()
17319 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17320 : STRIP_UNARY (operands[4]))
17321 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17322 : STRIP_UNARY (operands[4]))
17323 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17324 : STRIP_UNARY (operands[3]))
17325 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17326 : STRIP_UNARY (operands[3])))))
17327 : return -1;
17328 : return 5605; /* *avx512vl_vpternlogv16qi_1 */
17329 :
17330 : case 15:
17331 : if (!(
17332 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17333 : ((64 == 64 || TARGET_AVX512VL
17334 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17335 : && ix86_pre_reload_split ()
17336 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17337 : STRIP_UNARY (operands[4]))
17338 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17339 : STRIP_UNARY (operands[4]))
17340 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17341 : STRIP_UNARY (operands[3]))
17342 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17343 : STRIP_UNARY (operands[3])))) &&
17344 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17345 : (TARGET_AVX512F)))
17346 : return -1;
17347 : return 5632; /* *avx512bw_vpternlogv32hi_1 */
17348 :
17349 : case 16:
17350 : if (!(
17351 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17352 : ((32 == 64 || TARGET_AVX512VL
17353 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17354 : && ix86_pre_reload_split ()
17355 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17356 : STRIP_UNARY (operands[4]))
17357 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17358 : STRIP_UNARY (operands[4]))
17359 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17360 : STRIP_UNARY (operands[3]))
17361 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17362 : STRIP_UNARY (operands[3])))) &&
17363 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17364 : (TARGET_AVX)))
17365 : return -1;
17366 : return 5659; /* *avx512vl_vpternlogv16hi_1 */
17367 :
17368 : case 17:
17369 : if (!
17370 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17371 : ((16 == 64 || TARGET_AVX512VL
17372 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17373 : && ix86_pre_reload_split ()
17374 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17375 : STRIP_UNARY (operands[4]))
17376 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17377 : STRIP_UNARY (operands[4]))
17378 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17379 : STRIP_UNARY (operands[3]))
17380 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17381 : STRIP_UNARY (operands[3])))))
17382 : return -1;
17383 : return 5686; /* *avx512vl_vpternlogv8hi_1 */
17384 :
17385 : case 18:
17386 : if (!(
17387 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17388 : ((64 == 64 || TARGET_AVX512VL
17389 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17390 : && ix86_pre_reload_split ()
17391 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17392 : STRIP_UNARY (operands[4]))
17393 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17394 : STRIP_UNARY (operands[4]))
17395 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17396 : STRIP_UNARY (operands[3]))
17397 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17398 : STRIP_UNARY (operands[3])))) &&
17399 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17400 : (TARGET_AVX512F)))
17401 : return -1;
17402 : return 5713; /* *avx512f_vpternlogv16si_1 */
17403 :
17404 : case 19:
17405 : if (!(
17406 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17407 : ((32 == 64 || TARGET_AVX512VL
17408 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17409 : && ix86_pre_reload_split ()
17410 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17411 : STRIP_UNARY (operands[4]))
17412 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17413 : STRIP_UNARY (operands[4]))
17414 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17415 : STRIP_UNARY (operands[3]))
17416 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17417 : STRIP_UNARY (operands[3])))) &&
17418 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17419 : (TARGET_AVX)))
17420 : return -1;
17421 : return 5740; /* *avx512vl_vpternlogv8si_1 */
17422 :
17423 : case 20:
17424 : if (!
17425 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17426 : ((16 == 64 || TARGET_AVX512VL
17427 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17428 : && ix86_pre_reload_split ()
17429 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17430 : STRIP_UNARY (operands[4]))
17431 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17432 : STRIP_UNARY (operands[4]))
17433 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17434 : STRIP_UNARY (operands[3]))
17435 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17436 : STRIP_UNARY (operands[3])))))
17437 : return -1;
17438 : return 5767; /* *avx512vl_vpternlogv4si_1 */
17439 :
17440 : case 21:
17441 : if (!(
17442 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17443 : ((64 == 64 || TARGET_AVX512VL
17444 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17445 : && ix86_pre_reload_split ()
17446 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17447 : STRIP_UNARY (operands[4]))
17448 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17449 : STRIP_UNARY (operands[4]))
17450 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17451 : STRIP_UNARY (operands[3]))
17452 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17453 : STRIP_UNARY (operands[3])))) &&
17454 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17455 : (TARGET_AVX512F)))
17456 : return -1;
17457 : return 5794; /* *avx512f_vpternlogv8di_1 */
17458 :
17459 : case 22:
17460 : if (!(
17461 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17462 : ((32 == 64 || TARGET_AVX512VL
17463 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17464 : && ix86_pre_reload_split ()
17465 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17466 : STRIP_UNARY (operands[4]))
17467 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17468 : STRIP_UNARY (operands[4]))
17469 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17470 : STRIP_UNARY (operands[3]))
17471 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17472 : STRIP_UNARY (operands[3])))) &&
17473 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17474 : (TARGET_AVX)))
17475 : return -1;
17476 : return 5821; /* *avx512vl_vpternlogv4di_1 */
17477 :
17478 : case 23:
17479 : if (!
17480 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17481 : ((16 == 64 || TARGET_AVX512VL
17482 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17483 : && ix86_pre_reload_split ()
17484 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17485 : STRIP_UNARY (operands[4]))
17486 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17487 : STRIP_UNARY (operands[4]))
17488 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17489 : STRIP_UNARY (operands[3]))
17490 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17491 : STRIP_UNARY (operands[3])))))
17492 : return -1;
17493 : return 5848; /* *avx512vl_vpternlogv2di_1 */
17494 :
17495 : case 24:
17496 : if (!(
17497 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17498 : ((64 == 64 || TARGET_AVX512VL
17499 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17500 : && ix86_pre_reload_split ()
17501 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17502 : STRIP_UNARY (operands[4]))
17503 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17504 : STRIP_UNARY (operands[4]))
17505 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17506 : STRIP_UNARY (operands[3]))
17507 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17508 : STRIP_UNARY (operands[3])))) &&
17509 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17510 : (TARGET_AVX512F)))
17511 : return -1;
17512 : return 5554; /* *avx512bw_vpternlogv64qi_1 */
17513 :
17514 : case 25:
17515 : if (!(
17516 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17517 : ((32 == 64 || TARGET_AVX512VL
17518 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17519 : && ix86_pre_reload_split ()
17520 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17521 : STRIP_UNARY (operands[4]))
17522 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17523 : STRIP_UNARY (operands[4]))
17524 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17525 : STRIP_UNARY (operands[3]))
17526 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17527 : STRIP_UNARY (operands[3])))) &&
17528 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17529 : (TARGET_AVX)))
17530 : return -1;
17531 : return 5581; /* *avx512vl_vpternlogv32qi_1 */
17532 :
17533 : case 26:
17534 : if (!
17535 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17536 : ((16 == 64 || TARGET_AVX512VL
17537 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17538 : && ix86_pre_reload_split ()
17539 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17540 : STRIP_UNARY (operands[4]))
17541 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17542 : STRIP_UNARY (operands[4]))
17543 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17544 : STRIP_UNARY (operands[3]))
17545 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17546 : STRIP_UNARY (operands[3])))))
17547 : return -1;
17548 : return 5608; /* *avx512vl_vpternlogv16qi_1 */
17549 :
17550 : case 27:
17551 : if (!(
17552 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17553 : ((64 == 64 || TARGET_AVX512VL
17554 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17555 : && ix86_pre_reload_split ()
17556 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17557 : STRIP_UNARY (operands[4]))
17558 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17559 : STRIP_UNARY (operands[4]))
17560 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17561 : STRIP_UNARY (operands[3]))
17562 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17563 : STRIP_UNARY (operands[3])))) &&
17564 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17565 : (TARGET_AVX512F)))
17566 : return -1;
17567 : return 5635; /* *avx512bw_vpternlogv32hi_1 */
17568 :
17569 : case 28:
17570 : if (!(
17571 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17572 : ((32 == 64 || TARGET_AVX512VL
17573 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17574 : && ix86_pre_reload_split ()
17575 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17576 : STRIP_UNARY (operands[4]))
17577 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17578 : STRIP_UNARY (operands[4]))
17579 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17580 : STRIP_UNARY (operands[3]))
17581 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17582 : STRIP_UNARY (operands[3])))) &&
17583 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17584 : (TARGET_AVX)))
17585 : return -1;
17586 : return 5662; /* *avx512vl_vpternlogv16hi_1 */
17587 :
17588 : case 29:
17589 : if (!
17590 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17591 : ((16 == 64 || TARGET_AVX512VL
17592 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17593 : && ix86_pre_reload_split ()
17594 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17595 : STRIP_UNARY (operands[4]))
17596 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17597 : STRIP_UNARY (operands[4]))
17598 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17599 : STRIP_UNARY (operands[3]))
17600 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17601 : STRIP_UNARY (operands[3])))))
17602 : return -1;
17603 : return 5689; /* *avx512vl_vpternlogv8hi_1 */
17604 :
17605 : case 30:
17606 : if (!(
17607 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17608 : ((64 == 64 || TARGET_AVX512VL
17609 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17610 : && ix86_pre_reload_split ()
17611 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17612 : STRIP_UNARY (operands[4]))
17613 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17614 : STRIP_UNARY (operands[4]))
17615 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17616 : STRIP_UNARY (operands[3]))
17617 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17618 : STRIP_UNARY (operands[3])))) &&
17619 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17620 : (TARGET_AVX512F)))
17621 : return -1;
17622 : return 5716; /* *avx512f_vpternlogv16si_1 */
17623 :
17624 : case 31:
17625 : if (!(
17626 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17627 : ((32 == 64 || TARGET_AVX512VL
17628 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17629 : && ix86_pre_reload_split ()
17630 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17631 : STRIP_UNARY (operands[4]))
17632 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17633 : STRIP_UNARY (operands[4]))
17634 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17635 : STRIP_UNARY (operands[3]))
17636 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17637 : STRIP_UNARY (operands[3])))) &&
17638 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17639 : (TARGET_AVX)))
17640 : return -1;
17641 : return 5743; /* *avx512vl_vpternlogv8si_1 */
17642 :
17643 : case 32:
17644 : if (!
17645 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17646 : ((16 == 64 || TARGET_AVX512VL
17647 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17648 : && ix86_pre_reload_split ()
17649 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17650 : STRIP_UNARY (operands[4]))
17651 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17652 : STRIP_UNARY (operands[4]))
17653 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17654 : STRIP_UNARY (operands[3]))
17655 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17656 : STRIP_UNARY (operands[3])))))
17657 : return -1;
17658 : return 5770; /* *avx512vl_vpternlogv4si_1 */
17659 :
17660 : case 33:
17661 : if (!(
17662 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17663 : ((64 == 64 || TARGET_AVX512VL
17664 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17665 : && ix86_pre_reload_split ()
17666 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17667 : STRIP_UNARY (operands[4]))
17668 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17669 : STRIP_UNARY (operands[4]))
17670 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17671 : STRIP_UNARY (operands[3]))
17672 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17673 : STRIP_UNARY (operands[3])))) &&
17674 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17675 : (TARGET_AVX512F)))
17676 : return -1;
17677 : return 5797; /* *avx512f_vpternlogv8di_1 */
17678 :
17679 : case 34:
17680 : if (!(
17681 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17682 : ((32 == 64 || TARGET_AVX512VL
17683 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17684 : && ix86_pre_reload_split ()
17685 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17686 : STRIP_UNARY (operands[4]))
17687 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17688 : STRIP_UNARY (operands[4]))
17689 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17690 : STRIP_UNARY (operands[3]))
17691 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17692 : STRIP_UNARY (operands[3])))) &&
17693 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17694 : (TARGET_AVX)))
17695 : return -1;
17696 : return 5824; /* *avx512vl_vpternlogv4di_1 */
17697 :
17698 : case 35:
17699 : if (!
17700 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17701 : ((16 == 64 || TARGET_AVX512VL
17702 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17703 : && ix86_pre_reload_split ()
17704 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17705 : STRIP_UNARY (operands[4]))
17706 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17707 : STRIP_UNARY (operands[4]))
17708 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17709 : STRIP_UNARY (operands[3]))
17710 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17711 : STRIP_UNARY (operands[3])))))
17712 : return -1;
17713 : return 5851; /* *avx512vl_vpternlogv2di_1 */
17714 :
17715 : case 36:
17716 : if (!(
17717 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17718 : ((64 == 64 || TARGET_AVX512VL
17719 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17720 : && ix86_pre_reload_split ()) &&
17721 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17722 : (TARGET_AVX512F)))
17723 : return -1;
17724 : return 6838; /* *avx512bw_vpternlogv64qi_3 */
17725 :
17726 : case 37:
17727 : if (!(
17728 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17729 : ((32 == 64 || TARGET_AVX512VL
17730 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17731 : && ix86_pre_reload_split ()) &&
17732 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17733 : (TARGET_AVX)))
17734 : return -1;
17735 : return 6847; /* *avx512vl_vpternlogv32qi_3 */
17736 :
17737 : case 38:
17738 : if (!
17739 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17740 : ((16 == 64 || TARGET_AVX512VL
17741 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17742 : && ix86_pre_reload_split ()))
17743 : return -1;
17744 : return 6856; /* *avx512vl_vpternlogv16qi_3 */
17745 :
17746 : case 39:
17747 : if (!(
17748 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17749 : ((64 == 64 || TARGET_AVX512VL
17750 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17751 : && ix86_pre_reload_split ()) &&
17752 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17753 : (TARGET_AVX512F)))
17754 : return -1;
17755 : return 6865; /* *avx512bw_vpternlogv32hi_3 */
17756 :
17757 : case 40:
17758 : if (!(
17759 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17760 : ((32 == 64 || TARGET_AVX512VL
17761 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17762 : && ix86_pre_reload_split ()) &&
17763 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17764 : (TARGET_AVX)))
17765 : return -1;
17766 : return 6874; /* *avx512vl_vpternlogv16hi_3 */
17767 :
17768 : case 41:
17769 : if (!
17770 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17771 : ((16 == 64 || TARGET_AVX512VL
17772 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17773 : && ix86_pre_reload_split ()))
17774 : return -1;
17775 : return 6883; /* *avx512vl_vpternlogv8hi_3 */
17776 :
17777 : case 42:
17778 : if (!(
17779 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17780 : ((64 == 64 || TARGET_AVX512VL
17781 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17782 : && ix86_pre_reload_split ()) &&
17783 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17784 : (TARGET_AVX512F)))
17785 : return -1;
17786 : return 6892; /* *avx512f_vpternlogv16si_3 */
17787 :
17788 : case 43:
17789 : if (!(
17790 : #line 14271 "/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 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17795 : (TARGET_AVX)))
17796 : return -1;
17797 : return 6901; /* *avx512vl_vpternlogv8si_3 */
17798 :
17799 : case 44:
17800 : if (!
17801 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17802 : ((16 == 64 || TARGET_AVX512VL
17803 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17804 : && ix86_pre_reload_split ()))
17805 : return -1;
17806 : return 6910; /* *avx512vl_vpternlogv4si_3 */
17807 :
17808 : case 45:
17809 : if (!(
17810 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17811 : ((64 == 64 || TARGET_AVX512VL
17812 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17813 : && ix86_pre_reload_split ()) &&
17814 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17815 : (TARGET_AVX512F)))
17816 : return -1;
17817 : return 6919; /* *avx512f_vpternlogv8di_3 */
17818 :
17819 : case 46:
17820 : if (!(
17821 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17822 : ((32 == 64 || TARGET_AVX512VL
17823 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17824 : && ix86_pre_reload_split ()) &&
17825 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17826 : (TARGET_AVX)))
17827 : return -1;
17828 : return 6928; /* *avx512vl_vpternlogv4di_3 */
17829 :
17830 : case 47:
17831 : if (!
17832 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17833 : ((16 == 64 || TARGET_AVX512VL
17834 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17835 : && ix86_pre_reload_split ()))
17836 : return -1;
17837 : return 6937; /* *avx512vl_vpternlogv2di_3 */
17838 :
17839 : default:
17840 : return -1;
17841 : }
17842 :
17843 : case AND:
17844 : switch (pattern537 (x2))
17845 : {
17846 : case 0:
17847 : if (!(
17848 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17849 : ((64 == 64 || TARGET_AVX512VL
17850 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17851 : && ix86_pre_reload_split ()
17852 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17853 : STRIP_UNARY (operands[4]))
17854 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17855 : STRIP_UNARY (operands[4]))
17856 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17857 : STRIP_UNARY (operands[3]))
17858 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17859 : STRIP_UNARY (operands[3])))) &&
17860 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17861 : (TARGET_AVX512F)))
17862 : return -1;
17863 : return 6196; /* *avx512bw_vpternlogv64qi_2 */
17864 :
17865 : case 1:
17866 : if (!(
17867 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17868 : ((32 == 64 || TARGET_AVX512VL
17869 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17870 : && ix86_pre_reload_split ()
17871 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17872 : STRIP_UNARY (operands[4]))
17873 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17874 : STRIP_UNARY (operands[4]))
17875 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17876 : STRIP_UNARY (operands[3]))
17877 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17878 : STRIP_UNARY (operands[3])))) &&
17879 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17880 : (TARGET_AVX)))
17881 : return -1;
17882 : return 6223; /* *avx512vl_vpternlogv32qi_2 */
17883 :
17884 : case 2:
17885 : if (!
17886 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17887 : ((16 == 64 || TARGET_AVX512VL
17888 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17889 : && ix86_pre_reload_split ()
17890 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17891 : STRIP_UNARY (operands[4]))
17892 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17893 : STRIP_UNARY (operands[4]))
17894 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17895 : STRIP_UNARY (operands[3]))
17896 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17897 : STRIP_UNARY (operands[3])))))
17898 : return -1;
17899 : return 6250; /* *avx512vl_vpternlogv16qi_2 */
17900 :
17901 : case 3:
17902 : if (!(
17903 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17904 : ((64 == 64 || TARGET_AVX512VL
17905 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17906 : && ix86_pre_reload_split ()
17907 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17908 : STRIP_UNARY (operands[4]))
17909 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17910 : STRIP_UNARY (operands[4]))
17911 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17912 : STRIP_UNARY (operands[3]))
17913 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17914 : STRIP_UNARY (operands[3])))) &&
17915 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17916 : (TARGET_AVX512F)))
17917 : return -1;
17918 : return 6277; /* *avx512bw_vpternlogv32hi_2 */
17919 :
17920 : case 4:
17921 : if (!(
17922 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17923 : ((32 == 64 || TARGET_AVX512VL
17924 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17925 : && ix86_pre_reload_split ()
17926 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17927 : STRIP_UNARY (operands[4]))
17928 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17929 : STRIP_UNARY (operands[4]))
17930 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17931 : STRIP_UNARY (operands[3]))
17932 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17933 : STRIP_UNARY (operands[3])))) &&
17934 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17935 : (TARGET_AVX)))
17936 : return -1;
17937 : return 6304; /* *avx512vl_vpternlogv16hi_2 */
17938 :
17939 : case 5:
17940 : if (!
17941 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17942 : ((16 == 64 || TARGET_AVX512VL
17943 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17944 : && ix86_pre_reload_split ()
17945 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17946 : STRIP_UNARY (operands[4]))
17947 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17948 : STRIP_UNARY (operands[4]))
17949 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17950 : STRIP_UNARY (operands[3]))
17951 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17952 : STRIP_UNARY (operands[3])))))
17953 : return -1;
17954 : return 6331; /* *avx512vl_vpternlogv8hi_2 */
17955 :
17956 : case 6:
17957 : if (!(
17958 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17959 : ((64 == 64 || TARGET_AVX512VL
17960 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17961 : && ix86_pre_reload_split ()
17962 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17963 : STRIP_UNARY (operands[4]))
17964 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17965 : STRIP_UNARY (operands[4]))
17966 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17967 : STRIP_UNARY (operands[3]))
17968 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17969 : STRIP_UNARY (operands[3])))) &&
17970 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17971 : (TARGET_AVX512F)))
17972 : return -1;
17973 : return 6358; /* *avx512f_vpternlogv16si_2 */
17974 :
17975 : case 7:
17976 : if (!(
17977 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17978 : ((32 == 64 || TARGET_AVX512VL
17979 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17980 : && ix86_pre_reload_split ()
17981 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17982 : STRIP_UNARY (operands[4]))
17983 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17984 : STRIP_UNARY (operands[4]))
17985 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17986 : STRIP_UNARY (operands[3]))
17987 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17988 : STRIP_UNARY (operands[3])))) &&
17989 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17990 : (TARGET_AVX)))
17991 : return -1;
17992 : return 6385; /* *avx512vl_vpternlogv8si_2 */
17993 :
17994 : case 8:
17995 : if (!
17996 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17997 : ((16 == 64 || TARGET_AVX512VL
17998 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17999 : && ix86_pre_reload_split ()
18000 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18001 : STRIP_UNARY (operands[4]))
18002 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18003 : STRIP_UNARY (operands[4]))
18004 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18005 : STRIP_UNARY (operands[3]))
18006 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18007 : STRIP_UNARY (operands[3])))))
18008 : return -1;
18009 : return 6412; /* *avx512vl_vpternlogv4si_2 */
18010 :
18011 : case 9:
18012 : if (!(
18013 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18014 : ((64 == 64 || TARGET_AVX512VL
18015 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18016 : && ix86_pre_reload_split ()
18017 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18018 : STRIP_UNARY (operands[4]))
18019 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18020 : STRIP_UNARY (operands[4]))
18021 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18022 : STRIP_UNARY (operands[3]))
18023 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18024 : STRIP_UNARY (operands[3])))) &&
18025 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18026 : (TARGET_AVX512F)))
18027 : return -1;
18028 : return 6439; /* *avx512f_vpternlogv8di_2 */
18029 :
18030 : case 10:
18031 : if (!(
18032 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18033 : ((32 == 64 || TARGET_AVX512VL
18034 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18035 : && ix86_pre_reload_split ()
18036 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18037 : STRIP_UNARY (operands[4]))
18038 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18039 : STRIP_UNARY (operands[4]))
18040 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18041 : STRIP_UNARY (operands[3]))
18042 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18043 : STRIP_UNARY (operands[3])))) &&
18044 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18045 : (TARGET_AVX)))
18046 : return -1;
18047 : return 6466; /* *avx512vl_vpternlogv4di_2 */
18048 :
18049 : case 11:
18050 : if (!
18051 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18052 : ((16 == 64 || TARGET_AVX512VL
18053 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18054 : && ix86_pre_reload_split ()
18055 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18056 : STRIP_UNARY (operands[4]))
18057 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18058 : STRIP_UNARY (operands[4]))
18059 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18060 : STRIP_UNARY (operands[3]))
18061 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18062 : STRIP_UNARY (operands[3])))))
18063 : return -1;
18064 : return 6493; /* *avx512vl_vpternlogv2di_2 */
18065 :
18066 : default:
18067 : return -1;
18068 : }
18069 :
18070 : case IOR:
18071 : switch (pattern537 (x2))
18072 : {
18073 : case 0:
18074 : if (!(
18075 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18076 : ((64 == 64 || TARGET_AVX512VL
18077 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18078 : && ix86_pre_reload_split ()
18079 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18080 : STRIP_UNARY (operands[4]))
18081 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18082 : STRIP_UNARY (operands[4]))
18083 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18084 : STRIP_UNARY (operands[3]))
18085 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18086 : STRIP_UNARY (operands[3])))) &&
18087 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18088 : (TARGET_AVX512F)))
18089 : return -1;
18090 : return 6199; /* *avx512bw_vpternlogv64qi_2 */
18091 :
18092 : case 1:
18093 : if (!(
18094 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18095 : ((32 == 64 || TARGET_AVX512VL
18096 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18097 : && ix86_pre_reload_split ()
18098 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18099 : STRIP_UNARY (operands[4]))
18100 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18101 : STRIP_UNARY (operands[4]))
18102 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18103 : STRIP_UNARY (operands[3]))
18104 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18105 : STRIP_UNARY (operands[3])))) &&
18106 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18107 : (TARGET_AVX)))
18108 : return -1;
18109 : return 6226; /* *avx512vl_vpternlogv32qi_2 */
18110 :
18111 : case 2:
18112 : if (!
18113 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18114 : ((16 == 64 || TARGET_AVX512VL
18115 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18116 : && ix86_pre_reload_split ()
18117 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18118 : STRIP_UNARY (operands[4]))
18119 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18120 : STRIP_UNARY (operands[4]))
18121 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18122 : STRIP_UNARY (operands[3]))
18123 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18124 : STRIP_UNARY (operands[3])))))
18125 : return -1;
18126 : return 6253; /* *avx512vl_vpternlogv16qi_2 */
18127 :
18128 : case 3:
18129 : if (!(
18130 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18131 : ((64 == 64 || TARGET_AVX512VL
18132 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18133 : && ix86_pre_reload_split ()
18134 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18135 : STRIP_UNARY (operands[4]))
18136 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18137 : STRIP_UNARY (operands[4]))
18138 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18139 : STRIP_UNARY (operands[3]))
18140 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18141 : STRIP_UNARY (operands[3])))) &&
18142 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18143 : (TARGET_AVX512F)))
18144 : return -1;
18145 : return 6280; /* *avx512bw_vpternlogv32hi_2 */
18146 :
18147 : case 4:
18148 : if (!(
18149 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18150 : ((32 == 64 || TARGET_AVX512VL
18151 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18152 : && ix86_pre_reload_split ()
18153 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18154 : STRIP_UNARY (operands[4]))
18155 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18156 : STRIP_UNARY (operands[4]))
18157 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18158 : STRIP_UNARY (operands[3]))
18159 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18160 : STRIP_UNARY (operands[3])))) &&
18161 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18162 : (TARGET_AVX)))
18163 : return -1;
18164 : return 6307; /* *avx512vl_vpternlogv16hi_2 */
18165 :
18166 : case 5:
18167 : if (!
18168 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18169 : ((16 == 64 || TARGET_AVX512VL
18170 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18171 : && ix86_pre_reload_split ()
18172 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18173 : STRIP_UNARY (operands[4]))
18174 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18175 : STRIP_UNARY (operands[4]))
18176 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18177 : STRIP_UNARY (operands[3]))
18178 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18179 : STRIP_UNARY (operands[3])))))
18180 : return -1;
18181 : return 6334; /* *avx512vl_vpternlogv8hi_2 */
18182 :
18183 : case 6:
18184 : if (!(
18185 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18186 : ((64 == 64 || TARGET_AVX512VL
18187 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18188 : && ix86_pre_reload_split ()
18189 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18190 : STRIP_UNARY (operands[4]))
18191 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18192 : STRIP_UNARY (operands[4]))
18193 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18194 : STRIP_UNARY (operands[3]))
18195 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18196 : STRIP_UNARY (operands[3])))) &&
18197 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18198 : (TARGET_AVX512F)))
18199 : return -1;
18200 : return 6361; /* *avx512f_vpternlogv16si_2 */
18201 :
18202 : case 7:
18203 : if (!(
18204 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18205 : ((32 == 64 || TARGET_AVX512VL
18206 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18207 : && ix86_pre_reload_split ()
18208 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18209 : STRIP_UNARY (operands[4]))
18210 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18211 : STRIP_UNARY (operands[4]))
18212 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18213 : STRIP_UNARY (operands[3]))
18214 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18215 : STRIP_UNARY (operands[3])))) &&
18216 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18217 : (TARGET_AVX)))
18218 : return -1;
18219 : return 6388; /* *avx512vl_vpternlogv8si_2 */
18220 :
18221 : case 8:
18222 : if (!
18223 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18224 : ((16 == 64 || TARGET_AVX512VL
18225 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18226 : && ix86_pre_reload_split ()
18227 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18228 : STRIP_UNARY (operands[4]))
18229 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18230 : STRIP_UNARY (operands[4]))
18231 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18232 : STRIP_UNARY (operands[3]))
18233 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18234 : STRIP_UNARY (operands[3])))))
18235 : return -1;
18236 : return 6415; /* *avx512vl_vpternlogv4si_2 */
18237 :
18238 : case 9:
18239 : if (!(
18240 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18241 : ((64 == 64 || TARGET_AVX512VL
18242 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18243 : && ix86_pre_reload_split ()
18244 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18245 : STRIP_UNARY (operands[4]))
18246 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18247 : STRIP_UNARY (operands[4]))
18248 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18249 : STRIP_UNARY (operands[3]))
18250 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18251 : STRIP_UNARY (operands[3])))) &&
18252 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18253 : (TARGET_AVX512F)))
18254 : return -1;
18255 : return 6442; /* *avx512f_vpternlogv8di_2 */
18256 :
18257 : case 10:
18258 : if (!(
18259 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18260 : ((32 == 64 || TARGET_AVX512VL
18261 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18262 : && ix86_pre_reload_split ()
18263 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18264 : STRIP_UNARY (operands[4]))
18265 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18266 : STRIP_UNARY (operands[4]))
18267 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18268 : STRIP_UNARY (operands[3]))
18269 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18270 : STRIP_UNARY (operands[3])))) &&
18271 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18272 : (TARGET_AVX)))
18273 : return -1;
18274 : return 6469; /* *avx512vl_vpternlogv4di_2 */
18275 :
18276 : case 11:
18277 : if (!
18278 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18279 : ((16 == 64 || TARGET_AVX512VL
18280 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18281 : && ix86_pre_reload_split ()
18282 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18283 : STRIP_UNARY (operands[4]))
18284 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18285 : STRIP_UNARY (operands[4]))
18286 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18287 : STRIP_UNARY (operands[3]))
18288 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18289 : STRIP_UNARY (operands[3])))))
18290 : return -1;
18291 : return 6496; /* *avx512vl_vpternlogv2di_2 */
18292 :
18293 : default:
18294 : return -1;
18295 : }
18296 :
18297 : case XOR:
18298 : switch (pattern537 (x2))
18299 : {
18300 : case 0:
18301 : if (!(
18302 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18303 : ((64 == 64 || TARGET_AVX512VL
18304 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18305 : && ix86_pre_reload_split ()
18306 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18307 : STRIP_UNARY (operands[4]))
18308 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18309 : STRIP_UNARY (operands[4]))
18310 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18311 : STRIP_UNARY (operands[3]))
18312 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18313 : STRIP_UNARY (operands[3])))) &&
18314 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18315 : (TARGET_AVX512F)))
18316 : return -1;
18317 : return 6202; /* *avx512bw_vpternlogv64qi_2 */
18318 :
18319 : case 1:
18320 : if (!(
18321 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18322 : ((32 == 64 || TARGET_AVX512VL
18323 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18324 : && ix86_pre_reload_split ()
18325 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18326 : STRIP_UNARY (operands[4]))
18327 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18328 : STRIP_UNARY (operands[4]))
18329 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18330 : STRIP_UNARY (operands[3]))
18331 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18332 : STRIP_UNARY (operands[3])))) &&
18333 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18334 : (TARGET_AVX)))
18335 : return -1;
18336 : return 6229; /* *avx512vl_vpternlogv32qi_2 */
18337 :
18338 : case 2:
18339 : if (!
18340 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18341 : ((16 == 64 || TARGET_AVX512VL
18342 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18343 : && ix86_pre_reload_split ()
18344 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18345 : STRIP_UNARY (operands[4]))
18346 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18347 : STRIP_UNARY (operands[4]))
18348 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18349 : STRIP_UNARY (operands[3]))
18350 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18351 : STRIP_UNARY (operands[3])))))
18352 : return -1;
18353 : return 6256; /* *avx512vl_vpternlogv16qi_2 */
18354 :
18355 : case 3:
18356 : if (!(
18357 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18358 : ((64 == 64 || TARGET_AVX512VL
18359 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18360 : && ix86_pre_reload_split ()
18361 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18362 : STRIP_UNARY (operands[4]))
18363 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18364 : STRIP_UNARY (operands[4]))
18365 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18366 : STRIP_UNARY (operands[3]))
18367 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18368 : STRIP_UNARY (operands[3])))) &&
18369 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18370 : (TARGET_AVX512F)))
18371 : return -1;
18372 : return 6283; /* *avx512bw_vpternlogv32hi_2 */
18373 :
18374 : case 4:
18375 : if (!(
18376 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18377 : ((32 == 64 || TARGET_AVX512VL
18378 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18379 : && ix86_pre_reload_split ()
18380 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18381 : STRIP_UNARY (operands[4]))
18382 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18383 : STRIP_UNARY (operands[4]))
18384 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18385 : STRIP_UNARY (operands[3]))
18386 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18387 : STRIP_UNARY (operands[3])))) &&
18388 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18389 : (TARGET_AVX)))
18390 : return -1;
18391 : return 6310; /* *avx512vl_vpternlogv16hi_2 */
18392 :
18393 : case 5:
18394 : if (!
18395 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18396 : ((16 == 64 || TARGET_AVX512VL
18397 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18398 : && ix86_pre_reload_split ()
18399 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18400 : STRIP_UNARY (operands[4]))
18401 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18402 : STRIP_UNARY (operands[4]))
18403 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18404 : STRIP_UNARY (operands[3]))
18405 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18406 : STRIP_UNARY (operands[3])))))
18407 : return -1;
18408 : return 6337; /* *avx512vl_vpternlogv8hi_2 */
18409 :
18410 : case 6:
18411 : if (!(
18412 : #line 14187 "/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 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18425 : (TARGET_AVX512F)))
18426 : return -1;
18427 : return 6364; /* *avx512f_vpternlogv16si_2 */
18428 :
18429 : case 7:
18430 : if (!(
18431 : #line 14187 "/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 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18444 : (TARGET_AVX)))
18445 : return -1;
18446 : return 6391; /* *avx512vl_vpternlogv8si_2 */
18447 :
18448 : case 8:
18449 : if (!
18450 : #line 14187 "/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 6418; /* *avx512vl_vpternlogv4si_2 */
18464 :
18465 : case 9:
18466 : if (!(
18467 : #line 14187 "/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 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18480 : (TARGET_AVX512F)))
18481 : return -1;
18482 : return 6445; /* *avx512f_vpternlogv8di_2 */
18483 :
18484 : case 10:
18485 : if (!(
18486 : #line 14187 "/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 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18499 : (TARGET_AVX)))
18500 : return -1;
18501 : return 6472; /* *avx512vl_vpternlogv4di_2 */
18502 :
18503 : case 11:
18504 : if (!
18505 : #line 14187 "/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 6499; /* *avx512vl_vpternlogv2di_2 */
18519 :
18520 : default:
18521 : return -1;
18522 : }
18523 :
18524 : default:
18525 : return -1;
18526 : }
18527 : }
18528 :
18529 : int
18530 : recog_321 (rtx x1 ATTRIBUTE_UNUSED,
18531 : rtx_insn *insn ATTRIBUTE_UNUSED,
18532 : int *pnum_clobbers ATTRIBUTE_UNUSED)
18533 : {
18534 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
18535 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
18536 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
18537 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
18538 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
18539 : int res ATTRIBUTE_UNUSED;
18540 : x2 = XEXP (x1, 1);
18541 : x3 = XEXP (x2, 0);
18542 : x4 = XEXP (x3, 0);
18543 : x5 = XEXP (x4, 1);
18544 : if (GET_CODE (x5) != CONST_VECTOR
18545 : || XVECLEN (x5, 0) != 32
18546 : || pattern1370 (x5,
18547 : E_V32HImode) != 0)
18548 : return -1;
18549 : x6 = XVECEXP (x5, 0, 8);
18550 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18551 : return -1;
18552 : x7 = XVECEXP (x5, 0, 9);
18553 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18554 : return -1;
18555 : x8 = XVECEXP (x5, 0, 10);
18556 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18557 : return -1;
18558 : x9 = XVECEXP (x5, 0, 11);
18559 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18560 : return -1;
18561 : x10 = XVECEXP (x5, 0, 12);
18562 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18563 : return -1;
18564 : x11 = XVECEXP (x5, 0, 13);
18565 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18566 : return -1;
18567 : x12 = XVECEXP (x5, 0, 14);
18568 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18569 : return -1;
18570 : x13 = XVECEXP (x5, 0, 15);
18571 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18572 : return -1;
18573 : x14 = XVECEXP (x5, 0, 16);
18574 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18575 : return -1;
18576 : x15 = XVECEXP (x5, 0, 17);
18577 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18578 : return -1;
18579 : x16 = XVECEXP (x5, 0, 18);
18580 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18581 : return -1;
18582 : x17 = XVECEXP (x5, 0, 19);
18583 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18584 : return -1;
18585 : x18 = XVECEXP (x5, 0, 20);
18586 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18587 : return -1;
18588 : x19 = XVECEXP (x5, 0, 21);
18589 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18590 : return -1;
18591 : x20 = XVECEXP (x5, 0, 22);
18592 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18593 : return -1;
18594 : x21 = XVECEXP (x5, 0, 23);
18595 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18596 : return -1;
18597 : x22 = XVECEXP (x5, 0, 24);
18598 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18599 : return -1;
18600 : x23 = XVECEXP (x5, 0, 25);
18601 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18602 : return -1;
18603 : x24 = XVECEXP (x5, 0, 26);
18604 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18605 : return -1;
18606 : x25 = XVECEXP (x5, 0, 27);
18607 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18608 : return -1;
18609 : x26 = XVECEXP (x5, 0, 28);
18610 : if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18611 : return -1;
18612 : x27 = XVECEXP (x5, 0, 29);
18613 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18614 : return -1;
18615 : x28 = XVECEXP (x5, 0, 30);
18616 : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18617 : return -1;
18618 : x29 = XVECEXP (x5, 0, 31);
18619 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
18620 : || !register_operand (operands[0], E_V32HImode)
18621 : || GET_MODE (x2) != E_V32HImode
18622 : || GET_MODE (x3) != E_V32SImode
18623 : || pattern1522 (x4,
18624 : E_V32SImode) != 0)
18625 : return -1;
18626 : x30 = XEXP (x4, 0);
18627 : x31 = XEXP (x30, 0);
18628 : x32 = XEXP (x31, 1);
18629 : if (GET_MODE (x32) != E_V32SImode)
18630 : return -1;
18631 : x33 = XEXP (x32, 0);
18632 : operands[2] = x33;
18633 : if (!nonimmediate_operand (operands[2], E_V32HImode)
18634 : || !
18635 : #line 23182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18636 : (TARGET_AVX512BW))
18637 : return -1;
18638 : return 8656; /* avx512bw_umulhrswv32hi3 */
18639 : }
18640 :
18641 : int
18642 : recog_322 (rtx x1 ATTRIBUTE_UNUSED,
18643 : rtx_insn *insn ATTRIBUTE_UNUSED,
18644 : int *pnum_clobbers ATTRIBUTE_UNUSED)
18645 : {
18646 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
18647 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
18648 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
18649 : rtx x18, x19, x20, x21, x22;
18650 : int res ATTRIBUTE_UNUSED;
18651 : x2 = XEXP (x1, 0);
18652 : operands[0] = x2;
18653 : x3 = XEXP (x1, 1);
18654 : x4 = XEXP (x3, 0);
18655 : switch (GET_CODE (x4))
18656 : {
18657 : case VEC_SELECT:
18658 : return recog_274 (x1, insn, pnum_clobbers);
18659 :
18660 : case VEC_CONCAT:
18661 : x5 = XEXP (x4, 0);
18662 : switch (GET_CODE (x5))
18663 : {
18664 : case PLUS:
18665 : switch (pattern331 (x3,
18666 : PLUS))
18667 : {
18668 : case 0:
18669 : if (!
18670 : #line 3736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18671 : (TARGET_AVX))
18672 : return -1;
18673 : return 3219; /* avx_haddv4df3 */
18674 :
18675 : case 1:
18676 : if (!
18677 : #line 3912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18678 : (TARGET_SSE3))
18679 : return -1;
18680 : return 3227; /* sse3_haddv4sf3 */
18681 :
18682 : default:
18683 : return -1;
18684 : }
18685 :
18686 : case MINUS:
18687 : switch (pattern331 (x3,
18688 : MINUS))
18689 : {
18690 : case 0:
18691 : if (!
18692 : #line 3736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18693 : (TARGET_AVX))
18694 : return -1;
18695 : return 3220; /* avx_hsubv4df3 */
18696 :
18697 : case 1:
18698 : if (!
18699 : #line 3912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18700 : (TARGET_SSE3))
18701 : return -1;
18702 : return 3228; /* sse3_hsubv4sf3 */
18703 :
18704 : default:
18705 : return -1;
18706 : }
18707 :
18708 : case VEC_CONCAT:
18709 : if (GET_MODE (x5) != E_V2SFmode)
18710 : return -1;
18711 : x6 = XEXP (x4, 1);
18712 : if (GET_CODE (x6) != VEC_CONCAT
18713 : || GET_MODE (x6) != E_V2SFmode)
18714 : return -1;
18715 : x7 = XEXP (x3, 1);
18716 : if (GET_CODE (x7) != VEC_CONCAT
18717 : || GET_MODE (x7) != E_V4SFmode
18718 : || pattern1040 (x7,
18719 : E_V2SFmode,
18720 : VEC_CONCAT) != 0
18721 : || !register_operand (operands[0], E_V8SFmode)
18722 : || GET_MODE (x3) != E_V8SFmode
18723 : || GET_MODE (x4) != E_V4SFmode
18724 : || pattern1564 (x3,
18725 : E_SFmode) != 0)
18726 : return -1;
18727 : x8 = XEXP (x5, 0);
18728 : switch (GET_CODE (x8))
18729 : {
18730 : case PLUS:
18731 : if (pattern1844 (x3,
18732 : PLUS) != 0
18733 : || !
18734 : #line 3884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18735 : (TARGET_AVX))
18736 : return -1;
18737 : return 3225; /* avx_haddv8sf3 */
18738 :
18739 : case MINUS:
18740 : if (pattern1844 (x3,
18741 : MINUS) != 0
18742 : || !
18743 : #line 3884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18744 : (TARGET_AVX))
18745 : return -1;
18746 : return 3226; /* avx_hsubv8sf3 */
18747 :
18748 : default:
18749 : return -1;
18750 : }
18751 :
18752 : case REG:
18753 : case SUBREG:
18754 : case MEM:
18755 : operands[1] = x5;
18756 : if (pattern416 (x3) != 0)
18757 : return -1;
18758 : switch (GET_MODE (operands[0]))
18759 : {
18760 : case E_V16SImode:
18761 : if (pattern1491 (x3,
18762 : E_V8SImode,
18763 : E_V4SImode,
18764 : E_V16SImode) != 0
18765 : || !
18766 : #line 30839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18767 : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
18768 : return -1;
18769 : return 10176; /* avx512f_si512_si */
18770 :
18771 : case E_V16SFmode:
18772 : if (pattern1491 (x3,
18773 : E_V8SFmode,
18774 : E_V4SFmode,
18775 : E_V16SFmode) != 0
18776 : || !
18777 : #line 30839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18778 : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
18779 : return -1;
18780 : return 10177; /* avx512f_ps512_ps */
18781 :
18782 : case E_V8DFmode:
18783 : if (pattern1491 (x3,
18784 : E_V4DFmode,
18785 : E_V2DFmode,
18786 : E_V8DFmode) != 0
18787 : || !
18788 : #line 30839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18789 : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
18790 : return -1;
18791 : return 10178; /* avx512f_pd512_pd */
18792 :
18793 : default:
18794 : return -1;
18795 : }
18796 :
18797 : default:
18798 : return -1;
18799 : }
18800 :
18801 : case PLUS:
18802 : if (pattern102 (x3,
18803 : E_V2DFmode,
18804 : E_DFmode) != 0)
18805 : return -1;
18806 : x7 = XEXP (x3, 1);
18807 : x9 = XEXP (x7, 0);
18808 : x10 = XEXP (x9, 0);
18809 : operands[2] = x10;
18810 : if (!vector_operand (operands[2], E_V2DFmode)
18811 : || pattern1879 (x3) != 0
18812 : || !
18813 : #line 3775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18814 : (TARGET_SSE3
18815 : && INTVAL (operands[3]) != INTVAL (operands[4])
18816 : && INTVAL (operands[5]) != INTVAL (operands[6])))
18817 : return -1;
18818 : return 3221; /* *sse3_haddv2df3 */
18819 :
18820 : case MINUS:
18821 : if (pattern103 (x4,
18822 : E_DFmode) != 0)
18823 : return -1;
18824 : x7 = XEXP (x3, 1);
18825 : if (GET_CODE (x7) != MINUS
18826 : || GET_MODE (x7) != E_DFmode
18827 : || pattern1565 (x7,
18828 : E_DFmode) != 0
18829 : || !register_operand (operands[0], E_V2DFmode)
18830 : || GET_MODE (x3) != E_V2DFmode)
18831 : return -1;
18832 : x5 = XEXP (x4, 0);
18833 : x8 = XEXP (x5, 0);
18834 : operands[1] = x8;
18835 : if (!register_operand (operands[1], E_V2DFmode))
18836 : return -1;
18837 : x9 = XEXP (x7, 0);
18838 : x10 = XEXP (x9, 0);
18839 : operands[2] = x10;
18840 : if (!vector_operand (operands[2], E_V2DFmode))
18841 : return -1;
18842 : x6 = XEXP (x4, 1);
18843 : x11 = XEXP (x6, 0);
18844 : if (!rtx_equal_p (x11, operands[1]))
18845 : return -1;
18846 : x12 = XEXP (x7, 1);
18847 : x13 = XEXP (x12, 0);
18848 : if (!rtx_equal_p (x13, operands[2])
18849 : || !
18850 : #line 3800 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18851 : (TARGET_SSE3))
18852 : return -1;
18853 : return 3222; /* sse3_hsubv2df3 */
18854 :
18855 : case FLOAT:
18856 : switch (pattern187 (x3))
18857 : {
18858 : case 0:
18859 : if (!
18860 : #line 8025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18861 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
18862 : return -1;
18863 : return 4565; /* *avx512fp16_vcvtdq2ph_v4si */
18864 :
18865 : case 1:
18866 : if (!
18867 : #line 8025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18868 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
18869 : return -1;
18870 : return 4567; /* *avx512fp16_vcvtqq2ph_v4di */
18871 :
18872 : case 2:
18873 : if (!
18874 : #line 8101 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18875 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
18876 : return -1;
18877 : return 4577; /* *avx512fp16_vcvtqq2ph_v2di */
18878 :
18879 : case 3:
18880 : if (!
18881 : #line 9537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18882 : (TARGET_AVX512DQ && TARGET_AVX512VL))
18883 : return -1;
18884 : return 5021; /* *avx512dq_floatv2div2sf2 */
18885 :
18886 : default:
18887 : return -1;
18888 : }
18889 :
18890 : case UNSIGNED_FLOAT:
18891 : switch (pattern187 (x3))
18892 : {
18893 : case 0:
18894 : if (!
18895 : #line 8025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18896 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
18897 : return -1;
18898 : return 4566; /* *avx512fp16_vcvtudq2ph_v4si */
18899 :
18900 : case 1:
18901 : if (!
18902 : #line 8025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18903 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
18904 : return -1;
18905 : return 4568; /* *avx512fp16_vcvtuqq2ph_v4di */
18906 :
18907 : case 2:
18908 : if (!
18909 : #line 8101 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18910 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
18911 : return -1;
18912 : return 4578; /* *avx512fp16_vcvtuqq2ph_v2di */
18913 :
18914 : case 3:
18915 : if (!
18916 : #line 9537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18917 : (TARGET_AVX512DQ && TARGET_AVX512VL))
18918 : return -1;
18919 : return 5022; /* *avx512dq_floatunsv2div2sf2 */
18920 :
18921 : default:
18922 : return -1;
18923 : }
18924 :
18925 : case VEC_MERGE:
18926 : return recog_273 (x1, insn, pnum_clobbers);
18927 :
18928 : case FLOAT_TRUNCATE:
18929 : x7 = XEXP (x3, 1);
18930 : switch (GET_CODE (x7))
18931 : {
18932 : case CONST_INT:
18933 : case CONST_DOUBLE:
18934 : case CONST_VECTOR:
18935 : operands[2] = x7;
18936 : x5 = XEXP (x4, 0);
18937 : operands[1] = x5;
18938 : switch (GET_MODE (operands[0]))
18939 : {
18940 : case E_V8HFmode:
18941 : if (!register_operand (operands[0], E_V8HFmode)
18942 : || GET_MODE (x3) != E_V8HFmode)
18943 : return -1;
18944 : switch (GET_MODE (x4))
18945 : {
18946 : case E_V4HFmode:
18947 : if (!const0_operand (operands[2], E_V4HFmode))
18948 : return -1;
18949 : switch (GET_MODE (operands[1]))
18950 : {
18951 : case E_V4DFmode:
18952 : if (!vector_operand (operands[1], E_V4DFmode)
18953 : || !
18954 : #line 8492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18955 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
18956 : return -1;
18957 : return 4791; /* *avx512fp16_vcvtpd2ph_v4df */
18958 :
18959 : case E_V4SFmode:
18960 : if (!vector_operand (operands[1], E_V4SFmode)
18961 : || !
18962 : #line 8492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18963 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
18964 : return -1;
18965 : return 4792; /* *avx512fp16_vcvtps2ph_v4sf */
18966 :
18967 : default:
18968 : return -1;
18969 : }
18970 :
18971 : case E_V2HFmode:
18972 : if (!vector_operand (operands[1], E_V2DFmode)
18973 : || !const0_operand (operands[2], E_V6HFmode)
18974 : || !
18975 : #line 8571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18976 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
18977 : return -1;
18978 : return 4797; /* *avx512fp16_vcvtpd2ph_v2df */
18979 :
18980 : default:
18981 : return -1;
18982 : }
18983 :
18984 : case E_V4SFmode:
18985 : if (!register_operand (operands[0], E_V4SFmode)
18986 : || GET_MODE (x3) != E_V4SFmode
18987 : || GET_MODE (x4) != E_V2SFmode
18988 : || !vector_operand (operands[1], E_V2DFmode)
18989 : || !const0_operand (operands[2], E_V2SFmode)
18990 : || !
18991 : #line 10462 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18992 : (TARGET_SSE2))
18993 : return -1;
18994 : return 5196; /* *sse2_cvtpd2ps */
18995 :
18996 : case E_V8BFmode:
18997 : if (pattern186 (x3,
18998 : E_V4BFmode,
18999 : E_V4SFmode,
19000 : E_V8BFmode) != 0
19001 : || !
19002 : #line 31764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19003 : (TARGET_AVXNECONVERT || (TARGET_AVX512BF16 && TARGET_AVX512VL)))
19004 : return -1;
19005 : return 10417; /* *vcvtneps2bf16_v4sf */
19006 :
19007 : default:
19008 : return -1;
19009 : }
19010 :
19011 : case FLOAT_TRUNCATE:
19012 : x5 = XEXP (x4, 0);
19013 : operands[2] = x5;
19014 : x9 = XEXP (x7, 0);
19015 : operands[1] = x9;
19016 : switch (GET_MODE (operands[0]))
19017 : {
19018 : case E_V32BFmode:
19019 : if (pattern796 (x3,
19020 : E_V16SFmode,
19021 : E_V16BFmode,
19022 : E_V32BFmode) != 0
19023 : || !
19024 : #line 31725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19025 : (TARGET_AVX512BF16))
19026 : return -1;
19027 : return 10411; /* avx512f_cvtne2ps2bf16_v32bf */
19028 :
19029 : case E_V16BFmode:
19030 : if (pattern796 (x3,
19031 : E_V8SFmode,
19032 : E_V8BFmode,
19033 : E_V16BFmode) != 0
19034 : || !(
19035 : #line 31725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19036 : (TARGET_AVX512BF16) &&
19037 : #line 31691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19038 : (TARGET_AVX512VL)))
19039 : return -1;
19040 : return 10413; /* avx512f_cvtne2ps2bf16_v16bf */
19041 :
19042 : case E_V8BFmode:
19043 : if (pattern796 (x3,
19044 : E_V4SFmode,
19045 : E_V4BFmode,
19046 : E_V8BFmode) != 0
19047 : || !(
19048 : #line 31725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19049 : (TARGET_AVX512BF16) &&
19050 : #line 31691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19051 : (TARGET_AVX512VL)))
19052 : return -1;
19053 : return 10415; /* avx512f_cvtne2ps2bf16_v8bf */
19054 :
19055 : case E_V32HFmode:
19056 : if (pattern797 (x3,
19057 : E_V16SFmode,
19058 : E_V16HFmode,
19059 : E_V32HFmode) != 0
19060 : || !
19061 : #line 32424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19062 : (TARGET_AVX10_2 && 1))
19063 : return -1;
19064 : return 10510; /* avx10_2_cvt2ps2phx_v32hf */
19065 :
19066 : case E_V16HFmode:
19067 : if (pattern797 (x3,
19068 : E_V8SFmode,
19069 : E_V8HFmode,
19070 : E_V16HFmode) != 0
19071 : || !(
19072 : #line 32424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19073 : (TARGET_AVX10_2 && 1) &&
19074 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19075 : (TARGET_AVX512VL)))
19076 : return -1;
19077 : return 10514; /* avx10_2_cvt2ps2phx_v16hf */
19078 :
19079 : case E_V8HFmode:
19080 : if (pattern797 (x3,
19081 : E_V4SFmode,
19082 : E_V4HFmode,
19083 : E_V8HFmode) != 0
19084 : || !(
19085 : #line 32424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19086 : (TARGET_AVX10_2 && 1) &&
19087 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19088 : (TARGET_AVX512VL)))
19089 : return -1;
19090 : return 10516; /* avx10_2_cvt2ps2phx_v8hf */
19091 :
19092 : default:
19093 : return -1;
19094 : }
19095 :
19096 : default:
19097 : return -1;
19098 : }
19099 :
19100 : case UNSPEC:
19101 : return recog_275 (x1, insn, pnum_clobbers);
19102 :
19103 : case UNSIGNED_FIX:
19104 : if (GET_MODE (x4) != E_V2SImode)
19105 : return -1;
19106 : x7 = XEXP (x3, 1);
19107 : if (GET_CODE (x7) != CONST_VECTOR
19108 : || XVECLEN (x7, 0) != 2
19109 : || GET_MODE (x7) != E_V2SImode
19110 : || pattern276 (x3,
19111 : E_V2DFmode,
19112 : E_V4SImode,
19113 : 0) != 0
19114 : || !
19115 : #line 9923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19116 : (TARGET_AVX512VL))
19117 : return -1;
19118 : return 5075; /* *fixuns_truncv2dfv2si2 */
19119 :
19120 : case FIX:
19121 : if (GET_MODE (x4) != E_V2SImode)
19122 : return -1;
19123 : x7 = XEXP (x3, 1);
19124 : if (GET_CODE (x7) != CONST_VECTOR
19125 : || pattern512 (x7,
19126 : E_V2SImode,
19127 : 2) != 0
19128 : || !register_operand (operands[0], E_V4SImode)
19129 : || GET_MODE (x3) != E_V4SImode)
19130 : return -1;
19131 : x5 = XEXP (x4, 0);
19132 : operands[1] = x5;
19133 : if (!vector_operand (operands[1], E_V2DFmode)
19134 : || !
19135 : #line 10281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19136 : (TARGET_SSE2))
19137 : return -1;
19138 : return 5177; /* sse2_cvttpd2dq */
19139 :
19140 : case REG:
19141 : case SUBREG:
19142 : case MEM:
19143 : x7 = XEXP (x3, 1);
19144 : switch (GET_CODE (x7))
19145 : {
19146 : case VEC_SELECT:
19147 : res = recog_271 (x1, insn, pnum_clobbers);
19148 : if (res >= 0)
19149 : return res;
19150 : break;
19151 :
19152 : case CONST_INT:
19153 : case CONST_DOUBLE:
19154 : case CONST_VECTOR:
19155 : case REG:
19156 : case SUBREG:
19157 : case MEM:
19158 : res = recog_272 (x1, insn, pnum_clobbers);
19159 : if (res >= 0)
19160 : return res;
19161 : break;
19162 :
19163 : case UNSPEC:
19164 : if (XVECLEN (x7, 0) == 1
19165 : && XINT (x7, 1) == 148)
19166 : {
19167 : x14 = XVECEXP (x7, 0, 0);
19168 : if (x14 == const_int_rtx[MAX_SAVED_CONST_INT + 0])
19169 : {
19170 : operands[1] = x4;
19171 : switch (GET_MODE (operands[0]))
19172 : {
19173 : case E_V8SImode:
19174 : if (pattern1041 (x3,
19175 : E_V4SImode,
19176 : E_V8SImode) == 0
19177 : &&
19178 : #line 29514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19179 : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
19180 : return 9623; /* avx_si256_si */
19181 : break;
19182 :
19183 : case E_V8SFmode:
19184 : if (pattern1041 (x3,
19185 : E_V4SFmode,
19186 : E_V8SFmode) == 0
19187 : &&
19188 : #line 29514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19189 : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
19190 : return 9624; /* avx_ps256_ps */
19191 : break;
19192 :
19193 : case E_V4DFmode:
19194 : if (pattern1041 (x3,
19195 : E_V2DFmode,
19196 : E_V4DFmode) == 0
19197 : &&
19198 : #line 29514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19199 : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
19200 : return 9625; /* avx_pd256_pd */
19201 : break;
19202 :
19203 : case E_V16SImode:
19204 : if (pattern1041 (x3,
19205 : E_V8SImode,
19206 : E_V16SImode) == 0
19207 : &&
19208 : #line 30856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19209 : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
19210 : return 10179; /* avx512f_si512_256si */
19211 : break;
19212 :
19213 : case E_V16SFmode:
19214 : if (pattern1041 (x3,
19215 : E_V8SFmode,
19216 : E_V16SFmode) == 0
19217 : &&
19218 : #line 30856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19219 : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
19220 : return 10180; /* avx512f_ps512_256ps */
19221 : break;
19222 :
19223 : case E_V8DFmode:
19224 : if (pattern1041 (x3,
19225 : E_V4DFmode,
19226 : E_V8DFmode) == 0
19227 : &&
19228 : #line 30856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19229 : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
19230 : return 10181; /* avx512f_pd512_256pd */
19231 : break;
19232 :
19233 : default:
19234 : break;
19235 : }
19236 : }
19237 : }
19238 : break;
19239 :
19240 : default:
19241 : break;
19242 : }
19243 : if (!register_operand (operands[0], E_V4DImode)
19244 : || GET_MODE (x3) != E_V4DImode)
19245 : return -1;
19246 : if (GET_CODE (x4) == SUBREG
19247 : && known_eq (SUBREG_BYTE (x4), 0)
19248 : && GET_MODE (x4) == E_V2DImode)
19249 : {
19250 : x5 = XEXP (x4, 0);
19251 : if (pattern89 (x5,
19252 : E_V16QImode,
19253 : 120,
19254 : 1) == 0
19255 : && GET_CODE (x7) == SUBREG
19256 : && pattern1263 (x7) == 0)
19257 : {
19258 : x15 = XVECEXP (x5, 0, 0);
19259 : operands[1] = x15;
19260 : if (memory_operand (operands[1], E_V16QImode))
19261 : {
19262 : x9 = XEXP (x7, 0);
19263 : x16 = XVECEXP (x9, 0, 0);
19264 : if (rtx_equal_p (x16, operands[1])
19265 : &&
19266 : #line 28598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19267 : (TARGET_AVX2 && ix86_pre_reload_split ()))
19268 : return 9362; /* avx2_lddqu_inserti_to_bcasti */
19269 : }
19270 : }
19271 : }
19272 : operands[1] = x4;
19273 : if (!nonimmediate_operand (operands[1], E_V2DImode))
19274 : return -1;
19275 : if (rtx_equal_p (x7, operands[1])
19276 : &&
19277 : #line 28690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19278 : (TARGET_AVX))
19279 : return 9380; /* avx_vbroadcastf128_v4di */
19280 : operands[2] = x7;
19281 : if (!nonimm_or_0_operand (operands[2], E_V2DImode)
19282 : || !
19283 : #line 29647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19284 : (TARGET_AVX
19285 : && (operands[2] == CONST0_RTX (V2DImode)
19286 : || !MEM_P (operands[1]))))
19287 : return -1;
19288 : return 9685; /* avx_vec_concatv4di */
19289 :
19290 : case ZERO_EXTEND:
19291 : switch (pattern188 (x3))
19292 : {
19293 : case 0:
19294 : if (!
19295 : #line 12426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19296 : (TARGET_AVX512FP16 && ix86_pre_reload_split ()))
19297 : return -1;
19298 : return 5330; /* *vec_setv2di_0_zero_extendhi_1 */
19299 :
19300 : case 1:
19301 : if (!
19302 : #line 12540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19303 : (TARGET_SSE2 && ix86_pre_reload_split ()))
19304 : return -1;
19305 : return 5342; /* *vec_setv2di_0_zero_extendsi_1 */
19306 :
19307 : default:
19308 : return -1;
19309 : }
19310 :
19311 : case SS_TRUNCATE:
19312 : x5 = XEXP (x4, 0);
19313 : operands[1] = x5;
19314 : x7 = XEXP (x3, 1);
19315 : switch (GET_CODE (x7))
19316 : {
19317 : case CONST_INT:
19318 : case CONST_DOUBLE:
19319 : case CONST_VECTOR:
19320 : operands[2] = x7;
19321 : switch (pattern514 (x3))
19322 : {
19323 : case 0:
19324 : if (
19325 : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19326 : (TARGET_AVX512VL))
19327 : return 7315; /* avx512vl_ss_truncatev4div4qi2 */
19328 : break;
19329 :
19330 : case 1:
19331 : if (
19332 : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19333 : (TARGET_AVX512VL))
19334 : return 7324; /* avx512vl_ss_truncatev4siv4qi2 */
19335 : break;
19336 :
19337 : case 2:
19338 : if (
19339 : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19340 : (TARGET_AVX512VL))
19341 : return 7318; /* avx512vl_ss_truncatev2div2qi2 */
19342 : break;
19343 :
19344 : case 3:
19345 : if (
19346 : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19347 : (TARGET_AVX512VL))
19348 : return 7321; /* avx512vl_ss_truncatev8siv8qi2 */
19349 : break;
19350 :
19351 : case 4:
19352 : if ((
19353 : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19354 : (TARGET_AVX512VL) &&
19355 : #line 15648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19356 : (TARGET_AVX512BW)))
19357 : return 7327; /* avx512vl_ss_truncatev8hiv8qi2 */
19358 : break;
19359 :
19360 : case 5:
19361 : if ((
19362 : #line 16047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19363 : (TARGET_AVX512VL) &&
19364 : #line 16009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19365 : (TARGET_AVX2)))
19366 : return 7406; /* avx512vl_ss_truncatev4div4hi2 */
19367 : break;
19368 :
19369 : case 6:
19370 : if (
19371 : #line 16047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19372 : (TARGET_AVX512VL))
19373 : return 7412; /* avx512vl_ss_truncatev4siv4hi2 */
19374 : break;
19375 :
19376 : case 7:
19377 : if (
19378 : #line 16047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19379 : (TARGET_AVX512VL))
19380 : return 7409; /* avx512vl_ss_truncatev2div2hi2 */
19381 : break;
19382 :
19383 : case 8:
19384 : if (
19385 : #line 16288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19386 : (TARGET_AVX512VL))
19387 : return 7461; /* avx512vl_ss_truncatev2div2si2 */
19388 : break;
19389 :
19390 : default:
19391 : break;
19392 : }
19393 : if (GET_CODE (x7) != CONST_VECTOR
19394 : || pattern512 (x7,
19395 : E_V8QImode,
19396 : 8) != 0)
19397 : return -1;
19398 : x17 = XVECEXP (x7, 0, 2);
19399 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
19400 : return -1;
19401 : x18 = XVECEXP (x7, 0, 3);
19402 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
19403 : return -1;
19404 : x19 = XVECEXP (x7, 0, 4);
19405 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
19406 : return -1;
19407 : x20 = XVECEXP (x7, 0, 5);
19408 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
19409 : return -1;
19410 : x21 = XVECEXP (x7, 0, 6);
19411 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
19412 : return -1;
19413 : x22 = XVECEXP (x7, 0, 7);
19414 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
19415 : || pattern618 (x3,
19416 : E_V8DImode,
19417 : E_V8QImode,
19418 : E_V16QImode) != 0
19419 : || !
19420 : #line 16424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19421 : (TARGET_AVX512F))
19422 : return -1;
19423 : return 7480; /* avx512f_ss_truncatev8div16qi2 */
19424 :
19425 : case SS_TRUNCATE:
19426 : x9 = XEXP (x7, 0);
19427 : operands[2] = x9;
19428 : switch (GET_MODE (operands[0]))
19429 : {
19430 : case E_V16QImode:
19431 : if (pattern802 (x3,
19432 : E_V8HImode,
19433 : E_V8QImode,
19434 : E_V16QImode) != 0
19435 : || !
19436 : #line 19550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19437 : (TARGET_SSE2 && 1 && 1))
19438 : return -1;
19439 : return 8345; /* sse2_packsswb */
19440 :
19441 : case E_V8HImode:
19442 : if (pattern802 (x3,
19443 : E_V4SImode,
19444 : E_V4HImode,
19445 : E_V8HImode) != 0
19446 : || !
19447 : #line 19644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19448 : (TARGET_SSE2 && 1 && 1))
19449 : return -1;
19450 : return 8351; /* sse2_packssdw */
19451 :
19452 : default:
19453 : return -1;
19454 : }
19455 :
19456 : default:
19457 : return -1;
19458 : }
19459 :
19460 : case TRUNCATE:
19461 : x5 = XEXP (x4, 0);
19462 : operands[1] = x5;
19463 : x7 = XEXP (x3, 1);
19464 : operands[2] = x7;
19465 : switch (pattern514 (x3))
19466 : {
19467 : case 0:
19468 : if (
19469 : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19470 : (TARGET_AVX512VL))
19471 : return 7316; /* avx512vl_truncatev4div4qi2 */
19472 : break;
19473 :
19474 : case 1:
19475 : if (
19476 : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19477 : (TARGET_AVX512VL))
19478 : return 7325; /* avx512vl_truncatev4siv4qi2 */
19479 : break;
19480 :
19481 : case 2:
19482 : if (
19483 : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19484 : (TARGET_AVX512VL))
19485 : return 7319; /* avx512vl_truncatev2div2qi2 */
19486 : break;
19487 :
19488 : case 3:
19489 : if (
19490 : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19491 : (TARGET_AVX512VL))
19492 : return 7322; /* avx512vl_truncatev8siv8qi2 */
19493 : break;
19494 :
19495 : case 4:
19496 : if ((
19497 : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19498 : (TARGET_AVX512VL) &&
19499 : #line 15648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19500 : (TARGET_AVX512BW)))
19501 : return 7328; /* avx512vl_truncatev8hiv8qi2 */
19502 : break;
19503 :
19504 : case 5:
19505 : if ((
19506 : #line 16047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19507 : (TARGET_AVX512VL) &&
19508 : #line 16009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19509 : (TARGET_AVX2)))
19510 : return 7407; /* avx512vl_truncatev4div4hi2 */
19511 : break;
19512 :
19513 : case 6:
19514 : if (
19515 : #line 16047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19516 : (TARGET_AVX512VL))
19517 : return 7413; /* avx512vl_truncatev4siv4hi2 */
19518 : break;
19519 :
19520 : case 7:
19521 : if (
19522 : #line 16047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19523 : (TARGET_AVX512VL))
19524 : return 7410; /* avx512vl_truncatev2div2hi2 */
19525 : break;
19526 :
19527 : case 8:
19528 : if (
19529 : #line 16288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19530 : (TARGET_AVX512VL))
19531 : return 7462; /* avx512vl_truncatev2div2si2 */
19532 : break;
19533 :
19534 : default:
19535 : break;
19536 : }
19537 : if (!register_operand (operands[1], E_V8DImode)
19538 : || pattern515 (x3) != 0
19539 : || !
19540 : #line 16424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19541 : (TARGET_AVX512F))
19542 : return -1;
19543 : return 7481; /* avx512f_truncatev8div16qi2 */
19544 :
19545 : case US_TRUNCATE:
19546 : x5 = XEXP (x4, 0);
19547 : operands[1] = x5;
19548 : x7 = XEXP (x3, 1);
19549 : operands[2] = x7;
19550 : switch (pattern514 (x3))
19551 : {
19552 : case 0:
19553 : if (
19554 : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19555 : (TARGET_AVX512VL))
19556 : return 7317; /* avx512vl_us_truncatev4div4qi2 */
19557 : break;
19558 :
19559 : case 1:
19560 : if (
19561 : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19562 : (TARGET_AVX512VL))
19563 : return 7326; /* avx512vl_us_truncatev4siv4qi2 */
19564 : break;
19565 :
19566 : case 2:
19567 : if (
19568 : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19569 : (TARGET_AVX512VL))
19570 : return 7320; /* avx512vl_us_truncatev2div2qi2 */
19571 : break;
19572 :
19573 : case 3:
19574 : if (
19575 : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19576 : (TARGET_AVX512VL))
19577 : return 7323; /* avx512vl_us_truncatev8siv8qi2 */
19578 : break;
19579 :
19580 : case 4:
19581 : if ((
19582 : #line 15692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19583 : (TARGET_AVX512VL) &&
19584 : #line 15648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19585 : (TARGET_AVX512BW)))
19586 : return 7329; /* avx512vl_us_truncatev8hiv8qi2 */
19587 : break;
19588 :
19589 : case 5:
19590 : if ((
19591 : #line 16047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19592 : (TARGET_AVX512VL) &&
19593 : #line 16009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19594 : (TARGET_AVX2)))
19595 : return 7408; /* avx512vl_us_truncatev4div4hi2 */
19596 : break;
19597 :
19598 : case 6:
19599 : if (
19600 : #line 16047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19601 : (TARGET_AVX512VL))
19602 : return 7414; /* avx512vl_us_truncatev4siv4hi2 */
19603 : break;
19604 :
19605 : case 7:
19606 : if (
19607 : #line 16047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19608 : (TARGET_AVX512VL))
19609 : return 7411; /* avx512vl_us_truncatev2div2hi2 */
19610 : break;
19611 :
19612 : case 8:
19613 : if (
19614 : #line 16288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19615 : (TARGET_AVX512VL))
19616 : return 7463; /* avx512vl_us_truncatev2div2si2 */
19617 : break;
19618 :
19619 : default:
19620 : break;
19621 : }
19622 : if (!register_operand (operands[1], E_V8DImode)
19623 : || pattern515 (x3) != 0
19624 : || !
19625 : #line 16424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19626 : (TARGET_AVX512F))
19627 : return -1;
19628 : return 7482; /* avx512f_us_truncatev8div16qi2 */
19629 :
19630 : default:
19631 : return -1;
19632 : }
19633 : }
19634 :
19635 : int
19636 : recog_327 (rtx x1 ATTRIBUTE_UNUSED,
19637 : rtx_insn *insn ATTRIBUTE_UNUSED,
19638 : int *pnum_clobbers ATTRIBUTE_UNUSED)
19639 : {
19640 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
19641 : rtx x2, x3, x4, x5;
19642 : int res ATTRIBUTE_UNUSED;
19643 : x2 = XEXP (x1, 0);
19644 : operands[0] = x2;
19645 : x3 = XEXP (x1, 1);
19646 : x4 = XEXP (x3, 0);
19647 : switch (GET_CODE (x4))
19648 : {
19649 : case VEC_SELECT:
19650 : return recog_304 (x1, insn, pnum_clobbers);
19651 :
19652 : case REG:
19653 : case SUBREG:
19654 : case MEM:
19655 : operands[1] = x4;
19656 : switch (GET_MODE (operands[0]))
19657 : {
19658 : case E_V2DFmode:
19659 : if (!register_operand (operands[0], E_V2DFmode)
19660 : || GET_MODE (x3) != E_V2DFmode
19661 : || !nonimmediate_operand (operands[1], E_DFmode))
19662 : return -1;
19663 : if (
19664 : #line 15211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19665 : (TARGET_SSE2))
19666 : return 7254; /* vec_dupv2df */
19667 : if (!(
19668 : #line 28468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19669 : (TARGET_AVX512F) &&
19670 : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19671 : (TARGET_AVX512VL)))
19672 : return -1;
19673 : return 9353; /* *avx512vl_vec_dup_gprv2df */
19674 :
19675 : case E_V16SFmode:
19676 : if (!register_operand (operands[0], E_V16SFmode)
19677 : || GET_MODE (x3) != E_V16SFmode)
19678 : return -1;
19679 : switch (GET_MODE (operands[1]))
19680 : {
19681 : case E_V4SFmode:
19682 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
19683 : || !
19684 : #line 28432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19685 : (TARGET_AVX512F))
19686 : return -1;
19687 : return 9299; /* *avx512f_broadcastv16sf */
19688 :
19689 : case E_SFmode:
19690 : if (!nonimmediate_operand (operands[1], E_SFmode)
19691 : || !
19692 : #line 28468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19693 : (TARGET_AVX512F))
19694 : return -1;
19695 : return 9343; /* *avx512f_vec_dup_gprv16sf */
19696 :
19697 : case E_V8SFmode:
19698 : if (!nonimmediate_operand (operands[1], E_V8SFmode)
19699 : || !
19700 : #line 28767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19701 : (TARGET_AVX512DQ))
19702 : return -1;
19703 : return 9407; /* *avx512dq_broadcastv16sf_1 */
19704 :
19705 : default:
19706 : return -1;
19707 : }
19708 :
19709 : case E_V16SImode:
19710 : if (!register_operand (operands[0], E_V16SImode)
19711 : || GET_MODE (x3) != E_V16SImode)
19712 : return -1;
19713 : switch (GET_MODE (operands[1]))
19714 : {
19715 : case E_V4SImode:
19716 : if (!nonimmediate_operand (operands[1], E_V4SImode)
19717 : || !
19718 : #line 28432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19719 : (TARGET_AVX512F))
19720 : return -1;
19721 : return 9301; /* *avx512f_broadcastv16si */
19722 :
19723 : case E_SImode:
19724 : if (!nonimmediate_operand (operands[1], E_SImode)
19725 : || !
19726 : #line 28468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19727 : (TARGET_AVX512F))
19728 : return -1;
19729 : return 9331; /* *avx512f_vec_dup_gprv16si */
19730 :
19731 : case E_V8SImode:
19732 : if (!nonimmediate_operand (operands[1], E_V8SImode)
19733 : || !
19734 : #line 28767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19735 : (TARGET_AVX512DQ))
19736 : return -1;
19737 : return 9409; /* *avx512dq_broadcastv16si_1 */
19738 :
19739 : default:
19740 : return -1;
19741 : }
19742 :
19743 : case E_V8DFmode:
19744 : if (!register_operand (operands[0], E_V8DFmode)
19745 : || GET_MODE (x3) != E_V8DFmode)
19746 : return -1;
19747 : switch (GET_MODE (operands[1]))
19748 : {
19749 : case E_V4DFmode:
19750 : if (!nonimmediate_operand (operands[1], E_V4DFmode)
19751 : || !
19752 : #line 28444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19753 : (TARGET_AVX512F))
19754 : return -1;
19755 : return 9303; /* *avx512f_broadcastv8df */
19756 :
19757 : case E_DFmode:
19758 : if (!nonimmediate_operand (operands[1], E_DFmode)
19759 : || !
19760 : #line 28468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19761 : (TARGET_AVX512F))
19762 : return -1;
19763 : return 9349; /* *avx512f_vec_dup_gprv8df */
19764 :
19765 : case E_V2DFmode:
19766 : if (!nonimmediate_operand (operands[1], E_V2DFmode)
19767 : || !
19768 : #line 28784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19769 : (TARGET_AVX512DQ))
19770 : return -1;
19771 : return 9413; /* *avx512dq_broadcastv8df_1 */
19772 :
19773 : default:
19774 : return -1;
19775 : }
19776 :
19777 : case E_V8DImode:
19778 : if (!register_operand (operands[0], E_V8DImode)
19779 : || GET_MODE (x3) != E_V8DImode)
19780 : return -1;
19781 : switch (GET_MODE (operands[1]))
19782 : {
19783 : case E_V4DImode:
19784 : if (!nonimmediate_operand (operands[1], E_V4DImode)
19785 : || !
19786 : #line 28444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19787 : (TARGET_AVX512F))
19788 : return -1;
19789 : return 9305; /* *avx512f_broadcastv8di */
19790 :
19791 : case E_DImode:
19792 : if (!nonimmediate_operand (operands[1], E_DImode)
19793 : || !
19794 : #line 28468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19795 : (TARGET_AVX512F))
19796 : return -1;
19797 : return 9337; /* *avx512f_vec_dup_gprv8di */
19798 :
19799 : case E_V2DImode:
19800 : if (!nonimmediate_operand (operands[1], E_V2DImode)
19801 : || !
19802 : #line 28784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19803 : (TARGET_AVX512DQ))
19804 : return -1;
19805 : return 9411; /* *avx512dq_broadcastv8di_1 */
19806 :
19807 : default:
19808 : return -1;
19809 : }
19810 :
19811 : case E_V64QImode:
19812 : if (!register_operand (operands[0], E_V64QImode)
19813 : || GET_MODE (x3) != E_V64QImode
19814 : || !nonimmediate_operand (operands[1], E_QImode)
19815 : || !
19816 : #line 28456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19817 : (TARGET_AVX512BW))
19818 : return -1;
19819 : return 9307; /* *avx512bw_vec_dup_gprv64qi */
19820 :
19821 : case E_V16QImode:
19822 : if (!register_operand (operands[0], E_V16QImode)
19823 : || GET_MODE (x3) != E_V16QImode
19824 : || !nonimmediate_operand (operands[1], E_QImode))
19825 : return -1;
19826 : if ((
19827 : #line 28456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19828 : (TARGET_AVX512BW) &&
19829 : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19830 : (TARGET_AVX512VL)))
19831 : return 9309; /* *avx512vl_vec_dup_gprv16qi */
19832 : if (!
19833 : #line 28618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19834 : (TARGET_AVX2))
19835 : return -1;
19836 : return 9364; /* *vec_dupv16qi */
19837 :
19838 : case E_V32QImode:
19839 : if (!register_operand (operands[0], E_V32QImode)
19840 : || GET_MODE (x3) != E_V32QImode
19841 : || !nonimmediate_operand (operands[1], E_QImode))
19842 : return -1;
19843 : if ((
19844 : #line 28456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19845 : (TARGET_AVX512BW) &&
19846 : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19847 : (TARGET_AVX512VL)))
19848 : return 9311; /* *avx512vl_vec_dup_gprv32qi */
19849 : if (!
19850 : #line 28618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19851 : (TARGET_AVX2))
19852 : return -1;
19853 : return 9363; /* *vec_dupv32qi */
19854 :
19855 : case E_V32HImode:
19856 : if (!register_operand (operands[0], E_V32HImode)
19857 : || GET_MODE (x3) != E_V32HImode
19858 : || !nonimmediate_operand (operands[1], E_HImode)
19859 : || !
19860 : #line 28456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19861 : (TARGET_AVX512BW))
19862 : return -1;
19863 : return 9313; /* *avx512bw_vec_dup_gprv32hi */
19864 :
19865 : case E_V16HImode:
19866 : if (!register_operand (operands[0], E_V16HImode)
19867 : || GET_MODE (x3) != E_V16HImode
19868 : || !nonimmediate_operand (operands[1], E_HImode))
19869 : return -1;
19870 : if ((
19871 : #line 28456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19872 : (TARGET_AVX512BW) &&
19873 : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19874 : (TARGET_AVX512VL)))
19875 : return 9315; /* *avx512vl_vec_dup_gprv16hi */
19876 : if (!
19877 : #line 28618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19878 : (TARGET_AVX2))
19879 : return -1;
19880 : return 9365; /* *vec_dupv16hi */
19881 :
19882 : case E_V8HImode:
19883 : if (!register_operand (operands[0], E_V8HImode)
19884 : || GET_MODE (x3) != E_V8HImode
19885 : || !nonimmediate_operand (operands[1], E_HImode))
19886 : return -1;
19887 : if ((
19888 : #line 28456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19889 : (TARGET_AVX512BW) &&
19890 : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19891 : (TARGET_AVX512VL)))
19892 : return 9317; /* *avx512vl_vec_dup_gprv8hi */
19893 : if (!
19894 : #line 28618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19895 : (TARGET_AVX2))
19896 : return -1;
19897 : return 9366; /* *vec_dupv8hi */
19898 :
19899 : case E_V32HFmode:
19900 : if (!register_operand (operands[0], E_V32HFmode)
19901 : || GET_MODE (x3) != E_V32HFmode
19902 : || !nonimmediate_operand (operands[1], E_HFmode)
19903 : || !
19904 : #line 28456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19905 : (TARGET_AVX512BW))
19906 : return -1;
19907 : return 9319; /* *avx512bw_vec_dup_gprv32hf */
19908 :
19909 : case E_V16HFmode:
19910 : if (!register_operand (operands[0], E_V16HFmode)
19911 : || GET_MODE (x3) != E_V16HFmode
19912 : || !nonimmediate_operand (operands[1], E_HFmode))
19913 : return -1;
19914 : if ((
19915 : #line 28456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19916 : (TARGET_AVX512BW) &&
19917 : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19918 : (TARGET_AVX512VL)))
19919 : return 9321; /* *avx512vl_vec_dup_gprv16hf */
19920 : if (!
19921 : #line 28618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19922 : (TARGET_AVX2))
19923 : return -1;
19924 : return 9369; /* *vec_dupv16hf */
19925 :
19926 : case E_V8HFmode:
19927 : if (!register_operand (operands[0], E_V8HFmode)
19928 : || GET_MODE (x3) != E_V8HFmode
19929 : || !nonimmediate_operand (operands[1], E_HFmode))
19930 : return -1;
19931 : if ((
19932 : #line 28456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19933 : (TARGET_AVX512BW) &&
19934 : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19935 : (TARGET_AVX512VL)))
19936 : return 9323; /* *avx512fp16_vec_dup_gprv8hf */
19937 : if (!
19938 : #line 28618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19939 : (TARGET_AVX2))
19940 : return -1;
19941 : return 9370; /* *vec_dupv8hf */
19942 :
19943 : case E_V32BFmode:
19944 : if (!register_operand (operands[0], E_V32BFmode)
19945 : || GET_MODE (x3) != E_V32BFmode
19946 : || !nonimmediate_operand (operands[1], E_BFmode)
19947 : || !
19948 : #line 28456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19949 : (TARGET_AVX512BW))
19950 : return -1;
19951 : return 9325; /* *avx512bw_vec_dup_gprv32bf */
19952 :
19953 : case E_V16BFmode:
19954 : if (!register_operand (operands[0], E_V16BFmode)
19955 : || GET_MODE (x3) != E_V16BFmode
19956 : || !nonimmediate_operand (operands[1], E_BFmode))
19957 : return -1;
19958 : if ((
19959 : #line 28456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19960 : (TARGET_AVX512BW) &&
19961 : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19962 : (TARGET_AVX512VL)))
19963 : return 9327; /* *avx512vl_vec_dup_gprv16bf */
19964 : if (!
19965 : #line 28618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19966 : (TARGET_AVX2))
19967 : return -1;
19968 : return 9371; /* *vec_dupv16bf */
19969 :
19970 : case E_V8BFmode:
19971 : if (!register_operand (operands[0], E_V8BFmode)
19972 : || GET_MODE (x3) != E_V8BFmode
19973 : || !nonimmediate_operand (operands[1], E_BFmode))
19974 : return -1;
19975 : if ((
19976 : #line 28456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19977 : (TARGET_AVX512BW) &&
19978 : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19979 : (TARGET_AVX512VL)))
19980 : return 9329; /* *avx512vl_vec_dup_gprv8bf */
19981 : if (!
19982 : #line 28618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19983 : (TARGET_AVX2))
19984 : return -1;
19985 : return 9372; /* *vec_dupv8bf */
19986 :
19987 : case E_V8SImode:
19988 : if (!register_operand (operands[0], E_V8SImode)
19989 : || GET_MODE (x3) != E_V8SImode)
19990 : return -1;
19991 : switch (GET_MODE (operands[1]))
19992 : {
19993 : case E_SImode:
19994 : if (!nonimmediate_operand (operands[1], E_SImode))
19995 : return -1;
19996 : if ((
19997 : #line 28468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19998 : (TARGET_AVX512F) &&
19999 : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20000 : (TARGET_AVX512VL)))
20001 : return 9333; /* *avx512vl_vec_dup_gprv8si */
20002 : if (
20003 : #line 28618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20004 : (TARGET_AVX2))
20005 : return 9367; /* *vec_dupv8si */
20006 : if (!
20007 : #line 28638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20008 : (TARGET_AVX))
20009 : return -1;
20010 : return 9373; /* vec_dupv8si */
20011 :
20012 : case E_V4SImode:
20013 : if (!nonimmediate_operand (operands[1], E_V4SImode)
20014 : || !
20015 : #line 28754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20016 : (TARGET_AVX512VL))
20017 : return -1;
20018 : return 9403; /* *avx512vl_broadcastv8si_1 */
20019 :
20020 : default:
20021 : return -1;
20022 : }
20023 :
20024 : case E_V4SImode:
20025 : if (!register_operand (operands[0], E_V4SImode)
20026 : || GET_MODE (x3) != E_V4SImode
20027 : || !nonimmediate_operand (operands[1], E_SImode))
20028 : return -1;
20029 : if ((
20030 : #line 28468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20031 : (TARGET_AVX512F) &&
20032 : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20033 : (TARGET_AVX512VL)))
20034 : return 9335; /* *avx512vl_vec_dup_gprv4si */
20035 : if (
20036 : #line 28515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20037 : (TARGET_SSE))
20038 : return 9356; /* *vec_dupv4si */
20039 : if (!
20040 : #line 28618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20041 : (TARGET_AVX2))
20042 : return -1;
20043 : return 9368; /* *vec_dupv4si */
20044 :
20045 : case E_V4DImode:
20046 : if (!register_operand (operands[0], E_V4DImode)
20047 : || GET_MODE (x3) != E_V4DImode)
20048 : return -1;
20049 : switch (GET_MODE (operands[1]))
20050 : {
20051 : case E_DImode:
20052 : if (!nonimmediate_operand (operands[1], E_DImode))
20053 : return -1;
20054 : if ((
20055 : #line 28468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20056 : (TARGET_AVX512F) &&
20057 : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20058 : (TARGET_AVX512VL)))
20059 : return 9339; /* *avx512vl_vec_dup_gprv4di */
20060 : if (!
20061 : #line 28638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20062 : (TARGET_AVX))
20063 : return -1;
20064 : return 9375; /* vec_dupv4di */
20065 :
20066 : case E_V2DImode:
20067 : if (!nonimmediate_operand (operands[1], E_V2DImode)
20068 : || !(
20069 : #line 28784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20070 : (TARGET_AVX512DQ) &&
20071 : #line 28778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20072 : (TARGET_AVX512VL)))
20073 : return -1;
20074 : return 9415; /* *avx512dq_broadcastv4di_1 */
20075 :
20076 : default:
20077 : return -1;
20078 : }
20079 :
20080 : case E_V2DImode:
20081 : if (!register_operand (operands[0], E_V2DImode)
20082 : || GET_MODE (x3) != E_V2DImode
20083 : || !nonimmediate_operand (operands[1], E_DImode))
20084 : return -1;
20085 : if ((
20086 : #line 28468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20087 : (TARGET_AVX512F) &&
20088 : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20089 : (TARGET_AVX512VL)))
20090 : return 9341; /* *avx512vl_vec_dup_gprv2di */
20091 : if (!
20092 : #line 28543 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20093 : (TARGET_SSE))
20094 : return -1;
20095 : return 9357; /* *vec_dupv2di */
20096 :
20097 : case E_V8SFmode:
20098 : if (!register_operand (operands[0], E_V8SFmode)
20099 : || GET_MODE (x3) != E_V8SFmode)
20100 : return -1;
20101 : switch (GET_MODE (operands[1]))
20102 : {
20103 : case E_SFmode:
20104 : if (!nonimmediate_operand (operands[1], E_SFmode))
20105 : return -1;
20106 : if ((
20107 : #line 28468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20108 : (TARGET_AVX512F) &&
20109 : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20110 : (TARGET_AVX512VL)))
20111 : return 9345; /* *avx512vl_vec_dup_gprv8sf */
20112 : if (!
20113 : #line 28638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20114 : (TARGET_AVX))
20115 : return -1;
20116 : return 9374; /* vec_dupv8sf */
20117 :
20118 : case E_V4SFmode:
20119 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
20120 : || !
20121 : #line 28754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20122 : (TARGET_AVX512VL))
20123 : return -1;
20124 : return 9405; /* *avx512vl_broadcastv8sf_1 */
20125 :
20126 : default:
20127 : return -1;
20128 : }
20129 :
20130 : case E_V4SFmode:
20131 : if (!register_operand (operands[0], E_V4SFmode)
20132 : || GET_MODE (x3) != E_V4SFmode
20133 : || !nonimmediate_operand (operands[1], E_SFmode))
20134 : return -1;
20135 : if ((
20136 : #line 28468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20137 : (TARGET_AVX512F) &&
20138 : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20139 : (TARGET_AVX512VL)))
20140 : return 9347; /* *avx512vl_vec_dup_gprv4sf */
20141 : if (!
20142 : #line 28483 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20143 : (TARGET_SSE))
20144 : return -1;
20145 : return 9355; /* vec_dupv4sf */
20146 :
20147 : case E_V4DFmode:
20148 : if (!register_operand (operands[0], E_V4DFmode)
20149 : || GET_MODE (x3) != E_V4DFmode)
20150 : return -1;
20151 : switch (GET_MODE (operands[1]))
20152 : {
20153 : case E_DFmode:
20154 : if (!nonimmediate_operand (operands[1], E_DFmode))
20155 : return -1;
20156 : if ((
20157 : #line 28468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20158 : (TARGET_AVX512F) &&
20159 : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20160 : (TARGET_AVX512VL)))
20161 : return 9351; /* *avx512vl_vec_dup_gprv4df */
20162 : if (!
20163 : #line 28638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20164 : (TARGET_AVX))
20165 : return -1;
20166 : return 9376; /* vec_dupv4df */
20167 :
20168 : case E_V2DFmode:
20169 : if (!nonimmediate_operand (operands[1], E_V2DFmode)
20170 : || !(
20171 : #line 28784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20172 : (TARGET_AVX512DQ) &&
20173 : #line 28778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20174 : (TARGET_AVX512VL)))
20175 : return -1;
20176 : return 9417; /* *avx512dq_broadcastv4df_1 */
20177 :
20178 : default:
20179 : return -1;
20180 : }
20181 :
20182 : default:
20183 : return -1;
20184 : }
20185 :
20186 : case FLOAT_EXTEND:
20187 : if (GET_MODE (x4) != E_SFmode)
20188 : return -1;
20189 : x5 = XEXP (x4, 0);
20190 : operands[1] = x5;
20191 : switch (GET_MODE (operands[0]))
20192 : {
20193 : case E_V8SFmode:
20194 : switch (pattern684 (x3,
20195 : E_V8SFmode))
20196 : {
20197 : case 0:
20198 : if (!(
20199 : #line 32340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20200 : (TARGET_AVXNECONVERT) &&
20201 : #line 444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20202 : (TARGET_AVX)))
20203 : return -1;
20204 : return 10498; /* vbcstnebf162ps_v8sf */
20205 :
20206 : case 1:
20207 : if (!(
20208 : #line 32351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20209 : (TARGET_AVXNECONVERT) &&
20210 : #line 444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20211 : (TARGET_AVX)))
20212 : return -1;
20213 : return 10500; /* vbcstnesh2ps_v8sf */
20214 :
20215 : default:
20216 : return -1;
20217 : }
20218 :
20219 : case E_V4SFmode:
20220 : switch (pattern684 (x3,
20221 : E_V4SFmode))
20222 : {
20223 : case 0:
20224 : if (!
20225 : #line 32340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20226 : (TARGET_AVXNECONVERT))
20227 : return -1;
20228 : return 10499; /* vbcstnebf162ps_v4sf */
20229 :
20230 : case 1:
20231 : if (!
20232 : #line 32351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20233 : (TARGET_AVXNECONVERT))
20234 : return -1;
20235 : return 10501; /* vbcstnesh2ps_v4sf */
20236 :
20237 : default:
20238 : return -1;
20239 : }
20240 :
20241 : default:
20242 : return -1;
20243 : }
20244 :
20245 : default:
20246 : return -1;
20247 : }
20248 : }
20249 :
20250 : int
20251 : recog_332 (rtx x1 ATTRIBUTE_UNUSED,
20252 : rtx_insn *insn ATTRIBUTE_UNUSED,
20253 : int *pnum_clobbers ATTRIBUTE_UNUSED)
20254 : {
20255 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
20256 : rtx x2, x3, x4, x5;
20257 : int res ATTRIBUTE_UNUSED;
20258 : x2 = XEXP (x1, 0);
20259 : operands[0] = x2;
20260 : x3 = XEXP (x1, 1);
20261 : x4 = XEXP (x3, 0);
20262 : operands[1] = x4;
20263 : x5 = XEXP (x3, 1);
20264 : operands[2] = x5;
20265 : switch (GET_MODE (operands[0]))
20266 : {
20267 : case E_V16HImode:
20268 : if (!register_operand (operands[0], E_V16HImode)
20269 : || GET_MODE (x3) != E_V16HImode)
20270 : return -1;
20271 : if (nonimmediate_operand (operands[1], E_V16HImode)
20272 : && nonmemory_operand (operands[2], E_DImode)
20273 : && (
20274 : #line 17419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20275 : (TARGET_AVX512VL) &&
20276 : #line 785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20277 : (TARGET_AVX512BW)))
20278 : return 7644; /* *ashrv16hi3 */
20279 : if (!register_operand (operands[1], E_V16HImode))
20280 : return -1;
20281 : if (nonmemory_operand (operands[2], E_DImode)
20282 : && (
20283 : #line 17433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20284 : (TARGET_SSE2) &&
20285 : #line 736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20286 : (TARGET_AVX2)))
20287 : return 7654; /* ashrv16hi3 */
20288 : if (!nonimmediate_operand (operands[2], E_V16HImode)
20289 : || !(
20290 : #line 29614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20291 : (TARGET_AVX512BW) &&
20292 : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20293 : (TARGET_AVX512VL)))
20294 : return -1;
20295 : return 9640; /* avx512vl_ashrvv16hi */
20296 :
20297 : case E_V8HImode:
20298 : if (!register_operand (operands[0], E_V8HImode)
20299 : || GET_MODE (x3) != E_V8HImode)
20300 : return -1;
20301 : if (nonimmediate_operand (operands[1], E_V8HImode)
20302 : && nonmemory_operand (operands[2], E_DImode)
20303 : && (
20304 : #line 17419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20305 : (TARGET_AVX512VL) &&
20306 : #line 785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20307 : (TARGET_AVX512BW)))
20308 : return 7646; /* *ashrv8hi3 */
20309 : if (!register_operand (operands[1], E_V8HImode))
20310 : return -1;
20311 : if (nonmemory_operand (operands[2], E_DImode)
20312 : &&
20313 : #line 17433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20314 : (TARGET_SSE2))
20315 : return 7655; /* ashrv8hi3 */
20316 : if (!nonimmediate_operand (operands[2], E_V8HImode)
20317 : || !(
20318 : #line 29614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20319 : (TARGET_AVX512BW) &&
20320 : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20321 : (TARGET_AVX512VL)))
20322 : return -1;
20323 : return 9638; /* avx512vl_ashrvv8hi */
20324 :
20325 : case E_V8SImode:
20326 : if (!register_operand (operands[0], E_V8SImode)
20327 : || GET_MODE (x3) != E_V8SImode)
20328 : return -1;
20329 : if (nonimmediate_operand (operands[1], E_V8SImode)
20330 : && nonmemory_operand (operands[2], E_DImode)
20331 : &&
20332 : #line 17419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20333 : (TARGET_AVX512VL))
20334 : return 7648; /* *ashrv8si3 */
20335 : if (!register_operand (operands[1], E_V8SImode))
20336 : return -1;
20337 : if (nonmemory_operand (operands[2], E_DImode)
20338 : && (
20339 : #line 17433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20340 : (TARGET_SSE2) &&
20341 : #line 737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20342 : (TARGET_AVX2)))
20343 : return 7656; /* ashrv8si3 */
20344 : if (!nonimmediate_operand (operands[2], E_V8SImode)
20345 : || !
20346 : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20347 : (TARGET_AVX2 && 1))
20348 : return -1;
20349 : return 9628; /* avx2_ashrvv8si */
20350 :
20351 : case E_V4SImode:
20352 : if (!register_operand (operands[0], E_V4SImode)
20353 : || GET_MODE (x3) != E_V4SImode)
20354 : return -1;
20355 : if (nonimmediate_operand (operands[1], E_V4SImode)
20356 : && nonmemory_operand (operands[2], E_DImode)
20357 : &&
20358 : #line 17419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20359 : (TARGET_AVX512VL))
20360 : return 7650; /* *ashrv4si3 */
20361 : if (!register_operand (operands[1], E_V4SImode))
20362 : return -1;
20363 : if (nonmemory_operand (operands[2], E_DImode)
20364 : &&
20365 : #line 17433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20366 : (TARGET_SSE2))
20367 : return 7657; /* ashrv4si3 */
20368 : if (!nonimmediate_operand (operands[2], E_V4SImode)
20369 : || !
20370 : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20371 : (TARGET_AVX2 && 1))
20372 : return -1;
20373 : return 9626; /* avx2_ashrvv4si */
20374 :
20375 : case E_V2DImode:
20376 : if (!register_operand (operands[0], E_V2DImode)
20377 : || GET_MODE (x3) != E_V2DImode)
20378 : return -1;
20379 : if (nonimmediate_operand (operands[1], E_V2DImode)
20380 : && nonmemory_operand (operands[2], E_DImode)
20381 : &&
20382 : #line 17419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20383 : (TARGET_AVX512VL))
20384 : return 7652; /* *ashrv2di3 */
20385 : if (!register_operand (operands[1], E_V2DImode))
20386 : return -1;
20387 : if (nonmemory_operand (operands[2], E_DImode)
20388 : &&
20389 : #line 27669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20390 : (TARGET_SSE2 && !TARGET_AVX512VL && ix86_pre_reload_split ()))
20391 : return 9106; /* *ashrv2di3 */
20392 : if (!nonimmediate_operand (operands[2], E_V2DImode)
20393 : || !(
20394 : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20395 : (TARGET_AVX2 && 1) &&
20396 : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20397 : (TARGET_AVX512VL)))
20398 : return -1;
20399 : return 9632; /* avx2_ashrvv2di */
20400 :
20401 : case E_V32HImode:
20402 : if (!register_operand (operands[0], E_V32HImode)
20403 : || GET_MODE (x3) != E_V32HImode)
20404 : return -1;
20405 : if (nonimmediate_operand (operands[1], E_V32HImode)
20406 : && nonmemory_operand (operands[2], E_DImode)
20407 : && (
20408 : #line 17463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20409 : (TARGET_AVX512F) &&
20410 : #line 780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20411 : (TARGET_AVX512BW)))
20412 : return 7662; /* *ashrv32hi3 */
20413 : if (!register_operand (operands[1], E_V32HImode)
20414 : || !nonimmediate_operand (operands[2], E_V32HImode)
20415 : || !
20416 : #line 29614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20417 : (TARGET_AVX512BW))
20418 : return -1;
20419 : return 9642; /* avx512bw_ashrvv32hi */
20420 :
20421 : case E_V4DImode:
20422 : if (!register_operand (operands[0], E_V4DImode)
20423 : || GET_MODE (x3) != E_V4DImode)
20424 : return -1;
20425 : if (nonimmediate_operand (operands[1], E_V4DImode)
20426 : && nonmemory_operand (operands[2], E_DImode)
20427 : && (
20428 : #line 17463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20429 : (TARGET_AVX512F) &&
20430 : #line 781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20431 : (TARGET_AVX512VL)))
20432 : return 7664; /* *ashrv4di3 */
20433 : if (!register_operand (operands[1], E_V4DImode)
20434 : || !nonimmediate_operand (operands[2], E_V4DImode)
20435 : || !(
20436 : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20437 : (TARGET_AVX2 && 1) &&
20438 : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20439 : (TARGET_AVX512VL)))
20440 : return -1;
20441 : return 9634; /* avx2_ashrvv4di */
20442 :
20443 : case E_V16SImode:
20444 : if (!register_operand (operands[0], E_V16SImode)
20445 : || GET_MODE (x3) != E_V16SImode)
20446 : return -1;
20447 : if (nonimmediate_operand (operands[1], E_V16SImode)
20448 : && nonmemory_operand (operands[2], E_DImode)
20449 : &&
20450 : #line 17463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20451 : (TARGET_AVX512F))
20452 : return 7666; /* *ashrv16si3 */
20453 : if (!register_operand (operands[1], E_V16SImode)
20454 : || !nonimmediate_operand (operands[2], E_V16SImode)
20455 : || !(
20456 : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20457 : (TARGET_AVX2 && 1) &&
20458 : #line 674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20459 : (TARGET_AVX512F)))
20460 : return -1;
20461 : return 9630; /* avx512f_ashrvv16si */
20462 :
20463 : case E_V8DImode:
20464 : if (!register_operand (operands[0], E_V8DImode)
20465 : || GET_MODE (x3) != E_V8DImode)
20466 : return -1;
20467 : if (nonimmediate_operand (operands[1], E_V8DImode)
20468 : && nonmemory_operand (operands[2], E_DImode)
20469 : &&
20470 : #line 17463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20471 : (TARGET_AVX512F))
20472 : return 7668; /* *ashrv8di3 */
20473 : if (!register_operand (operands[1], E_V8DImode)
20474 : || !nonimmediate_operand (operands[2], E_V8DImode)
20475 : || !(
20476 : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20477 : (TARGET_AVX2 && 1) &&
20478 : #line 676 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20479 : (TARGET_AVX512F)))
20480 : return -1;
20481 : return 9636; /* avx512f_ashrvv8di */
20482 :
20483 : case E_V1TImode:
20484 : if (pattern31 (x3) != 0
20485 : || !
20486 : #line 17837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20487 : (TARGET_SSE2 && TARGET_64BIT
20488 : && ix86_pre_reload_split ()))
20489 : return -1;
20490 : return 7733; /* *ashrv1ti3_internal */
20491 :
20492 : default:
20493 : return -1;
20494 : }
20495 : }
20496 :
20497 : int
20498 : recog_336 (rtx x1 ATTRIBUTE_UNUSED,
20499 : rtx_insn *insn ATTRIBUTE_UNUSED,
20500 : int *pnum_clobbers ATTRIBUTE_UNUSED)
20501 : {
20502 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
20503 : rtx x2, x3, x4, x5, x6, x7, x8;
20504 : int res ATTRIBUTE_UNUSED;
20505 : x2 = XEXP (x1, 0);
20506 : operands[0] = x2;
20507 : x3 = XEXP (x1, 1);
20508 : x4 = XEXP (x3, 0);
20509 : switch (GET_CODE (x4))
20510 : {
20511 : case REG:
20512 : case SUBREG:
20513 : case MEM:
20514 : operands[1] = x4;
20515 : switch (GET_MODE (operands[0]))
20516 : {
20517 : case E_V8HFmode:
20518 : switch (pattern517 (x3))
20519 : {
20520 : case 0:
20521 : if (!(
20522 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20523 : (TARGET_AVX512FP16) &&
20524 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20525 : (TARGET_AVX512VL)))
20526 : return -1;
20527 : return 4517; /* avx512fp16_vcvtw2ph_v8hi */
20528 :
20529 : case 1:
20530 : if (!(
20531 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20532 : (TARGET_AVX512FP16) &&
20533 : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20534 : (TARGET_AVX512VL)))
20535 : return -1;
20536 : return 4541; /* avx512fp16_vcvtdq2ph_v8si */
20537 :
20538 : case 2:
20539 : if (!
20540 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20541 : (TARGET_AVX512FP16))
20542 : return -1;
20543 : return 4557; /* avx512fp16_vcvtqq2ph_v8di */
20544 :
20545 : default:
20546 : return -1;
20547 : }
20548 :
20549 : case E_V16HFmode:
20550 : switch (pattern518 (x3))
20551 : {
20552 : case 0:
20553 : if (!(
20554 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20555 : (TARGET_AVX512FP16) &&
20556 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20557 : (TARGET_AVX512VL)))
20558 : return -1;
20559 : return 4525; /* avx512fp16_vcvtw2ph_v16hi */
20560 :
20561 : case 1:
20562 : if (!
20563 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20564 : (TARGET_AVX512FP16))
20565 : return -1;
20566 : return 4549; /* avx512fp16_vcvtdq2ph_v16si */
20567 :
20568 : default:
20569 : return -1;
20570 : }
20571 :
20572 : case E_V32HFmode:
20573 : if (!register_operand (operands[0], E_V32HFmode)
20574 : || GET_MODE (x3) != E_V32HFmode
20575 : || !vector_operand (operands[1], E_V32HImode)
20576 : || !
20577 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20578 : (TARGET_AVX512FP16))
20579 : return -1;
20580 : return 4533; /* avx512fp16_vcvtw2ph_v32hi */
20581 :
20582 : case E_V16SFmode:
20583 : if (!register_operand (operands[0], E_V16SFmode)
20584 : || GET_MODE (x3) != E_V16SFmode
20585 : || !vector_operand (operands[1], E_V16SImode)
20586 : || !(
20587 : #line 8971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20588 : (TARGET_SSE2 && 1 && 1) &&
20589 : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20590 : (TARGET_AVX512F)))
20591 : return -1;
20592 : return 4853; /* floatv16siv16sf2 */
20593 :
20594 : case E_V8SFmode:
20595 : if (!register_operand (operands[0], E_V8SFmode)
20596 : || GET_MODE (x3) != E_V8SFmode)
20597 : return -1;
20598 : switch (GET_MODE (operands[1]))
20599 : {
20600 : case E_V8SImode:
20601 : if (!vector_operand (operands[1], E_V8SImode)
20602 : || !(
20603 : #line 8971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20604 : (TARGET_SSE2 && 1 && 1) &&
20605 : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20606 : (TARGET_AVX)))
20607 : return -1;
20608 : return 4857; /* floatv8siv8sf2 */
20609 :
20610 : case E_V8DImode:
20611 : if (!nonimmediate_operand (operands[1], E_V8DImode)
20612 : || !
20613 : #line 9518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20614 : (TARGET_AVX512DQ && 1))
20615 : return -1;
20616 : return 5009; /* floatv8div8sf2 */
20617 :
20618 : default:
20619 : return -1;
20620 : }
20621 :
20622 : case E_V4SFmode:
20623 : if (!register_operand (operands[0], E_V4SFmode)
20624 : || GET_MODE (x3) != E_V4SFmode)
20625 : return -1;
20626 : switch (GET_MODE (operands[1]))
20627 : {
20628 : case E_V4SImode:
20629 : if (!vector_operand (operands[1], E_V4SImode)
20630 : || !
20631 : #line 8971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20632 : (TARGET_SSE2 && 1 && 1))
20633 : return -1;
20634 : return 4859; /* floatv4siv4sf2 */
20635 :
20636 : case E_V4DImode:
20637 : if (!nonimmediate_operand (operands[1], E_V4DImode)
20638 : || !(
20639 : #line 9518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20640 : (TARGET_AVX512DQ && 1) &&
20641 : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20642 : (TARGET_AVX512VL)))
20643 : return -1;
20644 : return 5017; /* floatv4div4sf2 */
20645 :
20646 : default:
20647 : return -1;
20648 : }
20649 :
20650 : case E_V2DFmode:
20651 : switch (pattern519 (x3))
20652 : {
20653 : case 0:
20654 : if (!
20655 : #line 9200 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20656 : (TARGET_SSE2))
20657 : return -1;
20658 : return 4933; /* sse2_cvtpi2pd */
20659 :
20660 : case 1:
20661 : if (!(
20662 : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20663 : (TARGET_AVX512DQ) &&
20664 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20665 : (TARGET_AVX512VL)))
20666 : return -1;
20667 : return 5001; /* floatv2div2df2 */
20668 :
20669 : default:
20670 : return -1;
20671 : }
20672 :
20673 : case E_V8DFmode:
20674 : switch (pattern520 (x3,
20675 : E_V8DFmode))
20676 : {
20677 : case 0:
20678 : if (!(
20679 : #line 9494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20680 : (TARGET_AVX && 1) &&
20681 : #line 466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20682 : (TARGET_AVX512F)))
20683 : return -1;
20684 : return 4981; /* floatv8siv8df2 */
20685 :
20686 : case 1:
20687 : if (!
20688 : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20689 : (TARGET_AVX512DQ))
20690 : return -1;
20691 : return 4985; /* floatv8div8df2 */
20692 :
20693 : default:
20694 : return -1;
20695 : }
20696 :
20697 : case E_V4DFmode:
20698 : switch (pattern521 (x3,
20699 : E_V4DFmode))
20700 : {
20701 : case 0:
20702 : if (!
20703 : #line 9494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20704 : (TARGET_AVX && 1))
20705 : return -1;
20706 : return 4983; /* floatv4siv4df2 */
20707 :
20708 : case 1:
20709 : if (!(
20710 : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20711 : (TARGET_AVX512DQ) &&
20712 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20713 : (TARGET_AVX512VL)))
20714 : return -1;
20715 : return 4993; /* floatv4div4df2 */
20716 :
20717 : default:
20718 : return -1;
20719 : }
20720 :
20721 : default:
20722 : return -1;
20723 : }
20724 :
20725 : case VEC_SELECT:
20726 : x5 = XEXP (x4, 1);
20727 : if (GET_CODE (x5) != PARALLEL)
20728 : return -1;
20729 : x6 = XEXP (x4, 0);
20730 : operands[1] = x6;
20731 : switch (XVECLEN (x5, 0))
20732 : {
20733 : case 8:
20734 : if (pattern681 (x5) != 0
20735 : || pattern928 (x3,
20736 : E_V16SImode,
20737 : E_V8SImode,
20738 : E_V8DFmode) != 0
20739 : || !
20740 : #line 9695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20741 : (TARGET_AVX512F))
20742 : return -1;
20743 : return 5033; /* avx512f_cvtdq2pd512_2 */
20744 :
20745 : case 4:
20746 : if (pattern682 (x5,
20747 : 3,
20748 : 2,
20749 : 1) != 0
20750 : || pattern928 (x3,
20751 : E_V8SImode,
20752 : E_V4SImode,
20753 : E_V4DFmode) != 0
20754 : || !
20755 : #line 9708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20756 : (TARGET_AVX))
20757 : return -1;
20758 : return 5034; /* avx_cvtdq2pd256_2 */
20759 :
20760 : case 2:
20761 : x7 = XVECEXP (x5, 0, 0);
20762 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
20763 : return -1;
20764 : x8 = XVECEXP (x5, 0, 1);
20765 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
20766 : || pattern928 (x3,
20767 : E_V4SImode,
20768 : E_V2SImode,
20769 : E_V2DFmode) != 0
20770 : || !
20771 : #line 9720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20772 : (TARGET_SSE2 && 1))
20773 : return -1;
20774 : return 5035; /* sse2_cvtdq2pd */
20775 :
20776 : default:
20777 : return -1;
20778 : }
20779 :
20780 : default:
20781 : return -1;
20782 : }
20783 : }
20784 :
20785 : int
20786 : recog_341 (rtx x1 ATTRIBUTE_UNUSED,
20787 : rtx_insn *insn ATTRIBUTE_UNUSED,
20788 : int *pnum_clobbers ATTRIBUTE_UNUSED)
20789 : {
20790 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
20791 : rtx x2, x3, x4, x5, x6, x7, x8;
20792 : int res ATTRIBUTE_UNUSED;
20793 : x2 = XEXP (x1, 0);
20794 : operands[0] = x2;
20795 : x3 = XEXP (x1, 1);
20796 : x4 = XEXP (x3, 0);
20797 : switch (GET_CODE (x4))
20798 : {
20799 : case REG:
20800 : case SUBREG:
20801 : case MEM:
20802 : operands[1] = x4;
20803 : switch (GET_MODE (operands[0]))
20804 : {
20805 : case E_V8HFmode:
20806 : switch (pattern517 (x3))
20807 : {
20808 : case 0:
20809 : if (!(
20810 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20811 : (TARGET_AVX512FP16) &&
20812 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20813 : (TARGET_AVX512VL)))
20814 : return -1;
20815 : return 4521; /* avx512fp16_vcvtuw2ph_v8hi */
20816 :
20817 : case 1:
20818 : if (!(
20819 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20820 : (TARGET_AVX512FP16) &&
20821 : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20822 : (TARGET_AVX512VL)))
20823 : return -1;
20824 : return 4545; /* avx512fp16_vcvtudq2ph_v8si */
20825 :
20826 : case 2:
20827 : if (!
20828 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20829 : (TARGET_AVX512FP16))
20830 : return -1;
20831 : return 4561; /* avx512fp16_vcvtuqq2ph_v8di */
20832 :
20833 : default:
20834 : return -1;
20835 : }
20836 :
20837 : case E_V16HFmode:
20838 : switch (pattern518 (x3))
20839 : {
20840 : case 0:
20841 : if (!(
20842 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20843 : (TARGET_AVX512FP16) &&
20844 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20845 : (TARGET_AVX512VL)))
20846 : return -1;
20847 : return 4529; /* avx512fp16_vcvtuw2ph_v16hi */
20848 :
20849 : case 1:
20850 : if (!
20851 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20852 : (TARGET_AVX512FP16))
20853 : return -1;
20854 : return 4553; /* avx512fp16_vcvtudq2ph_v16si */
20855 :
20856 : default:
20857 : return -1;
20858 : }
20859 :
20860 : case E_V32HFmode:
20861 : if (!register_operand (operands[0], E_V32HFmode)
20862 : || GET_MODE (x3) != E_V32HFmode
20863 : || !vector_operand (operands[1], E_V32HImode)
20864 : || !
20865 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20866 : (TARGET_AVX512FP16))
20867 : return -1;
20868 : return 4537; /* avx512fp16_vcvtuw2ph_v32hi */
20869 :
20870 : case E_V16SFmode:
20871 : if (!register_operand (operands[0], E_V16SFmode)
20872 : || GET_MODE (x3) != E_V16SFmode
20873 : || !nonimmediate_operand (operands[1], E_V16SImode)
20874 : || !
20875 : #line 8984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20876 : (TARGET_AVX512F))
20877 : return -1;
20878 : return 4861; /* *floatunsv16siv16sf2 */
20879 :
20880 : case E_V8SFmode:
20881 : switch (pattern520 (x3,
20882 : E_V8SFmode))
20883 : {
20884 : case 0:
20885 : if (!(
20886 : #line 8984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20887 : (TARGET_AVX512F) &&
20888 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20889 : (TARGET_AVX512VL)))
20890 : return -1;
20891 : return 4865; /* *floatunsv8siv8sf2 */
20892 :
20893 : case 1:
20894 : if (!
20895 : #line 9518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20896 : (TARGET_AVX512DQ && 1))
20897 : return -1;
20898 : return 5013; /* floatunsv8div8sf2 */
20899 :
20900 : default:
20901 : return -1;
20902 : }
20903 :
20904 : case E_V4SFmode:
20905 : switch (pattern521 (x3,
20906 : E_V4SFmode))
20907 : {
20908 : case 0:
20909 : if (!(
20910 : #line 8984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20911 : (TARGET_AVX512F) &&
20912 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20913 : (TARGET_AVX512VL)))
20914 : return -1;
20915 : return 4869; /* *floatunsv4siv4sf2 */
20916 :
20917 : case 1:
20918 : if (!(
20919 : #line 9518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20920 : (TARGET_AVX512DQ && 1) &&
20921 : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20922 : (TARGET_AVX512VL)))
20923 : return -1;
20924 : return 5019; /* floatunsv4div4sf2 */
20925 :
20926 : default:
20927 : return -1;
20928 : }
20929 :
20930 : case E_V2DFmode:
20931 : switch (pattern519 (x3))
20932 : {
20933 : case 0:
20934 : if (!
20935 : #line 9220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20936 : (TARGET_MMX_WITH_SSE && TARGET_AVX512VL))
20937 : return -1;
20938 : return 4934; /* floatunsv2siv2df2 */
20939 :
20940 : case 1:
20941 : if (!(
20942 : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20943 : (TARGET_AVX512DQ) &&
20944 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20945 : (TARGET_AVX512VL)))
20946 : return -1;
20947 : return 5005; /* floatunsv2div2df2 */
20948 :
20949 : default:
20950 : return -1;
20951 : }
20952 :
20953 : case E_V8DFmode:
20954 : if (!register_operand (operands[0], E_V8DFmode)
20955 : || GET_MODE (x3) != E_V8DFmode)
20956 : return -1;
20957 : switch (GET_MODE (operands[1]))
20958 : {
20959 : case E_V8DImode:
20960 : if (!nonimmediate_operand (operands[1], E_V8DImode)
20961 : || !
20962 : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20963 : (TARGET_AVX512DQ))
20964 : return -1;
20965 : return 4989; /* floatunsv8div8df2 */
20966 :
20967 : case E_V8SImode:
20968 : if (!nonimmediate_operand (operands[1], E_V8SImode)
20969 : || !
20970 : #line 9668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20971 : (TARGET_AVX512F))
20972 : return -1;
20973 : return 5027; /* floatunsv8siv8df2 */
20974 :
20975 : default:
20976 : return -1;
20977 : }
20978 :
20979 : case E_V4DFmode:
20980 : if (!register_operand (operands[0], E_V4DFmode)
20981 : || GET_MODE (x3) != E_V4DFmode)
20982 : return -1;
20983 : switch (GET_MODE (operands[1]))
20984 : {
20985 : case E_V4DImode:
20986 : if (!nonimmediate_operand (operands[1], E_V4DImode)
20987 : || !(
20988 : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20989 : (TARGET_AVX512DQ) &&
20990 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20991 : (TARGET_AVX512VL)))
20992 : return -1;
20993 : return 4997; /* floatunsv4div4df2 */
20994 :
20995 : case E_V4SImode:
20996 : if (!nonimmediate_operand (operands[1], E_V4SImode)
20997 : || !(
20998 : #line 9668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20999 : (TARGET_AVX512F) &&
21000 : #line 469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21001 : (TARGET_AVX512VL)))
21002 : return -1;
21003 : return 5029; /* floatunsv4siv4df2 */
21004 :
21005 : default:
21006 : return -1;
21007 : }
21008 :
21009 : default:
21010 : return -1;
21011 : }
21012 :
21013 : case VEC_SELECT:
21014 : if (GET_MODE (x4) != E_V2SImode)
21015 : return -1;
21016 : x5 = XEXP (x4, 1);
21017 : if (GET_CODE (x5) != PARALLEL
21018 : || XVECLEN (x5, 0) != 2)
21019 : return -1;
21020 : x6 = XVECEXP (x5, 0, 0);
21021 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
21022 : return -1;
21023 : x7 = XVECEXP (x5, 0, 1);
21024 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
21025 : || !register_operand (operands[0], E_V2DFmode)
21026 : || GET_MODE (x3) != E_V2DFmode)
21027 : return -1;
21028 : x8 = XEXP (x4, 0);
21029 : operands[1] = x8;
21030 : if (!nonimmediate_operand (operands[1], E_V4SImode)
21031 : || !
21032 : #line 9680 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21033 : (TARGET_AVX512VL))
21034 : return -1;
21035 : return 5031; /* *floatunsv2siv2df2 */
21036 :
21037 : default:
21038 : return -1;
21039 : }
21040 : }
21041 :
21042 : int
21043 : recog_348 (rtx x1 ATTRIBUTE_UNUSED,
21044 : rtx_insn *insn ATTRIBUTE_UNUSED,
21045 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21046 : {
21047 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21048 : rtx x2, x3, x4, x5, x6;
21049 : int res ATTRIBUTE_UNUSED;
21050 : x2 = XEXP (x1, 0);
21051 : operands[0] = x2;
21052 : x3 = XEXP (x1, 1);
21053 : switch (GET_CODE (x3))
21054 : {
21055 : case AND:
21056 : res = recog_308 (x1, insn, pnum_clobbers);
21057 : if (res >= 0)
21058 : return res;
21059 : break;
21060 :
21061 : case IOR:
21062 : res = recog_320 (x1, insn, pnum_clobbers);
21063 : if (res >= 0)
21064 : return res;
21065 : break;
21066 :
21067 : case XOR:
21068 : res = recog_313 (x1, insn, pnum_clobbers);
21069 : if (res >= 0)
21070 : return res;
21071 : break;
21072 :
21073 : case NOT:
21074 : x4 = XEXP (x3, 0);
21075 : if (GET_CODE (x4) == XOR)
21076 : {
21077 : x5 = XEXP (x4, 0);
21078 : operands[1] = x5;
21079 : x6 = XEXP (x4, 1);
21080 : operands[2] = x6;
21081 : switch (GET_MODE (operands[0]))
21082 : {
21083 : case E_V16SImode:
21084 : if (pattern815 (x3,
21085 : E_V16SImode) == 0
21086 : && (
21087 : #line 19328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21088 : ((64 == 64 || TARGET_AVX512VL
21089 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21090 : && (register_operand (operands[1], V16SImode)
21091 : || register_operand (operands[2], V16SImode))) &&
21092 : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21093 : (TARGET_AVX512F)))
21094 : return 8117; /* *xnorv16si3 */
21095 : break;
21096 :
21097 : case E_V8DImode:
21098 : if (pattern815 (x3,
21099 : E_V8DImode) == 0
21100 : && (
21101 : #line 19328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21102 : ((64 == 64 || TARGET_AVX512VL
21103 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21104 : && (register_operand (operands[1], V8DImode)
21105 : || register_operand (operands[2], V8DImode))) &&
21106 : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21107 : (TARGET_AVX512F)))
21108 : return 8118; /* *xnorv8di3 */
21109 : break;
21110 :
21111 : case E_V64QImode:
21112 : if (pattern815 (x3,
21113 : E_V64QImode) == 0
21114 : && (
21115 : #line 19328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21116 : ((64 == 64 || TARGET_AVX512VL
21117 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21118 : && (register_operand (operands[1], V64QImode)
21119 : || register_operand (operands[2], V64QImode))) &&
21120 : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21121 : (TARGET_AVX512BW)))
21122 : return 8119; /* *xnorv64qi3 */
21123 : break;
21124 :
21125 : case E_V32QImode:
21126 : if (pattern815 (x3,
21127 : E_V32QImode) == 0
21128 : && (
21129 : #line 19328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21130 : ((32 == 64 || TARGET_AVX512VL
21131 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21132 : && (register_operand (operands[1], V32QImode)
21133 : || register_operand (operands[2], V32QImode))) &&
21134 : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21135 : (TARGET_AVX)))
21136 : return 8120; /* *xnorv32qi3 */
21137 : break;
21138 :
21139 : case E_V16QImode:
21140 : if (pattern815 (x3,
21141 : E_V16QImode) == 0
21142 : &&
21143 : #line 19328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21144 : ((16 == 64 || TARGET_AVX512VL
21145 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21146 : && (register_operand (operands[1], V16QImode)
21147 : || register_operand (operands[2], V16QImode))))
21148 : return 8121; /* *xnorv16qi3 */
21149 : break;
21150 :
21151 : case E_V32HImode:
21152 : if (pattern815 (x3,
21153 : E_V32HImode) == 0
21154 : && (
21155 : #line 19328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21156 : ((64 == 64 || TARGET_AVX512VL
21157 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21158 : && (register_operand (operands[1], V32HImode)
21159 : || register_operand (operands[2], V32HImode))) &&
21160 : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21161 : (TARGET_AVX512BW)))
21162 : return 8122; /* *xnorv32hi3 */
21163 : break;
21164 :
21165 : case E_V16HImode:
21166 : if (pattern815 (x3,
21167 : E_V16HImode) == 0
21168 : && (
21169 : #line 19328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21170 : ((32 == 64 || TARGET_AVX512VL
21171 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21172 : && (register_operand (operands[1], V16HImode)
21173 : || register_operand (operands[2], V16HImode))) &&
21174 : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21175 : (TARGET_AVX)))
21176 : return 8123; /* *xnorv16hi3 */
21177 : break;
21178 :
21179 : case E_V8HImode:
21180 : if (pattern815 (x3,
21181 : E_V8HImode) == 0
21182 : &&
21183 : #line 19328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21184 : ((16 == 64 || TARGET_AVX512VL
21185 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21186 : && (register_operand (operands[1], V8HImode)
21187 : || register_operand (operands[2], V8HImode))))
21188 : return 8124; /* *xnorv8hi3 */
21189 : break;
21190 :
21191 : case E_V8SImode:
21192 : if (pattern815 (x3,
21193 : E_V8SImode) == 0
21194 : && (
21195 : #line 19328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21196 : ((32 == 64 || TARGET_AVX512VL
21197 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21198 : && (register_operand (operands[1], V8SImode)
21199 : || register_operand (operands[2], V8SImode))) &&
21200 : #line 559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21201 : (TARGET_AVX)))
21202 : return 8125; /* *xnorv8si3 */
21203 : break;
21204 :
21205 : case E_V4SImode:
21206 : if (pattern815 (x3,
21207 : E_V4SImode) == 0
21208 : &&
21209 : #line 19328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21210 : ((16 == 64 || TARGET_AVX512VL
21211 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21212 : && (register_operand (operands[1], V4SImode)
21213 : || register_operand (operands[2], V4SImode))))
21214 : return 8126; /* *xnorv4si3 */
21215 : break;
21216 :
21217 : case E_V4DImode:
21218 : if (pattern815 (x3,
21219 : E_V4DImode) == 0
21220 : && (
21221 : #line 19328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21222 : ((32 == 64 || TARGET_AVX512VL
21223 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21224 : && (register_operand (operands[1], V4DImode)
21225 : || register_operand (operands[2], V4DImode))) &&
21226 : #line 560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21227 : (TARGET_AVX)))
21228 : return 8127; /* *xnorv4di3 */
21229 : break;
21230 :
21231 : case E_V2DImode:
21232 : if (pattern815 (x3,
21233 : E_V2DImode) == 0
21234 : &&
21235 : #line 19328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21236 : ((16 == 64 || TARGET_AVX512VL
21237 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21238 : && (register_operand (operands[1], V2DImode)
21239 : || register_operand (operands[2], V2DImode))))
21240 : return 8128; /* *xnorv2di3 */
21241 : break;
21242 :
21243 : default:
21244 : break;
21245 : }
21246 : }
21247 : break;
21248 :
21249 : default:
21250 : break;
21251 : }
21252 : operands[1] = x3;
21253 : switch (pattern204 ())
21254 : {
21255 : case 0:
21256 : if ((
21257 : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21258 : ((64 == 64 || TARGET_AVX512VL
21259 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21260 : && ix86_pre_reload_split ()) &&
21261 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21262 : (TARGET_AVX512F)))
21263 : return 5525; /* *avx512bw_vpternlogv32hf_0 */
21264 : break;
21265 :
21266 : case 1:
21267 : if ((
21268 : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21269 : ((32 == 64 || TARGET_AVX512VL
21270 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21271 : && ix86_pre_reload_split ()) &&
21272 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21273 : (TARGET_AVX)))
21274 : return 5526; /* *avx512vl_vpternlogv16hf_0 */
21275 : break;
21276 :
21277 : case 2:
21278 : if (
21279 : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21280 : ((16 == 64 || TARGET_AVX512VL
21281 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21282 : && ix86_pre_reload_split ()))
21283 : return 5527; /* *avx512fp16_vpternlogv8hf_0 */
21284 : break;
21285 :
21286 : case 3:
21287 : if ((
21288 : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21289 : ((64 == 64 || TARGET_AVX512VL
21290 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21291 : && ix86_pre_reload_split ()) &&
21292 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21293 : (TARGET_AVX512F)))
21294 : return 5528; /* *avx512bw_vpternlogv32bf_0 */
21295 : break;
21296 :
21297 : case 4:
21298 : if ((
21299 : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21300 : ((32 == 64 || TARGET_AVX512VL
21301 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21302 : && ix86_pre_reload_split ()) &&
21303 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21304 : (TARGET_AVX)))
21305 : return 5529; /* *avx512vl_vpternlogv16bf_0 */
21306 : break;
21307 :
21308 : case 5:
21309 : if (
21310 : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21311 : ((16 == 64 || TARGET_AVX512VL
21312 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21313 : && ix86_pre_reload_split ()))
21314 : return 5530; /* *avx512vl_vpternlogv8bf_0 */
21315 : break;
21316 :
21317 : case 6:
21318 : if ((
21319 : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21320 : ((64 == 64 || TARGET_AVX512VL
21321 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21322 : && ix86_pre_reload_split ()) &&
21323 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21324 : (TARGET_AVX512F)))
21325 : return 5531; /* *avx512f_vpternlogv16sf_0 */
21326 : break;
21327 :
21328 : case 7:
21329 : if ((
21330 : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21331 : ((32 == 64 || TARGET_AVX512VL
21332 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21333 : && ix86_pre_reload_split ()) &&
21334 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21335 : (TARGET_AVX)))
21336 : return 5532; /* *avx512vl_vpternlogv8sf_0 */
21337 : break;
21338 :
21339 : case 8:
21340 : if (
21341 : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21342 : ((16 == 64 || TARGET_AVX512VL
21343 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21344 : && ix86_pre_reload_split ()))
21345 : return 5533; /* *avx512vl_vpternlogv4sf_0 */
21346 : break;
21347 :
21348 : case 9:
21349 : if ((
21350 : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21351 : ((64 == 64 || TARGET_AVX512VL
21352 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21353 : && ix86_pre_reload_split ()) &&
21354 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21355 : (TARGET_AVX512F)))
21356 : return 5534; /* *avx512f_vpternlogv8df_0 */
21357 : break;
21358 :
21359 : case 10:
21360 : if ((
21361 : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21362 : ((32 == 64 || TARGET_AVX512VL
21363 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21364 : && ix86_pre_reload_split ()) &&
21365 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21366 : (TARGET_AVX)))
21367 : return 5535; /* *avx512vl_vpternlogv4df_0 */
21368 : break;
21369 :
21370 : case 11:
21371 : if ((
21372 : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21373 : ((16 == 64 || TARGET_AVX512VL
21374 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21375 : && ix86_pre_reload_split ()) &&
21376 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21377 : (TARGET_SSE2)))
21378 : return 5536; /* *avx512vl_vpternlogv2df_0 */
21379 : break;
21380 :
21381 : default:
21382 : break;
21383 : }
21384 : switch (GET_CODE (x3))
21385 : {
21386 : case AND:
21387 : return recog_319 (x1, insn, pnum_clobbers);
21388 :
21389 : case IOR:
21390 : return recog_318 (x1, insn, pnum_clobbers);
21391 :
21392 : case XOR:
21393 : return recog_317 (x1, insn, pnum_clobbers);
21394 :
21395 : default:
21396 : return -1;
21397 : }
21398 : }
21399 :
21400 : int
21401 : recog_358 (rtx x1 ATTRIBUTE_UNUSED,
21402 : rtx_insn *insn ATTRIBUTE_UNUSED,
21403 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21404 : {
21405 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21406 : int res ATTRIBUTE_UNUSED;
21407 : switch (pattern33 (x1))
21408 : {
21409 : case 0:
21410 : if (!
21411 : #line 17878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21412 : (TARGET_SSE2 && TARGET_64BIT
21413 : && ix86_pre_reload_split ()))
21414 : return -1;
21415 : return 7734; /* *rotlv1ti3_internal */
21416 :
21417 : case 1:
21418 : if (!
21419 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21420 : (TARGET_AVX512F))
21421 : return -1;
21422 : return 7770; /* avx512f_rolv16si */
21423 :
21424 : case 2:
21425 : if (!(
21426 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21427 : (TARGET_AVX512F) &&
21428 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21429 : (TARGET_AVX512VL)))
21430 : return -1;
21431 : return 7774; /* avx512vl_rolv8si */
21432 :
21433 : case 3:
21434 : if (const_0_to_255_operand (operands[2], E_SImode)
21435 : && (
21436 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21437 : (TARGET_AVX512F) &&
21438 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21439 : (TARGET_AVX512VL)))
21440 : return 7778; /* avx512vl_rolv4si */
21441 : if (!const_0_to_31_operand (operands[2], E_SImode)
21442 : || !
21443 : #line 27215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21444 : (TARGET_XOP))
21445 : return -1;
21446 : return 9088; /* xop_rotlv4si3 */
21447 :
21448 : case 4:
21449 : if (!
21450 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21451 : (TARGET_AVX512F))
21452 : return -1;
21453 : return 7782; /* avx512f_rolv8di */
21454 :
21455 : case 5:
21456 : if (!(
21457 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21458 : (TARGET_AVX512F) &&
21459 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21460 : (TARGET_AVX512VL)))
21461 : return -1;
21462 : return 7786; /* avx512vl_rolv4di */
21463 :
21464 : case 6:
21465 : if (const_0_to_255_operand (operands[2], E_SImode)
21466 : && (
21467 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21468 : (TARGET_AVX512F) &&
21469 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21470 : (TARGET_AVX512VL)))
21471 : return 7790; /* avx512vl_rolv2di */
21472 : if (!const_0_to_63_operand (operands[2], E_SImode)
21473 : || !
21474 : #line 27215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21475 : (TARGET_XOP))
21476 : return -1;
21477 : return 9089; /* xop_rotlv2di3 */
21478 :
21479 : case 7:
21480 : if (!
21481 : #line 27215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21482 : (TARGET_XOP))
21483 : return -1;
21484 : return 9086; /* xop_rotlv16qi3 */
21485 :
21486 : case 8:
21487 : if (!
21488 : #line 27215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21489 : (TARGET_XOP))
21490 : return -1;
21491 : return 9087; /* xop_rotlv8hi3 */
21492 :
21493 : case 9:
21494 : if (!
21495 : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21496 : (TARGET_AVX512F))
21497 : return -1;
21498 : return 7746; /* avx512f_rolvv16si */
21499 :
21500 : case 10:
21501 : if (!(
21502 : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21503 : (TARGET_AVX512F) &&
21504 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21505 : (TARGET_AVX512VL)))
21506 : return -1;
21507 : return 7750; /* avx512vl_rolvv8si */
21508 :
21509 : case 11:
21510 : if (!(
21511 : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21512 : (TARGET_AVX512F) &&
21513 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21514 : (TARGET_AVX512VL)))
21515 : return -1;
21516 : return 7754; /* avx512vl_rolvv4si */
21517 :
21518 : case 12:
21519 : if (!
21520 : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21521 : (TARGET_AVX512F))
21522 : return -1;
21523 : return 7758; /* avx512f_rolvv8di */
21524 :
21525 : case 13:
21526 : if (!(
21527 : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21528 : (TARGET_AVX512F) &&
21529 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21530 : (TARGET_AVX512VL)))
21531 : return -1;
21532 : return 7762; /* avx512vl_rolvv4di */
21533 :
21534 : case 14:
21535 : if (!(
21536 : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21537 : (TARGET_AVX512F) &&
21538 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21539 : (TARGET_AVX512VL)))
21540 : return -1;
21541 : return 7766; /* avx512vl_rolvv2di */
21542 :
21543 : default:
21544 : return -1;
21545 : }
21546 : }
21547 :
21548 : int
21549 : recog_370 (rtx x1 ATTRIBUTE_UNUSED,
21550 : rtx_insn *insn ATTRIBUTE_UNUSED,
21551 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21552 : {
21553 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21554 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21555 : int res ATTRIBUTE_UNUSED;
21556 : x2 = XVECEXP (x1, 0, 0);
21557 : x3 = XEXP (x2, 1);
21558 : x4 = XEXP (x3, 1);
21559 : if (GET_CODE (x4) != CONST_INT)
21560 : return -1;
21561 : x5 = XVECEXP (x1, 0, 1);
21562 : if (GET_CODE (x5) != CLOBBER)
21563 : return -1;
21564 : x6 = XEXP (x5, 0);
21565 : if (GET_CODE (x6) != REG
21566 : || REGNO (x6) != 17
21567 : || GET_MODE (x6) != E_CCmode)
21568 : return -1;
21569 : x7 = XEXP (x3, 0);
21570 : operands[1] = x7;
21571 : if (XWINT (x4, 0) == 1L)
21572 : {
21573 : x8 = XEXP (x2, 0);
21574 : if (GET_CODE (x8) == SUBREG)
21575 : {
21576 : switch (pattern1324 (x2))
21577 : {
21578 : case 0:
21579 : if (
21580 : #line 19684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21581 : (TARGET_USE_BT && ix86_pre_reload_split ()))
21582 : return 1466; /* *btsi_setcqi */
21583 : break;
21584 :
21585 : case 1:
21586 : if ((
21587 : #line 19684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21588 : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
21589 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21590 : (TARGET_64BIT)))
21591 : return 1467; /* *btdi_setcqi */
21592 : break;
21593 :
21594 : default:
21595 : break;
21596 : }
21597 : }
21598 : x9 = XEXP (x3, 2);
21599 : if (GET_CODE (x9) == SUBREG)
21600 : {
21601 : switch (pattern1326 (x2))
21602 : {
21603 : case 0:
21604 : if (
21605 : #line 19765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21606 : (TARGET_USE_BT
21607 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
21608 : == GET_MODE_BITSIZE (SImode)-1
21609 : && ix86_pre_reload_split ()))
21610 : return 1474; /* *btsi_setcsi_mask */
21611 : break;
21612 :
21613 : case 1:
21614 : if ((
21615 : #line 19765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21616 : (TARGET_USE_BT
21617 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
21618 : == GET_MODE_BITSIZE (DImode)-1
21619 : && ix86_pre_reload_split ()) &&
21620 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21621 : (TARGET_64BIT)))
21622 : return 1475; /* *btdi_setcdi_mask */
21623 : break;
21624 :
21625 : default:
21626 : break;
21627 : }
21628 : }
21629 : }
21630 : x8 = XEXP (x2, 0);
21631 : operands[0] = x8;
21632 : operands[2] = x4;
21633 : if (!const_0_to_255_operand (operands[2], E_QImode))
21634 : return -1;
21635 : x9 = XEXP (x3, 2);
21636 : operands[3] = x9;
21637 : if (!const_0_to_255_operand (operands[3], E_QImode))
21638 : return -1;
21639 : switch (pattern408 (x3))
21640 : {
21641 : case 0:
21642 : if (!
21643 : #line 22526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21644 : (TARGET_TBM))
21645 : return -1;
21646 : return 1638; /* tbm_bextri_si */
21647 :
21648 : case 1:
21649 : if (!(
21650 : #line 22526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21651 : (TARGET_TBM) &&
21652 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21653 : (TARGET_64BIT)))
21654 : return -1;
21655 : return 1639; /* tbm_bextri_di */
21656 :
21657 : default:
21658 : return -1;
21659 : }
21660 : }
21661 :
21662 : int
21663 : recog_372 (rtx x1 ATTRIBUTE_UNUSED,
21664 : rtx_insn *insn ATTRIBUTE_UNUSED,
21665 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21666 : {
21667 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21668 : rtx x2, x3, x4, x5, x6, x7;
21669 : int res ATTRIBUTE_UNUSED;
21670 : x2 = XVECEXP (x1, 0, 1);
21671 : x3 = XEXP (x2, 1);
21672 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
21673 : return -1;
21674 : x4 = XVECEXP (x1, 0, 0);
21675 : x5 = XEXP (x4, 0);
21676 : operands[0] = x5;
21677 : x6 = XEXP (x4, 1);
21678 : x7 = XVECEXP (x6, 0, 0);
21679 : operands[1] = x7;
21680 : switch (pattern1159 (x1))
21681 : {
21682 : case 0:
21683 : if (!(
21684 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21685 : (ptr_mode == SImode) &&
21686 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21687 : (word_mode == SImode)))
21688 : return -1;
21689 : *pnum_clobbers = 1;
21690 : return 1920; /* stack_protect_set_1_si_si */
21691 :
21692 : case 1:
21693 : if (!(
21694 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21695 : (ptr_mode == SImode) &&
21696 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21697 : (word_mode == DImode)))
21698 : return -1;
21699 : *pnum_clobbers = 1;
21700 : return 1922; /* stack_protect_set_1_si_di */
21701 :
21702 : case 2:
21703 : if (!(
21704 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21705 : (ptr_mode == DImode) &&
21706 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21707 : (word_mode == SImode)))
21708 : return -1;
21709 : *pnum_clobbers = 1;
21710 : return 1921; /* stack_protect_set_1_di_si */
21711 :
21712 : case 3:
21713 : if (!(
21714 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21715 : (ptr_mode == DImode) &&
21716 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21717 : (word_mode == DImode)))
21718 : return -1;
21719 : *pnum_clobbers = 1;
21720 : return 1923; /* stack_protect_set_1_di_di */
21721 :
21722 : default:
21723 : return -1;
21724 : }
21725 : }
21726 :
21727 : int
21728 : recog_375 (rtx x1 ATTRIBUTE_UNUSED,
21729 : rtx_insn *insn ATTRIBUTE_UNUSED,
21730 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21731 : {
21732 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21733 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21734 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
21735 : rtx x18;
21736 : int res ATTRIBUTE_UNUSED;
21737 : x2 = XVECEXP (x1, 0, 0);
21738 : x3 = XEXP (x2, 1);
21739 : switch (XINT (x3, 1))
21740 : {
21741 : case 106:
21742 : if (GET_MODE (x3) != E_TImode)
21743 : return -1;
21744 : x4 = XVECEXP (x1, 0, 1);
21745 : if (GET_CODE (x4) != UNSPEC
21746 : || XVECLEN (x4, 0) != 1
21747 : || XINT (x4, 1) != 109
21748 : || GET_MODE (x4) != E_DImode)
21749 : return -1;
21750 : x5 = XVECEXP (x4, 0, 0);
21751 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
21752 : return -1;
21753 : x6 = XEXP (x2, 0);
21754 : operands[0] = x6;
21755 : if (!push_operand (operands[0], E_TImode))
21756 : return -1;
21757 : x7 = XVECEXP (x3, 0, 0);
21758 : operands[1] = x7;
21759 : if (!register_operand (operands[1], E_DImode))
21760 : return -1;
21761 : x8 = XVECEXP (x3, 0, 1);
21762 : operands[2] = x8;
21763 : if (!register_operand (operands[2], E_DImode)
21764 : || !
21765 : #line 3939 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21766 : (TARGET_APX_PUSH2POP2 && TARGET_APX_PPX))
21767 : return -1;
21768 : return 167; /* push2p_di */
21769 :
21770 : case 41:
21771 : x8 = XVECEXP (x3, 0, 1);
21772 : if (GET_CODE (x8) != CONST_INT)
21773 : return -1;
21774 : x6 = XEXP (x2, 0);
21775 : if (GET_CODE (x6) != REG
21776 : || REGNO (x6) != 17)
21777 : return -1;
21778 : x7 = XVECEXP (x3, 0, 0);
21779 : switch (GET_CODE (x7))
21780 : {
21781 : case REG:
21782 : case SUBREG:
21783 : case MEM:
21784 : operands[1] = x7;
21785 : if (XWINT (x8, 0) == 0L)
21786 : {
21787 : res = recog_373 (x1, insn, pnum_clobbers);
21788 : if (res >= 0)
21789 : return res;
21790 : }
21791 : x4 = XVECEXP (x1, 0, 1);
21792 : if (GET_CODE (x4) != SET)
21793 : return -1;
21794 : x9 = XEXP (x4, 1);
21795 : if (GET_CODE (x9) != NEG
21796 : || GET_MODE (x6) != E_CCOmode
21797 : || GET_MODE (x3) != E_CCOmode)
21798 : return -1;
21799 : operands[2] = x8;
21800 : x10 = XEXP (x4, 0);
21801 : operands[0] = x10;
21802 : x11 = XEXP (x9, 0);
21803 : if (!rtx_equal_p (x11, operands[1]))
21804 : return -1;
21805 : switch (GET_MODE (operands[1]))
21806 : {
21807 : case E_QImode:
21808 : if (pattern1678 (x9,
21809 : E_QImode) != 0
21810 : || !
21811 : #line 14877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21812 : (ix86_unary_operator_ok (NEG, QImode, operands)
21813 : && mode_signbit_p (QImode, operands[2])))
21814 : return -1;
21815 : return 1023; /* *negvqi3 */
21816 :
21817 : case E_HImode:
21818 : if (pattern1678 (x9,
21819 : E_HImode) != 0
21820 : || !
21821 : #line 14877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21822 : (ix86_unary_operator_ok (NEG, HImode, operands)
21823 : && mode_signbit_p (HImode, operands[2])))
21824 : return -1;
21825 : return 1024; /* *negvhi3 */
21826 :
21827 : case E_SImode:
21828 : if (pattern1678 (x9,
21829 : E_SImode) != 0
21830 : || !
21831 : #line 14877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21832 : (ix86_unary_operator_ok (NEG, SImode, operands)
21833 : && mode_signbit_p (SImode, operands[2])))
21834 : return -1;
21835 : return 1025; /* *negvsi3 */
21836 :
21837 : case E_DImode:
21838 : if (pattern1678 (x9,
21839 : E_DImode) != 0
21840 : || !(
21841 : #line 14877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21842 : (ix86_unary_operator_ok (NEG, DImode, operands)
21843 : && mode_signbit_p (DImode, operands[2])) &&
21844 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21845 : (TARGET_64BIT)))
21846 : return -1;
21847 : return 1026; /* *negvdi3 */
21848 :
21849 : default:
21850 : return -1;
21851 : }
21852 :
21853 : case AND:
21854 : x12 = XEXP (x7, 1);
21855 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
21856 : || XWINT (x8, 0) != 0L)
21857 : return -1;
21858 : x4 = XVECEXP (x1, 0, 1);
21859 : if (GET_CODE (x4) != SET
21860 : || GET_MODE (x6) != E_CCCmode
21861 : || GET_MODE (x3) != E_CCCmode)
21862 : return -1;
21863 : x13 = XEXP (x7, 0);
21864 : operands[1] = x13;
21865 : x10 = XEXP (x4, 0);
21866 : operands[0] = x10;
21867 : x9 = XEXP (x4, 1);
21868 : switch (GET_CODE (x9))
21869 : {
21870 : case LSHIFTRT:
21871 : switch (pattern1634 (x1))
21872 : {
21873 : case 0:
21874 : return 1419; /* lshrsi3_carry */
21875 :
21876 : case 1:
21877 : if (!
21878 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21879 : (TARGET_64BIT))
21880 : return -1;
21881 : return 1421; /* lshrdi3_carry */
21882 :
21883 : default:
21884 : return -1;
21885 : }
21886 :
21887 : case ASHIFTRT:
21888 : switch (pattern1634 (x1))
21889 : {
21890 : case 0:
21891 : return 1420; /* ashrsi3_carry */
21892 :
21893 : case 1:
21894 : if (!
21895 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21896 : (TARGET_64BIT))
21897 : return -1;
21898 : return 1422; /* ashrdi3_carry */
21899 :
21900 : default:
21901 : return -1;
21902 : }
21903 :
21904 : default:
21905 : return -1;
21906 : }
21907 :
21908 : default:
21909 : return -1;
21910 : }
21911 :
21912 : case 99:
21913 : if (pattern348 (x1) != 0)
21914 : return -1;
21915 : x7 = XVECEXP (x3, 0, 0);
21916 : operands[1] = x7;
21917 : x8 = XVECEXP (x3, 0, 1);
21918 : operands[2] = x8;
21919 : switch (GET_MODE (operands[0]))
21920 : {
21921 : case E_SImode:
21922 : if (pattern1430 (x3,
21923 : E_SImode) != 0
21924 : || !
21925 : #line 22108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21926 : (TARGET_BMI))
21927 : return -1;
21928 : return 1600; /* bmi_bextr_si */
21929 :
21930 : case E_DImode:
21931 : if (pattern1430 (x3,
21932 : E_DImode) != 0
21933 : || !(
21934 : #line 22108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21935 : (TARGET_BMI) &&
21936 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21937 : (TARGET_64BIT)))
21938 : return -1;
21939 : return 1601; /* bmi_bextr_di */
21940 :
21941 : default:
21942 : return -1;
21943 : }
21944 :
21945 : case 67:
21946 : if (GET_MODE (x3) != E_XFmode)
21947 : return -1;
21948 : x4 = XVECEXP (x1, 0, 1);
21949 : if (GET_CODE (x4) != CLOBBER)
21950 : return -1;
21951 : x6 = XEXP (x2, 0);
21952 : operands[0] = x6;
21953 : if (!register_operand (operands[0], E_XFmode))
21954 : return -1;
21955 : x7 = XVECEXP (x3, 0, 0);
21956 : operands[2] = x7;
21957 : if (!register_operand (operands[2], E_XFmode))
21958 : return -1;
21959 : x8 = XVECEXP (x3, 0, 1);
21960 : operands[1] = x8;
21961 : if (!register_operand (operands[1], E_XFmode))
21962 : return -1;
21963 : x10 = XEXP (x4, 0);
21964 : operands[3] = x10;
21965 : if (!scratch_operand (operands[3], E_XFmode)
21966 : || !
21967 : #line 24515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21968 : (TARGET_USE_FANCY_MATH_387
21969 : && flag_unsafe_math_optimizations))
21970 : return -1;
21971 : return 1755; /* atan2xf3 */
21972 :
21973 : case 68:
21974 : if (pattern554 (x1) != 0
21975 : || !
21976 : #line 24818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21977 : (TARGET_USE_FANCY_MATH_387
21978 : && flag_unsafe_math_optimizations))
21979 : return -1;
21980 : return 1756; /* fyl2xxf3_i387 */
21981 :
21982 : case 69:
21983 : if (pattern554 (x1) != 0
21984 : || !
21985 : #line 24915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21986 : (TARGET_USE_FANCY_MATH_387
21987 : && flag_unsafe_math_optimizations))
21988 : return -1;
21989 : return 1757; /* fyl2xp1xf3_i387 */
21990 :
21991 : case 85:
21992 : if (GET_MODE (x3) != E_XFmode)
21993 : return -1;
21994 : x4 = XVECEXP (x1, 0, 1);
21995 : if (GET_CODE (x4) != SET)
21996 : return -1;
21997 : x9 = XEXP (x4, 1);
21998 : if (pattern824 (x9,
21999 : E_XFmode,
22000 : 86,
22001 : 2,
22002 : UNSPEC) != 0)
22003 : return -1;
22004 : x6 = XEXP (x2, 0);
22005 : operands[0] = x6;
22006 : if (!register_operand (operands[0], E_XFmode)
22007 : || pattern1431 (x1) != 0
22008 : || !
22009 : #line 25050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22010 : (TARGET_USE_FANCY_MATH_387
22011 : && flag_unsafe_math_optimizations))
22012 : return -1;
22013 : return 1760; /* fscalexf4_i387 */
22014 :
22015 : case 94:
22016 : if (GET_MODE (x3) != E_CCZmode)
22017 : return -1;
22018 : x4 = XVECEXP (x1, 0, 1);
22019 : if (GET_CODE (x4) != CLOBBER)
22020 : return -1;
22021 : x6 = XEXP (x2, 0);
22022 : operands[0] = x6;
22023 : if (!flags_reg_operand (operands[0], E_CCZmode))
22024 : return -1;
22025 : x7 = XVECEXP (x3, 0, 0);
22026 : operands[1] = x7;
22027 : x8 = XVECEXP (x3, 0, 1);
22028 : operands[2] = x8;
22029 : x10 = XEXP (x4, 0);
22030 : operands[3] = x10;
22031 : switch (GET_MODE (operands[1]))
22032 : {
22033 : case E_SImode:
22034 : if (!memory_operand (operands[1], E_SImode)
22035 : || !memory_operand (operands[2], E_SImode)
22036 : || !scratch_operand (operands[3], E_SImode)
22037 : || !
22038 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22039 : (ptr_mode == SImode))
22040 : return -1;
22041 : return 1936; /* stack_protect_test_1_si */
22042 :
22043 : case E_DImode:
22044 : if (!memory_operand (operands[1], E_DImode)
22045 : || !memory_operand (operands[2], E_DImode)
22046 : || !scratch_operand (operands[3], E_DImode)
22047 : || !
22048 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22049 : (ptr_mode == DImode))
22050 : return -1;
22051 : return 1937; /* stack_protect_test_1_di */
22052 :
22053 : default:
22054 : return -1;
22055 : }
22056 :
22057 : case 64:
22058 : if (pattern555 (x1) != 0
22059 : || !
22060 : #line 913 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
22061 : (TARGET_3DNOW))
22062 : return -1;
22063 : return 2113; /* mmx_ieee_maxv2sf3 */
22064 :
22065 : case 63:
22066 : if (pattern555 (x1) != 0
22067 : || !
22068 : #line 913 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
22069 : (TARGET_3DNOW))
22070 : return -1;
22071 : return 2114; /* mmx_ieee_minv2sf3 */
22072 :
22073 : case 161:
22074 : x6 = XEXP (x2, 0);
22075 : if (GET_CODE (x6) != MEM)
22076 : return -1;
22077 : operands[5] = x6;
22078 : x14 = XEXP (x6, 0);
22079 : if (GET_CODE (x14) != UNSPEC
22080 : || XVECLEN (x14, 0) != 4
22081 : || XINT (x14, 1) != 155)
22082 : return -1;
22083 : x4 = XVECEXP (x1, 0, 1);
22084 : if (GET_CODE (x4) != CLOBBER)
22085 : return -1;
22086 : x15 = XVECEXP (x14, 0, 0);
22087 : operands[0] = x15;
22088 : x16 = XVECEXP (x14, 0, 1);
22089 : operands[2] = x16;
22090 : x17 = XVECEXP (x14, 0, 2);
22091 : operands[4] = x17;
22092 : if (!const1248_operand (operands[4], E_SImode))
22093 : return -1;
22094 : x18 = XVECEXP (x14, 0, 3);
22095 : operands[6] = x18;
22096 : x8 = XVECEXP (x3, 0, 1);
22097 : operands[3] = x8;
22098 : x10 = XEXP (x4, 0);
22099 : operands[1] = x10;
22100 : x7 = XVECEXP (x3, 0, 0);
22101 : if (!rtx_equal_p (x7, operands[6]))
22102 : return -1;
22103 : switch (GET_MODE (operands[5]))
22104 : {
22105 : case E_V16SImode:
22106 : if (!vsib_mem_operator (operands[5], E_V16SImode)
22107 : || GET_MODE (x3) != E_V16SImode)
22108 : return -1;
22109 : switch (GET_MODE (x14))
22110 : {
22111 : case E_SImode:
22112 : switch (pattern1794 (
22113 : E_SImode))
22114 : {
22115 : case 0:
22116 : if (!(
22117 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22118 : (TARGET_AVX512F) &&
22119 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22120 : (Pmode == SImode)))
22121 : return -1;
22122 : return 9911; /* *avx512f_scattersiv16si */
22123 :
22124 : case 1:
22125 : if (!(
22126 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22127 : (TARGET_AVX512F) &&
22128 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22129 : (Pmode == SImode)))
22130 : return -1;
22131 : return 9935; /* *avx512f_scatterdiv16si */
22132 :
22133 : default:
22134 : return -1;
22135 : }
22136 :
22137 : case E_DImode:
22138 : switch (pattern1794 (
22139 : E_DImode))
22140 : {
22141 : case 0:
22142 : if (!(
22143 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22144 : (TARGET_AVX512F) &&
22145 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22146 : (Pmode == DImode)))
22147 : return -1;
22148 : return 9923; /* *avx512f_scattersiv16si */
22149 :
22150 : case 1:
22151 : if (!(
22152 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22153 : (TARGET_AVX512F) &&
22154 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22155 : (Pmode == DImode)))
22156 : return -1;
22157 : return 9947; /* *avx512f_scatterdiv16si */
22158 :
22159 : default:
22160 : return -1;
22161 : }
22162 :
22163 : default:
22164 : return -1;
22165 : }
22166 :
22167 : case E_V16SFmode:
22168 : if (!vsib_mem_operator (operands[5], E_V16SFmode)
22169 : || GET_MODE (x3) != E_V16SFmode)
22170 : return -1;
22171 : switch (GET_MODE (x14))
22172 : {
22173 : case E_SImode:
22174 : switch (pattern1795 (
22175 : E_SImode))
22176 : {
22177 : case 0:
22178 : if (!(
22179 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22180 : (TARGET_AVX512F) &&
22181 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22182 : (Pmode == SImode)))
22183 : return -1;
22184 : return 9912; /* *avx512f_scattersiv16sf */
22185 :
22186 : case 1:
22187 : if (!(
22188 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22189 : (TARGET_AVX512F) &&
22190 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22191 : (Pmode == SImode)))
22192 : return -1;
22193 : return 9936; /* *avx512f_scatterdiv16sf */
22194 :
22195 : default:
22196 : return -1;
22197 : }
22198 :
22199 : case E_DImode:
22200 : switch (pattern1795 (
22201 : E_DImode))
22202 : {
22203 : case 0:
22204 : if (!(
22205 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22206 : (TARGET_AVX512F) &&
22207 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22208 : (Pmode == DImode)))
22209 : return -1;
22210 : return 9924; /* *avx512f_scattersiv16sf */
22211 :
22212 : case 1:
22213 : if (!(
22214 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22215 : (TARGET_AVX512F) &&
22216 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22217 : (Pmode == DImode)))
22218 : return -1;
22219 : return 9948; /* *avx512f_scatterdiv16sf */
22220 :
22221 : default:
22222 : return -1;
22223 : }
22224 :
22225 : default:
22226 : return -1;
22227 : }
22228 :
22229 : case E_V8DImode:
22230 : switch (pattern1730 (x2,
22231 : E_V8DImode))
22232 : {
22233 : case 0:
22234 : if (!(
22235 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22236 : (TARGET_AVX512F) &&
22237 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22238 : (Pmode == SImode)))
22239 : return -1;
22240 : return 9913; /* *avx512f_scattersiv8di */
22241 :
22242 : case 1:
22243 : if (!(
22244 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22245 : (TARGET_AVX512F) &&
22246 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22247 : (Pmode == SImode)))
22248 : return -1;
22249 : return 9937; /* *avx512f_scatterdiv8di */
22250 :
22251 : case 2:
22252 : if (!(
22253 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22254 : (TARGET_AVX512F) &&
22255 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22256 : (Pmode == DImode)))
22257 : return -1;
22258 : return 9925; /* *avx512f_scattersiv8di */
22259 :
22260 : case 3:
22261 : if (!(
22262 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22263 : (TARGET_AVX512F) &&
22264 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22265 : (Pmode == DImode)))
22266 : return -1;
22267 : return 9949; /* *avx512f_scatterdiv8di */
22268 :
22269 : default:
22270 : return -1;
22271 : }
22272 :
22273 : case E_V8DFmode:
22274 : switch (pattern1730 (x2,
22275 : E_V8DFmode))
22276 : {
22277 : case 0:
22278 : if (!(
22279 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22280 : (TARGET_AVX512F) &&
22281 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22282 : (Pmode == SImode)))
22283 : return -1;
22284 : return 9914; /* *avx512f_scattersiv8df */
22285 :
22286 : case 1:
22287 : if (!(
22288 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22289 : (TARGET_AVX512F) &&
22290 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22291 : (Pmode == SImode)))
22292 : return -1;
22293 : return 9938; /* *avx512f_scatterdiv8df */
22294 :
22295 : case 2:
22296 : if (!(
22297 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22298 : (TARGET_AVX512F) &&
22299 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22300 : (Pmode == DImode)))
22301 : return -1;
22302 : return 9926; /* *avx512f_scattersiv8df */
22303 :
22304 : case 3:
22305 : if (!(
22306 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22307 : (TARGET_AVX512F) &&
22308 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22309 : (Pmode == DImode)))
22310 : return -1;
22311 : return 9950; /* *avx512f_scatterdiv8df */
22312 :
22313 : default:
22314 : return -1;
22315 : }
22316 :
22317 : case E_V8SImode:
22318 : switch (pattern1731 (x2,
22319 : E_V8SImode))
22320 : {
22321 : case 0:
22322 : switch (pattern1847 (
22323 : E_SImode))
22324 : {
22325 : case 0:
22326 : if (!(
22327 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22328 : (TARGET_AVX512F) && ((((
22329 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22330 : (TARGET_AVX512VL) &&
22331 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22332 : (Pmode == SImode)) &&
22333 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22334 : (Pmode == SImode)) &&
22335 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22336 : (TARGET_AVX512VL)) &&
22337 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22338 : (TARGET_AVX512VL))))
22339 : return -1;
22340 : return 9915; /* *avx512f_scattersiv8si */
22341 :
22342 : case 1:
22343 : if (!(
22344 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22345 : (TARGET_AVX512F) && (((
22346 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22347 : (TARGET_AVX512VL) &&
22348 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22349 : (Pmode == SImode)) &&
22350 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22351 : (Pmode == SImode)) &&
22352 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22353 : (TARGET_AVX512VL))))
22354 : return -1;
22355 : return 9939; /* *avx512f_scatterdiv8si */
22356 :
22357 : default:
22358 : return -1;
22359 : }
22360 :
22361 : case 1:
22362 : switch (pattern1847 (
22363 : E_DImode))
22364 : {
22365 : case 0:
22366 : if (!(
22367 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22368 : (TARGET_AVX512F) && ((((
22369 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22370 : (TARGET_AVX512VL) &&
22371 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22372 : (Pmode == DImode)) &&
22373 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22374 : (Pmode == DImode)) &&
22375 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22376 : (TARGET_AVX512VL)) &&
22377 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22378 : (TARGET_AVX512VL))))
22379 : return -1;
22380 : return 9927; /* *avx512f_scattersiv8si */
22381 :
22382 : case 1:
22383 : if (!(
22384 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22385 : (TARGET_AVX512F) && (((
22386 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22387 : (TARGET_AVX512VL) &&
22388 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22389 : (Pmode == DImode)) &&
22390 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22391 : (Pmode == DImode)) &&
22392 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22393 : (TARGET_AVX512VL))))
22394 : return -1;
22395 : return 9951; /* *avx512f_scatterdiv8si */
22396 :
22397 : default:
22398 : return -1;
22399 : }
22400 :
22401 : default:
22402 : return -1;
22403 : }
22404 :
22405 : case E_V8SFmode:
22406 : switch (pattern1731 (x2,
22407 : E_V8SFmode))
22408 : {
22409 : case 0:
22410 : switch (pattern1848 (
22411 : E_SImode))
22412 : {
22413 : case 0:
22414 : if (!(
22415 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22416 : (TARGET_AVX512F) && ((((
22417 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22418 : (TARGET_AVX512VL) &&
22419 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22420 : (Pmode == SImode)) &&
22421 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22422 : (Pmode == SImode)) &&
22423 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22424 : (TARGET_AVX512VL)) &&
22425 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22426 : (TARGET_AVX512VL))))
22427 : return -1;
22428 : return 9916; /* *avx512f_scattersiv8sf */
22429 :
22430 : case 1:
22431 : if (!(
22432 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22433 : (TARGET_AVX512F) && (((
22434 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22435 : (TARGET_AVX512VL) &&
22436 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22437 : (Pmode == SImode)) &&
22438 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22439 : (Pmode == SImode)) &&
22440 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22441 : (TARGET_AVX512VL))))
22442 : return -1;
22443 : return 9940; /* *avx512f_scatterdiv8sf */
22444 :
22445 : default:
22446 : return -1;
22447 : }
22448 :
22449 : case 1:
22450 : switch (pattern1848 (
22451 : E_DImode))
22452 : {
22453 : case 0:
22454 : if (!(
22455 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22456 : (TARGET_AVX512F) && ((((
22457 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22458 : (TARGET_AVX512VL) &&
22459 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22460 : (Pmode == DImode)) &&
22461 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22462 : (Pmode == DImode)) &&
22463 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22464 : (TARGET_AVX512VL)) &&
22465 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22466 : (TARGET_AVX512VL))))
22467 : return -1;
22468 : return 9928; /* *avx512f_scattersiv8sf */
22469 :
22470 : case 1:
22471 : if (!(
22472 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22473 : (TARGET_AVX512F) && (((
22474 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22475 : (TARGET_AVX512VL) &&
22476 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22477 : (Pmode == DImode)) &&
22478 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22479 : (Pmode == DImode)) &&
22480 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22481 : (TARGET_AVX512VL))))
22482 : return -1;
22483 : return 9952; /* *avx512f_scatterdiv8sf */
22484 :
22485 : default:
22486 : return -1;
22487 : }
22488 :
22489 : default:
22490 : return -1;
22491 : }
22492 :
22493 : case E_V4DImode:
22494 : switch (pattern1733 (x2,
22495 : E_V4DImode))
22496 : {
22497 : case 0:
22498 : if (!(
22499 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22500 : (TARGET_AVX512F) && ((((
22501 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22502 : (TARGET_AVX512VL) &&
22503 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22504 : (Pmode == SImode)) &&
22505 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22506 : (Pmode == SImode)) &&
22507 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22508 : (TARGET_AVX512VL)) &&
22509 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22510 : (TARGET_AVX512VL))))
22511 : return -1;
22512 : return 9917; /* *avx512f_scattersiv4di */
22513 :
22514 : case 1:
22515 : if (!(
22516 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22517 : (TARGET_AVX512F) && (((
22518 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22519 : (TARGET_AVX512VL) &&
22520 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22521 : (Pmode == SImode)) &&
22522 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22523 : (Pmode == SImode)) &&
22524 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22525 : (TARGET_AVX512VL))))
22526 : return -1;
22527 : return 9941; /* *avx512f_scatterdiv4di */
22528 :
22529 : case 2:
22530 : if (!(
22531 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22532 : (TARGET_AVX512F) && ((((
22533 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22534 : (TARGET_AVX512VL) &&
22535 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22536 : (Pmode == DImode)) &&
22537 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22538 : (Pmode == DImode)) &&
22539 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22540 : (TARGET_AVX512VL)) &&
22541 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22542 : (TARGET_AVX512VL))))
22543 : return -1;
22544 : return 9929; /* *avx512f_scattersiv4di */
22545 :
22546 : case 3:
22547 : if (!(
22548 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22549 : (TARGET_AVX512F) && (((
22550 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22551 : (TARGET_AVX512VL) &&
22552 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22553 : (Pmode == DImode)) &&
22554 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22555 : (Pmode == DImode)) &&
22556 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22557 : (TARGET_AVX512VL))))
22558 : return -1;
22559 : return 9953; /* *avx512f_scatterdiv4di */
22560 :
22561 : default:
22562 : return -1;
22563 : }
22564 :
22565 : case E_V4DFmode:
22566 : switch (pattern1733 (x2,
22567 : E_V4DFmode))
22568 : {
22569 : case 0:
22570 : if (!(
22571 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22572 : (TARGET_AVX512F) && ((((
22573 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22574 : (TARGET_AVX512VL) &&
22575 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22576 : (Pmode == SImode)) &&
22577 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22578 : (Pmode == SImode)) &&
22579 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22580 : (TARGET_AVX512VL)) &&
22581 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22582 : (TARGET_AVX512VL))))
22583 : return -1;
22584 : return 9918; /* *avx512f_scattersiv4df */
22585 :
22586 : case 1:
22587 : if (!(
22588 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22589 : (TARGET_AVX512F) && (((
22590 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22591 : (TARGET_AVX512VL) &&
22592 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22593 : (Pmode == SImode)) &&
22594 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22595 : (Pmode == SImode)) &&
22596 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22597 : (TARGET_AVX512VL))))
22598 : return -1;
22599 : return 9942; /* *avx512f_scatterdiv4df */
22600 :
22601 : case 2:
22602 : if (!(
22603 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22604 : (TARGET_AVX512F) && ((((
22605 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22606 : (TARGET_AVX512VL) &&
22607 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22608 : (Pmode == DImode)) &&
22609 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22610 : (Pmode == DImode)) &&
22611 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22612 : (TARGET_AVX512VL)) &&
22613 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22614 : (TARGET_AVX512VL))))
22615 : return -1;
22616 : return 9930; /* *avx512f_scattersiv4df */
22617 :
22618 : case 3:
22619 : if (!(
22620 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22621 : (TARGET_AVX512F) && (((
22622 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22623 : (TARGET_AVX512VL) &&
22624 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22625 : (Pmode == DImode)) &&
22626 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22627 : (Pmode == DImode)) &&
22628 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22629 : (TARGET_AVX512VL))))
22630 : return -1;
22631 : return 9954; /* *avx512f_scatterdiv4df */
22632 :
22633 : default:
22634 : return -1;
22635 : }
22636 :
22637 : case E_V4SImode:
22638 : switch (pattern1735 (x2,
22639 : E_V4SImode))
22640 : {
22641 : case 0:
22642 : if (!(
22643 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22644 : (TARGET_AVX512F) && ((((
22645 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22646 : (TARGET_AVX512VL) &&
22647 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22648 : (Pmode == SImode)) &&
22649 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22650 : (Pmode == SImode)) &&
22651 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22652 : (TARGET_AVX512VL)) &&
22653 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22654 : (TARGET_AVX512VL))))
22655 : return -1;
22656 : return 9919; /* *avx512f_scattersiv4si */
22657 :
22658 : case 1:
22659 : if (!(
22660 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22661 : (TARGET_AVX512F) && (((
22662 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22663 : (TARGET_AVX512VL) &&
22664 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22665 : (Pmode == SImode)) &&
22666 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22667 : (Pmode == SImode)) &&
22668 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22669 : (TARGET_AVX512VL))))
22670 : return -1;
22671 : return 9943; /* *avx512f_scatterdiv4si */
22672 :
22673 : case 2:
22674 : if (!(
22675 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22676 : (TARGET_AVX512F) && ((((
22677 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22678 : (TARGET_AVX512VL) &&
22679 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22680 : (Pmode == DImode)) &&
22681 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22682 : (Pmode == DImode)) &&
22683 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22684 : (TARGET_AVX512VL)) &&
22685 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22686 : (TARGET_AVX512VL))))
22687 : return -1;
22688 : return 9931; /* *avx512f_scattersiv4si */
22689 :
22690 : case 3:
22691 : if (!(
22692 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22693 : (TARGET_AVX512F) && (((
22694 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22695 : (TARGET_AVX512VL) &&
22696 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22697 : (Pmode == DImode)) &&
22698 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22699 : (Pmode == DImode)) &&
22700 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22701 : (TARGET_AVX512VL))))
22702 : return -1;
22703 : return 9955; /* *avx512f_scatterdiv4si */
22704 :
22705 : default:
22706 : return -1;
22707 : }
22708 :
22709 : case E_V4SFmode:
22710 : switch (pattern1735 (x2,
22711 : E_V4SFmode))
22712 : {
22713 : case 0:
22714 : if (!(
22715 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22716 : (TARGET_AVX512F) && ((((
22717 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22718 : (TARGET_AVX512VL) &&
22719 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22720 : (Pmode == SImode)) &&
22721 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22722 : (Pmode == SImode)) &&
22723 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22724 : (TARGET_AVX512VL)) &&
22725 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22726 : (TARGET_AVX512VL))))
22727 : return -1;
22728 : return 9920; /* *avx512f_scattersiv4sf */
22729 :
22730 : case 1:
22731 : if (!(
22732 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22733 : (TARGET_AVX512F) && (((
22734 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22735 : (TARGET_AVX512VL) &&
22736 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22737 : (Pmode == SImode)) &&
22738 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22739 : (Pmode == SImode)) &&
22740 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22741 : (TARGET_AVX512VL))))
22742 : return -1;
22743 : return 9944; /* *avx512f_scatterdiv4sf */
22744 :
22745 : case 2:
22746 : if (!(
22747 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22748 : (TARGET_AVX512F) && ((((
22749 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22750 : (TARGET_AVX512VL) &&
22751 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22752 : (Pmode == DImode)) &&
22753 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22754 : (Pmode == DImode)) &&
22755 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22756 : (TARGET_AVX512VL)) &&
22757 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22758 : (TARGET_AVX512VL))))
22759 : return -1;
22760 : return 9932; /* *avx512f_scattersiv4sf */
22761 :
22762 : case 3:
22763 : if (!(
22764 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22765 : (TARGET_AVX512F) && (((
22766 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22767 : (TARGET_AVX512VL) &&
22768 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22769 : (Pmode == DImode)) &&
22770 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22771 : (Pmode == DImode)) &&
22772 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22773 : (TARGET_AVX512VL))))
22774 : return -1;
22775 : return 9956; /* *avx512f_scatterdiv4sf */
22776 :
22777 : default:
22778 : return -1;
22779 : }
22780 :
22781 : case E_V2DImode:
22782 : switch (pattern1735 (x2,
22783 : E_V2DImode))
22784 : {
22785 : case 0:
22786 : if (!(
22787 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22788 : (TARGET_AVX512F) && ((((
22789 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22790 : (TARGET_AVX512VL) &&
22791 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22792 : (Pmode == SImode)) &&
22793 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22794 : (Pmode == SImode)) &&
22795 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22796 : (TARGET_AVX512VL)) &&
22797 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22798 : (TARGET_AVX512VL))))
22799 : return -1;
22800 : return 9921; /* *avx512f_scattersiv2di */
22801 :
22802 : case 1:
22803 : if (!(
22804 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22805 : (TARGET_AVX512F) && (((
22806 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22807 : (TARGET_AVX512VL) &&
22808 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22809 : (Pmode == SImode)) &&
22810 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22811 : (Pmode == SImode)) &&
22812 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22813 : (TARGET_AVX512VL))))
22814 : return -1;
22815 : return 9945; /* *avx512f_scatterdiv2di */
22816 :
22817 : case 2:
22818 : if (!(
22819 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22820 : (TARGET_AVX512F) && ((((
22821 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22822 : (TARGET_AVX512VL) &&
22823 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22824 : (Pmode == DImode)) &&
22825 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22826 : (Pmode == DImode)) &&
22827 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22828 : (TARGET_AVX512VL)) &&
22829 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22830 : (TARGET_AVX512VL))))
22831 : return -1;
22832 : return 9933; /* *avx512f_scattersiv2di */
22833 :
22834 : case 3:
22835 : if (!(
22836 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22837 : (TARGET_AVX512F) && (((
22838 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22839 : (TARGET_AVX512VL) &&
22840 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22841 : (Pmode == DImode)) &&
22842 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22843 : (Pmode == DImode)) &&
22844 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22845 : (TARGET_AVX512VL))))
22846 : return -1;
22847 : return 9957; /* *avx512f_scatterdiv2di */
22848 :
22849 : default:
22850 : return -1;
22851 : }
22852 :
22853 : case E_V2DFmode:
22854 : switch (pattern1735 (x2,
22855 : E_V2DFmode))
22856 : {
22857 : case 0:
22858 : if (!(
22859 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22860 : (TARGET_AVX512F) && ((((
22861 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22862 : (TARGET_AVX512VL) &&
22863 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22864 : (Pmode == SImode)) &&
22865 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22866 : (Pmode == SImode)) &&
22867 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22868 : (TARGET_AVX512VL)) &&
22869 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22870 : (TARGET_AVX512VL))))
22871 : return -1;
22872 : return 9922; /* *avx512f_scattersiv2df */
22873 :
22874 : case 1:
22875 : if (!(
22876 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22877 : (TARGET_AVX512F) && (((
22878 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22879 : (TARGET_AVX512VL) &&
22880 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22881 : (Pmode == SImode)) &&
22882 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22883 : (Pmode == SImode)) &&
22884 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22885 : (TARGET_AVX512VL))))
22886 : return -1;
22887 : return 9946; /* *avx512f_scatterdiv2df */
22888 :
22889 : case 2:
22890 : if (!(
22891 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22892 : (TARGET_AVX512F) && ((((
22893 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22894 : (TARGET_AVX512VL) &&
22895 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22896 : (Pmode == DImode)) &&
22897 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22898 : (Pmode == DImode)) &&
22899 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22900 : (TARGET_AVX512VL)) &&
22901 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22902 : (TARGET_AVX512VL))))
22903 : return -1;
22904 : return 9934; /* *avx512f_scattersiv2df */
22905 :
22906 : case 3:
22907 : if (!(
22908 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22909 : (TARGET_AVX512F) && (((
22910 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22911 : (TARGET_AVX512VL) &&
22912 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22913 : (Pmode == DImode)) &&
22914 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22915 : (Pmode == DImode)) &&
22916 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22917 : (TARGET_AVX512VL))))
22918 : return -1;
22919 : return 9958; /* *avx512f_scatterdiv2df */
22920 :
22921 : default:
22922 : return -1;
22923 : }
22924 :
22925 : default:
22926 : return -1;
22927 : }
22928 :
22929 : default:
22930 : return -1;
22931 : }
22932 : }
22933 :
22934 : int
22935 : recog_405 (rtx x1 ATTRIBUTE_UNUSED,
22936 : rtx_insn *insn ATTRIBUTE_UNUSED,
22937 : int *pnum_clobbers ATTRIBUTE_UNUSED)
22938 : {
22939 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22940 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22941 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
22942 : rtx x18, x19;
22943 : int res ATTRIBUTE_UNUSED;
22944 : x2 = XVECEXP (x1, 0, 0);
22945 : x3 = XEXP (x2, 1);
22946 : x4 = XEXP (x3, 0);
22947 : switch (GET_CODE (x4))
22948 : {
22949 : case NE:
22950 : case EQ:
22951 : if (bt_comparison_operator (x4, E_VOIDmode))
22952 : {
22953 : res = recog_404 (x1, insn, pnum_clobbers);
22954 : if (res >= 0)
22955 : return res;
22956 : }
22957 : if (GET_CODE (x4) != NE)
22958 : return -1;
22959 : x5 = XEXP (x4, 1);
22960 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22961 : return -1;
22962 : x6 = XEXP (x4, 0);
22963 : switch (GET_CODE (x6))
22964 : {
22965 : case REG:
22966 : case SUBREG:
22967 : operands[2] = x6;
22968 : if (!register_operand (operands[2], E_QImode))
22969 : return -1;
22970 : x7 = XEXP (x3, 1);
22971 : if (GET_CODE (x7) != ZERO_EXTRACT)
22972 : return -1;
22973 : x8 = XEXP (x7, 1);
22974 : if (GET_CODE (x8) != UMIN
22975 : || GET_MODE (x8) != E_QImode)
22976 : return -1;
22977 : x9 = XEXP (x7, 2);
22978 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22979 : return -1;
22980 : x10 = XEXP (x3, 2);
22981 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
22982 : || pattern344 (x1) != 0
22983 : || GET_MODE (x4) != E_QImode)
22984 : return -1;
22985 : x11 = XEXP (x7, 0);
22986 : operands[1] = x11;
22987 : x12 = XEXP (x8, 1);
22988 : operands[3] = x12;
22989 : if (!const_int_operand (operands[3], E_QImode))
22990 : return -1;
22991 : x13 = XEXP (x8, 0);
22992 : if (!rtx_equal_p (x13, operands[2]))
22993 : return -1;
22994 : switch (GET_MODE (operands[0]))
22995 : {
22996 : case E_SImode:
22997 : if (pattern1441 (x3,
22998 : E_SImode) != 0
22999 : || !
23000 : #line 22410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23001 : (TARGET_BMI2 && INTVAL (operands[3]) == 4 * BITS_PER_UNIT))
23002 : return -1;
23003 : return 1624; /* *bmi2_bzhi_si3 */
23004 :
23005 : case E_DImode:
23006 : if (pattern1441 (x3,
23007 : E_DImode) != 0
23008 : || !(
23009 : #line 22410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23010 : (TARGET_BMI2 && INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
23011 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23012 : (TARGET_64BIT)))
23013 : return -1;
23014 : return 1625; /* *bmi2_bzhi_di3 */
23015 :
23016 : default:
23017 : return -1;
23018 : }
23019 :
23020 : case UNSPEC:
23021 : if (XVECLEN (x6, 0) != 1
23022 : || XINT (x6, 1) != 36)
23023 : return -1;
23024 : x14 = XVECEXP (x6, 0, 0);
23025 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23026 : return -1;
23027 : x7 = XEXP (x3, 1);
23028 : if (GET_CODE (x7) != LABEL_REF)
23029 : return -1;
23030 : x10 = XEXP (x3, 2);
23031 : if (GET_CODE (x10) != PC)
23032 : return -1;
23033 : x15 = XEXP (x2, 0);
23034 : if (GET_CODE (x15) != PC)
23035 : return -1;
23036 : x16 = XVECEXP (x1, 0, 1);
23037 : if (GET_CODE (x16) != SET)
23038 : return -1;
23039 : x17 = XEXP (x16, 1);
23040 : if (pattern824 (x17,
23041 : E_SImode,
23042 : 46,
23043 : 1,
23044 : UNSPEC_VOLATILE) != 0)
23045 : return -1;
23046 : x11 = XEXP (x7, 0);
23047 : operands[1] = x11;
23048 : x18 = XEXP (x16, 0);
23049 : operands[0] = x18;
23050 : if (!register_operand (operands[0], E_SImode))
23051 : return -1;
23052 : x19 = XVECEXP (x17, 0, 0);
23053 : if (!rtx_equal_p (x19, operands[0])
23054 : || !
23055 : #line 30342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23056 : (TARGET_RTM))
23057 : return -1;
23058 : return 2022; /* xbegin_1 */
23059 :
23060 : default:
23061 : return -1;
23062 : }
23063 :
23064 : case LTU:
23065 : case UNLT:
23066 : operands[1] = x4;
23067 : if (!ix86_carry_flag_operator (operands[1], E_VOIDmode))
23068 : return -1;
23069 : x6 = XEXP (x4, 0);
23070 : if (GET_CODE (x6) != REG
23071 : || REGNO (x6) != 17)
23072 : return -1;
23073 : x5 = XEXP (x4, 1);
23074 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23075 : return -1;
23076 : x7 = XEXP (x3, 1);
23077 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
23078 : return -1;
23079 : x10 = XEXP (x3, 2);
23080 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
23081 : || pattern344 (x1) != 0)
23082 : return -1;
23083 : switch (pattern1579 (x3))
23084 : {
23085 : case 0:
23086 : return 1829; /* *x86_movsicc_0_m1 */
23087 :
23088 : case 1:
23089 : if (!
23090 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23091 : (TARGET_64BIT))
23092 : return -1;
23093 : return 1830; /* *x86_movdicc_0_m1 */
23094 :
23095 : default:
23096 : return -1;
23097 : }
23098 :
23099 : default:
23100 : return -1;
23101 : }
23102 : }
23103 :
23104 : int
23105 : recog_411 (rtx x1 ATTRIBUTE_UNUSED,
23106 : rtx_insn *insn ATTRIBUTE_UNUSED,
23107 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23108 : {
23109 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23110 : rtx x2, x3, x4, x5;
23111 : int res ATTRIBUTE_UNUSED;
23112 : x2 = XVECEXP (x1, 0, 0);
23113 : x3 = XEXP (x2, 1);
23114 : x4 = XEXP (x3, 1);
23115 : operands[2] = x4;
23116 : x5 = XVECEXP (x1, 0, 1);
23117 : switch (pattern831 (x5))
23118 : {
23119 : case 0:
23120 : switch (GET_MODE (operands[0]))
23121 : {
23122 : case E_DImode:
23123 : if (pattern1444 (x3,
23124 : E_DImode) != 0)
23125 : return -1;
23126 : if ((
23127 : #line 13632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23128 : (TARGET_BMI) &&
23129 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23130 : (!TARGET_64BIT)))
23131 : return 837; /* *andndi3_doubleword_bmi */
23132 : if ((
23133 : #line 13650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23134 : (!TARGET_BMI
23135 : && ix86_pre_reload_split ()) &&
23136 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23137 : (!TARGET_64BIT)))
23138 : return 839; /* *andndi3_doubleword */
23139 : if (!(
23140 : #line 13666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23141 : (TARGET_BMI || TARGET_AVX512BW) &&
23142 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23143 : (TARGET_64BIT)))
23144 : return -1;
23145 : return 842; /* *andndi_1 */
23146 :
23147 : case E_TImode:
23148 : if (pattern1444 (x3,
23149 : E_TImode) != 0)
23150 : return -1;
23151 : if ((
23152 : #line 13632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23153 : (TARGET_BMI) &&
23154 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23155 : (TARGET_64BIT)))
23156 : return 838; /* *andnti3_doubleword_bmi */
23157 : if (!(
23158 : #line 13650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23159 : (!TARGET_BMI
23160 : && ix86_pre_reload_split ()) &&
23161 : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23162 : (TARGET_64BIT)))
23163 : return -1;
23164 : return 840; /* *andnti3_doubleword */
23165 :
23166 : case E_SImode:
23167 : if (pattern1444 (x3,
23168 : E_SImode) != 0
23169 : || !
23170 : #line 13666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23171 : (TARGET_BMI || TARGET_AVX512BW))
23172 : return -1;
23173 : return 841; /* *andnsi_1 */
23174 :
23175 : case E_QImode:
23176 : if (pattern1445 (x3,
23177 : E_QImode) != 0
23178 : || !
23179 : #line 13682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23180 : (TARGET_BMI || TARGET_AVX512BW))
23181 : return -1;
23182 : return 843; /* *andnqi_1 */
23183 :
23184 : case E_HImode:
23185 : if (pattern1445 (x3,
23186 : E_HImode) != 0
23187 : || !
23188 : #line 13682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23189 : (TARGET_BMI || TARGET_AVX512BW))
23190 : return -1;
23191 : return 844; /* *andnhi_1 */
23192 :
23193 : case E_V4QImode:
23194 : if (pattern1445 (x3,
23195 : E_V4QImode) != 0)
23196 : return -1;
23197 : return 2327; /* *andnotv4qi3 */
23198 :
23199 : case E_V2QImode:
23200 : if (pattern1445 (x3,
23201 : E_V2QImode) != 0)
23202 : return -1;
23203 : return 2328; /* *andnotv2qi3 */
23204 :
23205 : case E_V2HImode:
23206 : if (pattern1445 (x3,
23207 : E_V2HImode) != 0)
23208 : return -1;
23209 : return 2329; /* *andnotv2hi3 */
23210 :
23211 : default:
23212 : return -1;
23213 : }
23214 :
23215 : case 1:
23216 : if (pattern1445 (x3,
23217 : E_QImode) != 0
23218 : || !
23219 : #line 2163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23220 : (TARGET_AVX512F))
23221 : return -1;
23222 : return 2646; /* kandnqi */
23223 :
23224 : case 2:
23225 : if (pattern1445 (x3,
23226 : E_HImode) != 0
23227 : || !
23228 : #line 2163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23229 : (TARGET_AVX512F))
23230 : return -1;
23231 : return 2647; /* kandnhi */
23232 :
23233 : case 3:
23234 : if (pattern1445 (x3,
23235 : E_SImode) != 0
23236 : || !(
23237 : #line 2163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23238 : (TARGET_AVX512F) &&
23239 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23240 : (TARGET_AVX512BW)))
23241 : return -1;
23242 : return 2648; /* kandnsi */
23243 :
23244 : case 4:
23245 : if (pattern1445 (x3,
23246 : E_DImode) != 0
23247 : || !(
23248 : #line 2163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23249 : (TARGET_AVX512F) &&
23250 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23251 : (TARGET_AVX512BW)))
23252 : return -1;
23253 : return 2649; /* kandndi */
23254 :
23255 : default:
23256 : return -1;
23257 : }
23258 : }
23259 :
23260 : int
23261 : recog_414 (rtx x1 ATTRIBUTE_UNUSED,
23262 : rtx_insn *insn ATTRIBUTE_UNUSED,
23263 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23264 : {
23265 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23266 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23267 : rtx x10, x11, x12, x13;
23268 : int res ATTRIBUTE_UNUSED;
23269 : x2 = XVECEXP (x1, 0, 0);
23270 : x3 = XEXP (x2, 1);
23271 : x4 = XEXP (x3, 0);
23272 : switch (GET_CODE (x4))
23273 : {
23274 : case REG:
23275 : case SUBREG:
23276 : case MEM:
23277 : operands[1] = x4;
23278 : switch (pattern572 (x1))
23279 : {
23280 : case 0:
23281 : if (
23282 : #line 13083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23283 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23284 : return 755; /* *xorqi_1_slp */
23285 : break;
23286 :
23287 : case 1:
23288 : if (
23289 : #line 13083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23290 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23291 : return 758; /* *xorhi_1_slp */
23292 : break;
23293 :
23294 : case 2:
23295 : if (x86_64_hilo_general_operand (operands[2], E_DImode)
23296 : && (
23297 : #line 13847 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23298 : (ix86_binary_operator_ok (XOR, DImode, operands, TARGET_APX_NDD)) &&
23299 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23300 : (!TARGET_64BIT)))
23301 : return 848; /* *xordi3_doubleword */
23302 : if (x86_64_general_operand (operands[2], E_DImode)
23303 : && (
23304 : #line 13905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23305 : (ix86_binary_operator_ok (XOR, DImode, operands, TARGET_APX_NDD)
23306 : && true) &&
23307 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23308 : (TARGET_64BIT)))
23309 : return 862; /* *xordi_1 */
23310 : if (const_int_operand (operands[2], E_DImode)
23311 : &&
23312 : #line 13975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23313 : (TARGET_64BIT && TARGET_USE_BT
23314 : && ix86_binary_operator_ok (XOR, DImode, operands)
23315 : && IN_RANGE (exact_log2 (INTVAL (operands[2])), 31, 63)))
23316 : return 867; /* *xordi_1_btc */
23317 : break;
23318 :
23319 : case 3:
23320 : if ((
23321 : #line 13847 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23322 : (ix86_binary_operator_ok (XOR, TImode, operands, TARGET_APX_NDD)) &&
23323 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23324 : (TARGET_64BIT)))
23325 : return 850; /* *xorti3_doubleword */
23326 : break;
23327 :
23328 : case 4:
23329 : if (
23330 : #line 13905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23331 : (ix86_binary_operator_ok (XOR, HImode, operands, TARGET_APX_NDD)
23332 : && true))
23333 : return 854; /* *xorhi_1 */
23334 : break;
23335 :
23336 : case 5:
23337 : if (
23338 : #line 13905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23339 : (ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)
23340 : && true))
23341 : return 858; /* *xorsi_1 */
23342 : break;
23343 :
23344 : case 6:
23345 : if (
23346 : #line 4741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23347 : (ix86_binary_operator_ok (XOR, V4QImode, operands)))
23348 : return 2341; /* *xorv4qi3 */
23349 : break;
23350 :
23351 : case 7:
23352 : if (
23353 : #line 4741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23354 : (ix86_binary_operator_ok (XOR, V2QImode, operands)))
23355 : return 2344; /* *xorv2qi3 */
23356 : break;
23357 :
23358 : case 8:
23359 : if (
23360 : #line 4741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23361 : (ix86_binary_operator_ok (XOR, V2HImode, operands)))
23362 : return 2347; /* *xorv2hi3 */
23363 : break;
23364 :
23365 : case 9:
23366 : if (
23367 : #line 2117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23368 : (TARGET_AVX512F))
23369 : return 2636; /* kxorqi */
23370 : break;
23371 :
23372 : case 10:
23373 : if (
23374 : #line 2117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23375 : (TARGET_AVX512F))
23376 : return 2639; /* kxorhi */
23377 : break;
23378 :
23379 : case 11:
23380 : if ((
23381 : #line 2117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23382 : (TARGET_AVX512F) &&
23383 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23384 : (TARGET_AVX512BW)))
23385 : return 2642; /* kxorsi */
23386 : break;
23387 :
23388 : case 12:
23389 : if ((
23390 : #line 2117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23391 : (TARGET_AVX512F) &&
23392 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23393 : (TARGET_AVX512BW)))
23394 : return 2645; /* kxordi */
23395 : break;
23396 :
23397 : default:
23398 : break;
23399 : }
23400 : x5 = XVECEXP (x1, 0, 1);
23401 : if (GET_CODE (x5) != CLOBBER
23402 : || pattern573 (x1) != 0)
23403 : return -1;
23404 : if (GET_CODE (x4) == SUBREG
23405 : && known_eq (SUBREG_BYTE (x4), 0)
23406 : && GET_MODE (x4) == E_QImode)
23407 : {
23408 : res = recog_413 (x1, insn, pnum_clobbers);
23409 : if (res >= 0)
23410 : return res;
23411 : }
23412 : x6 = XEXP (x2, 0);
23413 : operands[0] = x6;
23414 : if (!nonimmediate_operand (operands[0], E_QImode))
23415 : return -1;
23416 : operands[1] = x4;
23417 : if (!nonimmediate_operand (operands[1], E_QImode))
23418 : return -1;
23419 : x7 = XEXP (x3, 1);
23420 : operands[2] = x7;
23421 : if (!general_operand (operands[2], E_QImode)
23422 : || !
23423 : #line 14095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23424 : (ix86_binary_operator_ok (XOR, QImode, operands, TARGET_APX_NDD)
23425 : && true))
23426 : return -1;
23427 : return 898; /* *xorqi_1 */
23428 :
23429 : case AND:
23430 : x8 = XEXP (x4, 0);
23431 : if (GET_CODE (x8) != XOR)
23432 : return -1;
23433 : x5 = XVECEXP (x1, 0, 1);
23434 : if (pattern355 (x5) != 0)
23435 : return -1;
23436 : switch (pattern1060 (x2))
23437 : {
23438 : case 0:
23439 : if (!
23440 : #line 14004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23441 : (TARGET_BMI && ix86_pre_reload_split ()))
23442 : return -1;
23443 : return 868; /* *xor2andn */
23444 :
23445 : case 1:
23446 : if (!
23447 : #line 14004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23448 : (TARGET_BMI && ix86_pre_reload_split ()))
23449 : return -1;
23450 : return 869; /* *xor2andn */
23451 :
23452 : case 2:
23453 : if (!(
23454 : #line 14004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23455 : (TARGET_BMI && ix86_pre_reload_split ()) &&
23456 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23457 : (TARGET_64BIT)))
23458 : return -1;
23459 : return 870; /* *xor2andn */
23460 :
23461 : default:
23462 : return -1;
23463 : }
23464 :
23465 : case ZERO_EXTEND:
23466 : if (GET_MODE (x4) != E_DImode
23467 : || pattern574 (x1) != 0)
23468 : return -1;
23469 : x8 = XEXP (x4, 0);
23470 : switch (GET_CODE (x8))
23471 : {
23472 : case REG:
23473 : case SUBREG:
23474 : case MEM:
23475 : operands[1] = x8;
23476 : if (!nonimmediate_operand (operands[1], E_SImode))
23477 : return -1;
23478 : x7 = XEXP (x3, 1);
23479 : operands[2] = x7;
23480 : if (!x86_64_zext_immediate_operand (operands[2], E_DImode)
23481 : || !
23482 : #line 14082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23483 : (TARGET_64BIT
23484 : && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
23485 : return -1;
23486 : return 894; /* *xorsi_1_zext_imm */
23487 :
23488 : case MINUS:
23489 : if (GET_MODE (x8) != E_SImode)
23490 : return -1;
23491 : x9 = XEXP (x8, 0);
23492 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 63])
23493 : return -1;
23494 : x10 = XEXP (x8, 1);
23495 : if (GET_CODE (x10) != SUBREG
23496 : || maybe_ne (SUBREG_BYTE (x10), 0)
23497 : || GET_MODE (x10) != E_SImode)
23498 : return -1;
23499 : x11 = XEXP (x10, 0);
23500 : if (GET_CODE (x11) != CLZ
23501 : || GET_MODE (x11) != E_DImode)
23502 : return -1;
23503 : x7 = XEXP (x3, 1);
23504 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 63])
23505 : return -1;
23506 : x12 = XEXP (x11, 0);
23507 : operands[1] = x12;
23508 : if (!nonimmediate_operand (operands[1], E_DImode)
23509 : || !
23510 : #line 21681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23511 : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()))
23512 : return -1;
23513 : return 1563; /* *bsr_rex64u_2 */
23514 :
23515 : default:
23516 : return -1;
23517 : }
23518 :
23519 : case ASHIFT:
23520 : switch (pattern374 (x1,
23521 : 1))
23522 : {
23523 : case 0:
23524 : x13 = XEXP (x4, 1);
23525 : operands[2] = x13;
23526 : if (register_operand (operands[2], E_QImode))
23527 : {
23528 : switch (pattern948 (x3))
23529 : {
23530 : case 0:
23531 : if (
23532 : #line 19165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23533 : (TARGET_USE_BT))
23534 : return 1424; /* *btcsi */
23535 : break;
23536 :
23537 : case 1:
23538 : if ((
23539 : #line 19165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23540 : (TARGET_USE_BT) &&
23541 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23542 : (TARGET_64BIT)))
23543 : return 1426; /* *btcdi */
23544 : break;
23545 :
23546 : default:
23547 : break;
23548 : }
23549 : }
23550 : if (GET_CODE (x13) != SUBREG)
23551 : return -1;
23552 : switch (pattern1338 (x3))
23553 : {
23554 : case 0:
23555 : if (!
23556 : #line 19184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23557 : (TARGET_USE_BT
23558 : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
23559 : == GET_MODE_BITSIZE (SImode)-1
23560 : && ix86_pre_reload_split ()))
23561 : return -1;
23562 : return 1428; /* *btcsi_mask */
23563 :
23564 : case 1:
23565 : if (!(
23566 : #line 19184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23567 : (TARGET_USE_BT
23568 : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
23569 : == GET_MODE_BITSIZE (DImode)-1
23570 : && ix86_pre_reload_split ()) &&
23571 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23572 : (TARGET_64BIT)))
23573 : return -1;
23574 : return 1430; /* *btcdi_mask */
23575 :
23576 : default:
23577 : return -1;
23578 : }
23579 :
23580 : case 1:
23581 : if (!
23582 : #line 19212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23583 : (TARGET_USE_BT
23584 : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
23585 : == GET_MODE_BITSIZE (SImode)-1
23586 : && ix86_pre_reload_split ()))
23587 : return -1;
23588 : return 1432; /* *btcsi_mask_1 */
23589 :
23590 : case 2:
23591 : if (!(
23592 : #line 19212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23593 : (TARGET_USE_BT
23594 : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
23595 : == GET_MODE_BITSIZE (DImode)-1
23596 : && ix86_pre_reload_split ()) &&
23597 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23598 : (TARGET_64BIT)))
23599 : return -1;
23600 : return 1434; /* *btcdi_mask_1 */
23601 :
23602 : default:
23603 : return -1;
23604 : }
23605 :
23606 : case SIGN_EXTEND:
23607 : if (GET_MODE (x4) != E_DImode)
23608 : return -1;
23609 : x8 = XEXP (x4, 0);
23610 : if (GET_CODE (x8) != MINUS
23611 : || GET_MODE (x8) != E_SImode)
23612 : return -1;
23613 : x9 = XEXP (x8, 0);
23614 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 63])
23615 : return -1;
23616 : x10 = XEXP (x8, 1);
23617 : if (GET_CODE (x10) != SUBREG
23618 : || maybe_ne (SUBREG_BYTE (x10), 0)
23619 : || GET_MODE (x10) != E_SImode)
23620 : return -1;
23621 : x11 = XEXP (x10, 0);
23622 : if (GET_CODE (x11) != CLZ
23623 : || GET_MODE (x11) != E_DImode)
23624 : return -1;
23625 : x7 = XEXP (x3, 1);
23626 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 63])
23627 : return -1;
23628 : x5 = XVECEXP (x1, 0, 1);
23629 : if (pattern236 (x5,
23630 : E_CCmode,
23631 : 17) != 0)
23632 : return -1;
23633 : x6 = XEXP (x2, 0);
23634 : operands[0] = x6;
23635 : if (!register_operand (operands[0], E_DImode)
23636 : || GET_MODE (x3) != E_DImode)
23637 : return -1;
23638 : x12 = XEXP (x11, 0);
23639 : operands[1] = x12;
23640 : if (!nonimmediate_operand (operands[1], E_DImode)
23641 : || !
23642 : #line 21681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23643 : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()))
23644 : return -1;
23645 : return 1562; /* *bsr_rex64_2 */
23646 :
23647 : case PLUS:
23648 : x13 = XEXP (x4, 1);
23649 : if (GET_CODE (x13) != CONST_INT
23650 : || pattern349 (x1) != 0)
23651 : return -1;
23652 : x7 = XEXP (x3, 1);
23653 : if (!rtx_equal_p (x7, operands[1]))
23654 : return -1;
23655 : switch (XWINT (x13, 0))
23656 : {
23657 : case -1L:
23658 : switch (GET_MODE (operands[0]))
23659 : {
23660 : case E_SImode:
23661 : if (pattern936 (x3,
23662 : E_SImode) != 0
23663 : || !
23664 : #line 22237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23665 : (TARGET_BMI))
23666 : return -1;
23667 : return 1612; /* *bmi_blsmsk_si */
23668 :
23669 : case E_DImode:
23670 : if (pattern936 (x3,
23671 : E_DImode) != 0
23672 : || !(
23673 : #line 22237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23674 : (TARGET_BMI) &&
23675 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23676 : (TARGET_64BIT)))
23677 : return -1;
23678 : return 1613; /* *bmi_blsmsk_di */
23679 :
23680 : default:
23681 : return -1;
23682 : }
23683 :
23684 : case 1L:
23685 : switch (GET_MODE (operands[0]))
23686 : {
23687 : case E_SImode:
23688 : if (pattern936 (x3,
23689 : E_SImode) != 0
23690 : || !
23691 : #line 22583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23692 : (TARGET_TBM))
23693 : return -1;
23694 : return 1646; /* *tbm_blcmsk_si */
23695 :
23696 : case E_DImode:
23697 : if (pattern936 (x3,
23698 : E_DImode) != 0
23699 : || !(
23700 : #line 22583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23701 : (TARGET_TBM) &&
23702 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23703 : (TARGET_64BIT)))
23704 : return -1;
23705 : return 1647; /* *tbm_blcmsk_di */
23706 :
23707 : default:
23708 : return -1;
23709 : }
23710 :
23711 : default:
23712 : return -1;
23713 : }
23714 :
23715 : default:
23716 : return -1;
23717 : }
23718 : }
23719 :
23720 : int
23721 : recog_426 (rtx x1 ATTRIBUTE_UNUSED,
23722 : rtx_insn *insn ATTRIBUTE_UNUSED,
23723 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23724 : {
23725 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23726 : rtx x2, x3, x4, x5, x6, x7;
23727 : int res ATTRIBUTE_UNUSED;
23728 : x2 = XVECEXP (x1, 0, 0);
23729 : x3 = XEXP (x2, 1);
23730 : x4 = XEXP (x3, 0);
23731 : if (GET_CODE (x4) != ZERO_EXTEND)
23732 : return -1;
23733 : x5 = XVECEXP (x1, 0, 1);
23734 : if (pattern384 (x5,
23735 : 175,
23736 : 0) != 0)
23737 : return -1;
23738 : x6 = XEXP (x2, 0);
23739 : operands[0] = x6;
23740 : x7 = XEXP (x4, 0);
23741 : operands[1] = x7;
23742 : switch (GET_MODE (operands[0]))
23743 : {
23744 : case E_V8DImode:
23745 : if (pattern1258 (x3,
23746 : E_V8DImode,
23747 : E_QImode,
23748 : E_DImode) != 0
23749 : || !
23750 : #line 28801 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23751 : (TARGET_AVX512CD))
23752 : return -1;
23753 : return 9419; /* avx512cd_maskb_vec_dupv8di */
23754 :
23755 : case E_V4DImode:
23756 : if (pattern1258 (x3,
23757 : E_V4DImode,
23758 : E_QImode,
23759 : E_DImode) != 0
23760 : || !(
23761 : #line 28801 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23762 : (TARGET_AVX512CD) &&
23763 : #line 617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23764 : (TARGET_AVX512VL)))
23765 : return -1;
23766 : return 9420; /* avx512cd_maskb_vec_dupv4di */
23767 :
23768 : case E_V2DImode:
23769 : if (pattern1258 (x3,
23770 : E_V2DImode,
23771 : E_QImode,
23772 : E_DImode) != 0
23773 : || !(
23774 : #line 28801 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23775 : (TARGET_AVX512CD) &&
23776 : #line 617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23777 : (TARGET_AVX512VL)))
23778 : return -1;
23779 : return 9421; /* avx512cd_maskb_vec_dupv2di */
23780 :
23781 : case E_V16SImode:
23782 : if (pattern1258 (x3,
23783 : E_V16SImode,
23784 : E_HImode,
23785 : E_SImode) != 0
23786 : || !
23787 : #line 28813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23788 : (TARGET_AVX512CD))
23789 : return -1;
23790 : return 9422; /* avx512cd_maskw_vec_dupv16si */
23791 :
23792 : case E_V8SImode:
23793 : if (pattern1258 (x3,
23794 : E_V8SImode,
23795 : E_HImode,
23796 : E_SImode) != 0
23797 : || !(
23798 : #line 28813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23799 : (TARGET_AVX512CD) &&
23800 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23801 : (TARGET_AVX512VL)))
23802 : return -1;
23803 : return 9423; /* avx512cd_maskw_vec_dupv8si */
23804 :
23805 : case E_V4SImode:
23806 : if (pattern1258 (x3,
23807 : E_V4SImode,
23808 : E_HImode,
23809 : E_SImode) != 0
23810 : || !(
23811 : #line 28813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23812 : (TARGET_AVX512CD) &&
23813 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23814 : (TARGET_AVX512VL)))
23815 : return -1;
23816 : return 9424; /* avx512cd_maskw_vec_dupv4si */
23817 :
23818 : default:
23819 : return -1;
23820 : }
23821 : }
23822 :
23823 : int
23824 : recog_431 (rtx x1 ATTRIBUTE_UNUSED,
23825 : rtx_insn *insn ATTRIBUTE_UNUSED,
23826 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23827 : {
23828 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23829 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23830 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
23831 : int res ATTRIBUTE_UNUSED;
23832 : x2 = XVECEXP (x1, 0, 0);
23833 : x3 = XEXP (x2, 1);
23834 : switch (XVECLEN (x3, 0))
23835 : {
23836 : case 1:
23837 : x4 = XEXP (x2, 0);
23838 : operands[0] = x4;
23839 : x5 = XVECEXP (x3, 0, 0);
23840 : operands[1] = x5;
23841 : switch (XINT (x3, 1))
23842 : {
23843 : case 107:
23844 : if (pattern546 (x1) != 0)
23845 : return -1;
23846 : x6 = XVECEXP (x1, 0, 2);
23847 : if (GET_CODE (x6) != UNSPEC
23848 : || XVECLEN (x6, 0) != 1
23849 : || XINT (x6, 1) != 109
23850 : || GET_MODE (x6) != E_DImode)
23851 : return -1;
23852 : x7 = XVECEXP (x6, 0, 0);
23853 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
23854 : || !register_operand (operands[0], E_DImode)
23855 : || !pop_operand (operands[1], E_TImode))
23856 : return -1;
23857 : x8 = XVECEXP (x1, 0, 1);
23858 : x9 = XEXP (x8, 0);
23859 : operands[2] = x9;
23860 : if (!register_operand (operands[2], E_DImode)
23861 : || !
23862 : #line 3952 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23863 : (TARGET_APX_PUSH2POP2 && TARGET_APX_PPX))
23864 : return -1;
23865 : return 168; /* pop2p_di */
23866 :
23867 : case 98:
23868 : switch (pattern832 (x1))
23869 : {
23870 : case 0:
23871 : if (!
23872 : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23873 : (TARGET_BMI))
23874 : return -1;
23875 : return 1592; /* *tzcnt_si_falsedep */
23876 :
23877 : case 1:
23878 : if (!((
23879 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23880 : (TARGET_64BIT) &&
23881 : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23882 : (TARGET_BMI)) &&
23883 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23884 : (TARGET_64BIT)))
23885 : return -1;
23886 : return 1594; /* *tzcnt_di_falsedep */
23887 :
23888 : default:
23889 : return -1;
23890 : }
23891 :
23892 : case 97:
23893 : switch (pattern832 (x1))
23894 : {
23895 : case 0:
23896 : if (!
23897 : #line 22002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23898 : (TARGET_LZCNT))
23899 : return -1;
23900 : return 1593; /* *lzcnt_si_falsedep */
23901 :
23902 : case 1:
23903 : if (!((
23904 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23905 : (TARGET_64BIT) &&
23906 : #line 22002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23907 : (TARGET_LZCNT)) &&
23908 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23909 : (TARGET_64BIT)))
23910 : return -1;
23911 : return 1595; /* *lzcnt_di_falsedep */
23912 :
23913 : default:
23914 : return -1;
23915 : }
23916 :
23917 : case 75:
23918 : if (pattern833 (x1) != 0
23919 : || !
23920 : #line 25626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23921 : (TARGET_USE_FANCY_MATH_387
23922 : && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
23923 : return -1;
23924 : return 1774; /* frndintxf2_roundeven_i387 */
23925 :
23926 : case 76:
23927 : if (pattern833 (x1) != 0
23928 : || !
23929 : #line 25626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23930 : (TARGET_USE_FANCY_MATH_387
23931 : && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
23932 : return -1;
23933 : return 1775; /* frndintxf2_floor_i387 */
23934 :
23935 : case 77:
23936 : if (pattern833 (x1) != 0
23937 : || !
23938 : #line 25626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23939 : (TARGET_USE_FANCY_MATH_387
23940 : && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
23941 : return -1;
23942 : return 1776; /* frndintxf2_ceil_i387 */
23943 :
23944 : case 78:
23945 : if (pattern833 (x1) != 0
23946 : || !
23947 : #line 25626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23948 : (TARGET_USE_FANCY_MATH_387
23949 : && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
23950 : return -1;
23951 : return 1777; /* frndintxf2_trunc_i387 */
23952 :
23953 : case 79:
23954 : switch (pattern835 (x1, pnum_clobbers))
23955 : {
23956 : case 0:
23957 : if (!
23958 : #line 25744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23959 : (TARGET_USE_FANCY_MATH_387
23960 : && flag_unsafe_math_optimizations))
23961 : return -1;
23962 : *pnum_clobbers = 1;
23963 : return 1784; /* fistdi2_floor */
23964 :
23965 : case 1:
23966 : if (!
23967 : #line 25757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23968 : (TARGET_USE_FANCY_MATH_387
23969 : && flag_unsafe_math_optimizations))
23970 : return -1;
23971 : return 1786; /* fisthi2_floor */
23972 :
23973 : case 2:
23974 : if (!
23975 : #line 25757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23976 : (TARGET_USE_FANCY_MATH_387
23977 : && flag_unsafe_math_optimizations))
23978 : return -1;
23979 : return 1788; /* fistsi2_floor */
23980 :
23981 : default:
23982 : return -1;
23983 : }
23984 :
23985 : case 80:
23986 : switch (pattern835 (x1, pnum_clobbers))
23987 : {
23988 : case 0:
23989 : if (!
23990 : #line 25744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23991 : (TARGET_USE_FANCY_MATH_387
23992 : && flag_unsafe_math_optimizations))
23993 : return -1;
23994 : *pnum_clobbers = 1;
23995 : return 1785; /* fistdi2_ceil */
23996 :
23997 : case 1:
23998 : if (!
23999 : #line 25757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24000 : (TARGET_USE_FANCY_MATH_387
24001 : && flag_unsafe_math_optimizations))
24002 : return -1;
24003 : return 1787; /* fisthi2_ceil */
24004 :
24005 : case 2:
24006 : if (!
24007 : #line 25757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24008 : (TARGET_USE_FANCY_MATH_387
24009 : && flag_unsafe_math_optimizations))
24010 : return -1;
24011 : return 1789; /* fistsi2_ceil */
24012 :
24013 : default:
24014 : return -1;
24015 : }
24016 :
24017 : case 93:
24018 : x8 = XVECEXP (x1, 0, 1);
24019 : if (GET_CODE (x8) != SET)
24020 : return -1;
24021 : x10 = XEXP (x8, 1);
24022 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
24023 : return -1;
24024 : x6 = XVECEXP (x1, 0, 2);
24025 : if (pattern953 (x6,
24026 : E_CCmode,
24027 : 17) != 0)
24028 : return -1;
24029 : switch (pattern1159 (x1))
24030 : {
24031 : case 0:
24032 : if (!(
24033 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24034 : (ptr_mode == SImode) &&
24035 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24036 : (word_mode == SImode)))
24037 : return -1;
24038 : return 1920; /* stack_protect_set_1_si_si */
24039 :
24040 : case 1:
24041 : if (!(
24042 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24043 : (ptr_mode == SImode) &&
24044 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24045 : (word_mode == DImode)))
24046 : return -1;
24047 : return 1922; /* stack_protect_set_1_si_di */
24048 :
24049 : case 2:
24050 : if (!(
24051 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24052 : (ptr_mode == DImode) &&
24053 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24054 : (word_mode == SImode)))
24055 : return -1;
24056 : return 1921; /* stack_protect_set_1_di_si */
24057 :
24058 : case 3:
24059 : if (!(
24060 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24061 : (ptr_mode == DImode) &&
24062 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24063 : (word_mode == DImode)))
24064 : return -1;
24065 : return 1923; /* stack_protect_set_1_di_di */
24066 :
24067 : default:
24068 : return -1;
24069 : }
24070 :
24071 : case 291:
24072 : if (GET_MODE (x3) != E_DImode)
24073 : return -1;
24074 : x8 = XVECEXP (x1, 0, 1);
24075 : if (GET_CODE (x8) != CLOBBER)
24076 : return -1;
24077 : x6 = XVECEXP (x1, 0, 2);
24078 : if (GET_CODE (x6) != CLOBBER
24079 : || !nonimmediate_operand (operands[0], E_DImode)
24080 : || !memory_operand (operands[1], E_DImode))
24081 : return -1;
24082 : x9 = XEXP (x8, 0);
24083 : operands[2] = x9;
24084 : if (!memory_operand (operands[2], E_DImode))
24085 : return -1;
24086 : x11 = XEXP (x6, 0);
24087 : operands[3] = x11;
24088 : if (!scratch_operand (operands[3], E_DFmode)
24089 : || !
24090 : #line 196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
24091 : (!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)))
24092 : return -1;
24093 : return 11063; /* atomic_loaddi_fpu */
24094 :
24095 : case 292:
24096 : if (GET_MODE (x3) != E_DImode)
24097 : return -1;
24098 : x8 = XVECEXP (x1, 0, 1);
24099 : if (GET_CODE (x8) != CLOBBER)
24100 : return -1;
24101 : x6 = XVECEXP (x1, 0, 2);
24102 : if (GET_CODE (x6) != CLOBBER
24103 : || !memory_operand (operands[0], E_DImode)
24104 : || !nonimmediate_operand (operands[1], E_DImode))
24105 : return -1;
24106 : x9 = XEXP (x8, 0);
24107 : operands[2] = x9;
24108 : if (!memory_operand (operands[2], E_DImode))
24109 : return -1;
24110 : x11 = XEXP (x6, 0);
24111 : operands[3] = x11;
24112 : if (!scratch_operand (operands[3], E_DFmode)
24113 : || !
24114 : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
24115 : (!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)))
24116 : return -1;
24117 : return 11068; /* atomic_storedi_fpu */
24118 :
24119 : default:
24120 : return -1;
24121 : }
24122 :
24123 : case 2:
24124 : x8 = XVECEXP (x1, 0, 1);
24125 : if (GET_CODE (x8) != SET)
24126 : return -1;
24127 : x10 = XEXP (x8, 1);
24128 : if (GET_CODE (x10) != UNSPEC
24129 : || XVECLEN (x10, 0) != 2
24130 : || GET_MODE (x10) != E_XFmode)
24131 : return -1;
24132 : x6 = XVECEXP (x1, 0, 2);
24133 : if (GET_CODE (x6) != SET)
24134 : return -1;
24135 : x12 = XEXP (x6, 1);
24136 : if (GET_CODE (x12) != UNSPEC
24137 : || XVECLEN (x12, 0) != 2
24138 : || XINT (x12, 1) != 91
24139 : || GET_MODE (x12) != E_CCFPmode)
24140 : return -1;
24141 : x11 = XEXP (x6, 0);
24142 : if (GET_CODE (x11) != REG
24143 : || REGNO (x11) != 18
24144 : || GET_MODE (x11) != E_CCFPmode)
24145 : return -1;
24146 : x4 = XEXP (x2, 0);
24147 : operands[0] = x4;
24148 : if (!register_operand (operands[0], E_XFmode)
24149 : || GET_MODE (x3) != E_XFmode
24150 : || pattern1431 (x1) != 0)
24151 : return -1;
24152 : x13 = XVECEXP (x12, 0, 0);
24153 : if (!rtx_equal_p (x13, operands[2]))
24154 : return -1;
24155 : x14 = XVECEXP (x12, 0, 1);
24156 : if (!rtx_equal_p (x14, operands[3]))
24157 : return -1;
24158 : switch (XINT (x3, 1))
24159 : {
24160 : case 87:
24161 : if (XINT (x10, 1) != 88
24162 : || !
24163 : #line 24263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24164 : (TARGET_USE_FANCY_MATH_387))
24165 : return -1;
24166 : return 1749; /* fpremxf4_i387 */
24167 :
24168 : case 89:
24169 : if (XINT (x10, 1) != 90
24170 : || !
24171 : #line 24335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24172 : (TARGET_USE_FANCY_MATH_387))
24173 : return -1;
24174 : return 1750; /* fprem1xf4_i387 */
24175 :
24176 : default:
24177 : return -1;
24178 : }
24179 :
24180 : case 4:
24181 : if (XINT (x3, 1) != 24)
24182 : return -1;
24183 : x5 = XVECEXP (x3, 0, 0);
24184 : if (GET_CODE (x5) != MEM
24185 : || GET_MODE (x5) != E_BLKmode)
24186 : return -1;
24187 : x8 = XVECEXP (x1, 0, 1);
24188 : if (GET_CODE (x8) != CLOBBER
24189 : || pattern838 (x1) != 0)
24190 : return -1;
24191 : switch (pattern1161 (x1))
24192 : {
24193 : case 0:
24194 : if (!(
24195 : #line 26577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24196 : (!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
24197 : && ix86_check_no_addr_space (insn)) &&
24198 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24199 : (Pmode == SImode)))
24200 : return -1;
24201 : return 1827; /* *strlenqi_1 */
24202 :
24203 : case 1:
24204 : if (!(
24205 : #line 26577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24206 : (!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
24207 : && ix86_check_no_addr_space (insn)) &&
24208 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24209 : (Pmode == DImode)))
24210 : return -1;
24211 : return 1828; /* *strlenqi_1 */
24212 :
24213 : default:
24214 : return -1;
24215 : }
24216 :
24217 : case 5:
24218 : if (XINT (x3, 1) != 132)
24219 : return -1;
24220 : if (GET_MODE (x3) == E_SImode
24221 : && pattern717 (x1,
24222 : 132,
24223 : 5) == 0
24224 : && pattern1748 (x1) == 0
24225 : &&
24226 : #line 26459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24227 : (TARGET_SSE4_2
24228 : && ix86_pre_reload_split ()))
24229 : return 9031; /* sse4_2_pcmpestr */
24230 : if (GET_MODE (x3) != E_CCmode
24231 : || pattern718 (x1) != 0
24232 : || !register_operand (operands[3], E_SImode))
24233 : return -1;
24234 : x15 = XVECEXP (x3, 0, 2);
24235 : operands[4] = x15;
24236 : if (!nonimmediate_operand (operands[4], E_V16QImode))
24237 : return -1;
24238 : x16 = XVECEXP (x3, 0, 3);
24239 : operands[5] = x16;
24240 : if (!register_operand (operands[5], E_SImode))
24241 : return -1;
24242 : x17 = XVECEXP (x3, 0, 4);
24243 : operands[6] = x17;
24244 : if (!const_0_to_255_operand (operands[6], E_SImode))
24245 : return -1;
24246 : x8 = XVECEXP (x1, 0, 1);
24247 : x9 = XEXP (x8, 0);
24248 : operands[0] = x9;
24249 : if (!scratch_operand (operands[0], E_V16QImode))
24250 : return -1;
24251 : x6 = XVECEXP (x1, 0, 2);
24252 : x11 = XEXP (x6, 0);
24253 : operands[1] = x11;
24254 : if (!scratch_operand (operands[1], E_SImode)
24255 : || !
24256 : #line 26562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24257 : (TARGET_SSE4_2))
24258 : return -1;
24259 : return 9034; /* sse4_2_pcmpestr_cconly */
24260 :
24261 : case 3:
24262 : if (XINT (x3, 1) != 133)
24263 : return -1;
24264 : if (GET_MODE (x3) == E_SImode
24265 : && pattern717 (x1,
24266 : 133,
24267 : 3) == 0
24268 : && pattern1749 (x1) == 0
24269 : &&
24270 : #line 26596 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24271 : (TARGET_SSE4_2
24272 : && ix86_pre_reload_split ()))
24273 : return 9035; /* sse4_2_pcmpistr */
24274 : if (GET_MODE (x3) != E_CCmode
24275 : || pattern718 (x1) != 0
24276 : || !nonimmediate_operand (operands[3], E_V16QImode))
24277 : return -1;
24278 : x15 = XVECEXP (x3, 0, 2);
24279 : operands[4] = x15;
24280 : if (!const_0_to_255_operand (operands[4], E_SImode))
24281 : return -1;
24282 : x8 = XVECEXP (x1, 0, 1);
24283 : x9 = XEXP (x8, 0);
24284 : operands[0] = x9;
24285 : if (!scratch_operand (operands[0], E_V16QImode))
24286 : return -1;
24287 : x6 = XVECEXP (x1, 0, 2);
24288 : x11 = XEXP (x6, 0);
24289 : operands[1] = x11;
24290 : if (!scratch_operand (operands[1], E_SImode)
24291 : || !
24292 : #line 26687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24293 : (TARGET_SSE4_2))
24294 : return -1;
24295 : return 9038; /* sse4_2_pcmpistr_cconly */
24296 :
24297 : default:
24298 : return -1;
24299 : }
24300 : }
24301 :
24302 : rtx_insn *
24303 : split_1 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24304 : {
24305 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24306 : rtx x2;
24307 : rtx_insn *res ATTRIBUTE_UNUSED;
24308 : x2 = XEXP (x1, 0);
24309 : operands[0] = x2;
24310 : switch (GET_CODE (operands[0]))
24311 : {
24312 : case MEM:
24313 : switch (GET_MODE (operands[0]))
24314 : {
24315 : case E_V1TImode:
24316 : if (push_operand (operands[0], E_V1TImode)
24317 : && register_operand (operands[1], E_V1TImode))
24318 : {
24319 : if (((
24320 : #line 2180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24321 : (TARGET_64BIT && TARGET_STV) &&
24322 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24323 : (Pmode == SImode)) &&
24324 : #line 2182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24325 : ( reload_completed)))
24326 : return gen_split_3 (insn, operands);
24327 : if (((
24328 : #line 2180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24329 : (TARGET_64BIT && TARGET_STV) &&
24330 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24331 : (Pmode == DImode)) &&
24332 : #line 2182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24333 : ( reload_completed)))
24334 : return gen_split_4 (insn, operands);
24335 : }
24336 : break;
24337 :
24338 : case E_DImode:
24339 : if (push_operand (operands[0], E_DImode))
24340 : {
24341 : if (general_gr_operand (operands[1], E_DImode)
24342 : && (
24343 : #line 2204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24344 : (reload_completed) &&
24345 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24346 : (!TARGET_64BIT)))
24347 : return gen_split_5 (insn, operands);
24348 : if (immediate_operand (operands[1], E_DImode)
24349 : &&
24350 : #line 2237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24351 : (TARGET_64BIT && epilogue_completed
24352 : && !symbolic_operand (operands[1], DImode)
24353 : && !x86_64_immediate_operand (operands[1], DImode)))
24354 : return gen_split_7 (insn, operands);
24355 : if (sse_reg_operand (operands[1], E_DImode))
24356 : {
24357 : if ((
24358 : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24359 : (TARGET_SSE && reload_completed) &&
24360 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24361 : (Pmode == SImode)))
24362 : return gen_split_9 (insn, operands);
24363 : if ((
24364 : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24365 : (TARGET_SSE && reload_completed) &&
24366 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24367 : (Pmode == DImode)))
24368 : return gen_split_12 (insn, operands);
24369 : }
24370 : }
24371 : break;
24372 :
24373 : case E_TImode:
24374 : if (push_operand (operands[0], E_TImode))
24375 : {
24376 : if (general_gr_operand (operands[1], E_TImode)
24377 : && (
24378 : #line 2204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24379 : (reload_completed) &&
24380 : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24381 : (TARGET_64BIT)))
24382 : return gen_split_6 (insn, operands);
24383 : if (sse_reg_operand (operands[1], E_TImode))
24384 : {
24385 : if ((
24386 : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24387 : (TARGET_SSE && reload_completed) && (((
24388 : #line 1203 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24389 : (TARGET_64BIT) &&
24390 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24391 : (Pmode == SImode)) &&
24392 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24393 : (Pmode == SImode)) &&
24394 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24395 : (Pmode == SImode))))
24396 : return gen_split_10 (insn, operands);
24397 : if ((
24398 : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24399 : (TARGET_SSE && reload_completed) && (((
24400 : #line 1203 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24401 : (TARGET_64BIT) &&
24402 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24403 : (Pmode == DImode)) &&
24404 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24405 : (Pmode == DImode)) &&
24406 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24407 : (Pmode == DImode))))
24408 : return gen_split_13 (insn, operands);
24409 : }
24410 : }
24411 : break;
24412 :
24413 : case E_SImode:
24414 : if (push_operand (operands[0], E_SImode)
24415 : && sse_reg_operand (operands[1], E_SImode))
24416 : {
24417 : if ((
24418 : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24419 : (TARGET_SSE && reload_completed) &&
24420 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24421 : (Pmode == SImode)))
24422 : return gen_split_8 (insn, operands);
24423 : if ((
24424 : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24425 : (TARGET_SSE && reload_completed) &&
24426 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24427 : (Pmode == DImode)))
24428 : return gen_split_11 (insn, operands);
24429 : }
24430 : break;
24431 :
24432 : case E_TFmode:
24433 : if (push_operand (operands[0], E_TFmode)
24434 : && sse_reg_operand (operands[1], E_TFmode))
24435 : {
24436 : if ((
24437 : #line 3790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24438 : (TARGET_SSE && reload_completed) &&
24439 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24440 : (Pmode == SImode)))
24441 : return gen_split_37 (insn, operands);
24442 : if ((
24443 : #line 3790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24444 : (TARGET_SSE && reload_completed) &&
24445 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24446 : (Pmode == DImode)))
24447 : return gen_split_38 (insn, operands);
24448 : }
24449 : break;
24450 :
24451 : case E_XFmode:
24452 : if (push_operand (operands[0], E_XFmode)
24453 : && fp_register_operand (operands[1], E_XFmode))
24454 : {
24455 : if ((
24456 : #line 3825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24457 : (reload_completed) &&
24458 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24459 : (Pmode == SImode)))
24460 : return gen_split_39 (insn, operands);
24461 : if ((
24462 : #line 3825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24463 : (reload_completed) &&
24464 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24465 : (Pmode == DImode)))
24466 : return gen_split_40 (insn, operands);
24467 : }
24468 : break;
24469 :
24470 : case E_DFmode:
24471 : if (push_operand (operands[0], E_DFmode)
24472 : && any_fp_register_operand (operands[1], E_DFmode))
24473 : {
24474 : if ((
24475 : #line 3859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24476 : (reload_completed) &&
24477 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24478 : (Pmode == SImode)))
24479 : return gen_split_41 (insn, operands);
24480 : if ((
24481 : #line 3859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24482 : (reload_completed) &&
24483 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24484 : (Pmode == DImode)))
24485 : return gen_split_42 (insn, operands);
24486 : }
24487 : break;
24488 :
24489 : case E_SFmode:
24490 : if (push_operand (operands[0], E_SFmode))
24491 : {
24492 : if (any_fp_register_operand (operands[1], E_SFmode))
24493 : {
24494 : if ((
24495 : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24496 : (reload_completed) &&
24497 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24498 : (Pmode == SImode)))
24499 : return gen_split_43 (insn, operands);
24500 : if ((
24501 : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24502 : (reload_completed) &&
24503 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24504 : (Pmode == DImode)))
24505 : return gen_split_46 (insn, operands);
24506 : }
24507 : if (memory_operand (operands[1], E_SFmode)
24508 : &&
24509 : #line 4013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24510 : (reload_completed
24511 : && find_constant_src (insn)))
24512 : return gen_split_49 (insn, operands);
24513 : }
24514 : break;
24515 :
24516 : case E_HFmode:
24517 : if (push_operand (operands[0], E_HFmode)
24518 : && any_fp_register_operand (operands[1], E_HFmode))
24519 : {
24520 : if ((
24521 : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24522 : (reload_completed) &&
24523 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24524 : (Pmode == SImode)))
24525 : return gen_split_44 (insn, operands);
24526 : if ((
24527 : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24528 : (reload_completed) &&
24529 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24530 : (Pmode == DImode)))
24531 : return gen_split_47 (insn, operands);
24532 : }
24533 : break;
24534 :
24535 : case E_BFmode:
24536 : if (push_operand (operands[0], E_BFmode)
24537 : && any_fp_register_operand (operands[1], E_BFmode))
24538 : {
24539 : if ((
24540 : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24541 : (reload_completed) &&
24542 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24543 : (Pmode == SImode)))
24544 : return gen_split_45 (insn, operands);
24545 : if ((
24546 : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24547 : (reload_completed) &&
24548 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24549 : (Pmode == DImode)))
24550 : return gen_split_48 (insn, operands);
24551 : }
24552 : break;
24553 :
24554 : default:
24555 : break;
24556 : }
24557 : break;
24558 :
24559 : case REG:
24560 : switch (GET_MODE (operands[0]))
24561 : {
24562 : case E_TImode:
24563 : if (sse_reg_operand (operands[0], E_TImode)
24564 : && general_reg_operand (operands[1], E_TImode)
24565 : &&
24566 : #line 2579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24567 : (TARGET_64BIT && TARGET_SSE4_1
24568 : && reload_completed))
24569 : return gen_split_20 (insn, operands);
24570 : if (general_reg_operand (operands[0], E_TImode)
24571 : && sse_reg_operand (operands[1], E_TImode)
24572 : && (
24573 : #line 2770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24574 : (TARGET_SSE4_1
24575 : && reload_completed) &&
24576 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24577 : (TARGET_64BIT)))
24578 : return gen_split_22 (insn, operands);
24579 : break;
24580 :
24581 : case E_DImode:
24582 : if (general_reg_operand (operands[0], E_DImode)
24583 : && sse_reg_operand (operands[1], E_DImode)
24584 : && (
24585 : #line 2770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24586 : (TARGET_SSE4_1
24587 : && reload_completed) &&
24588 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24589 : (!TARGET_64BIT)))
24590 : return gen_split_21 (insn, operands);
24591 : break;
24592 :
24593 : default:
24594 : break;
24595 : }
24596 : break;
24597 :
24598 : default:
24599 : break;
24600 : }
24601 : switch (GET_MODE (operands[0]))
24602 : {
24603 : case E_DImode:
24604 : if (nonimmediate_gr_operand (operands[0], E_DImode)
24605 : && general_gr_operand (operands[1], E_DImode)
24606 : && (
24607 : #line 2787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24608 : (reload_completed) &&
24609 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24610 : (!TARGET_64BIT)))
24611 : return gen_split_23 (insn, operands);
24612 : if (sse_reg_operand (operands[0], E_DImode)
24613 : && general_reg_operand (operands[1], E_DImode)
24614 : &&
24615 : #line 2794 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24616 : (!TARGET_64BIT && TARGET_SSE4_1
24617 : && reload_completed))
24618 : return gen_split_25 (insn, operands);
24619 : break;
24620 :
24621 : case E_TImode:
24622 : if (nonimmediate_gr_operand (operands[0], E_TImode)
24623 : && general_gr_operand (operands[1], E_TImode)
24624 : && (
24625 : #line 2787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24626 : (reload_completed) &&
24627 : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24628 : (TARGET_64BIT)))
24629 : return gen_split_24 (insn, operands);
24630 : break;
24631 :
24632 : default:
24633 : break;
24634 : }
24635 : if (push_operand (operands[0], E_VOIDmode)
24636 : && general_gr_operand (operands[1], E_VOIDmode)
24637 : &&
24638 : #line 4021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24639 : (reload_completed
24640 : && (GET_MODE (operands[0]) == TFmode
24641 : || GET_MODE (operands[0]) == XFmode
24642 : || GET_MODE (operands[0]) == DFmode)))
24643 : return gen_split_50 (insn, operands);
24644 : switch (GET_MODE (operands[0]))
24645 : {
24646 : case E_TFmode:
24647 : if (nonimmediate_gr_operand (operands[0], E_TFmode)
24648 : && general_gr_operand (operands[1], E_TFmode)
24649 : &&
24650 : #line 4094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24651 : (reload_completed))
24652 : return gen_split_51 (insn, operands);
24653 : break;
24654 :
24655 : case E_XFmode:
24656 : if (nonimmediate_gr_operand (operands[0], E_XFmode)
24657 : && general_gr_operand (operands[1], E_XFmode)
24658 : &&
24659 : #line 4167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24660 : (reload_completed))
24661 : return gen_split_52 (insn, operands);
24662 : break;
24663 :
24664 : case E_DFmode:
24665 : if (nonimmediate_gr_operand (operands[0], E_DFmode)
24666 : && general_gr_operand (operands[1], E_DFmode)
24667 : &&
24668 : #line 4345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24669 : (!TARGET_64BIT && reload_completed))
24670 : return gen_split_53 (insn, operands);
24671 : break;
24672 :
24673 : default:
24674 : break;
24675 : }
24676 : if (any_fp_register_operand (operands[0], E_VOIDmode)
24677 : && memory_operand (operands[1], E_VOIDmode)
24678 : &&
24679 : #line 4613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24680 : (reload_completed
24681 : && (GET_MODE (operands[0]) == TFmode
24682 : || GET_MODE (operands[0]) == XFmode
24683 : || GET_MODE (operands[0]) == DFmode
24684 : || GET_MODE (operands[0]) == SFmode)
24685 : && ix86_standard_x87sse_constant_load_p (insn, operands[0])))
24686 : return gen_split_54 (insn, operands);
24687 : if (fp_register_operand (operands[0], E_SFmode)
24688 : && immediate_operand (operands[1], E_SFmode)
24689 : &&
24690 : #line 4637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24691 : (reload_completed
24692 : && (standard_80387_constant_p (operands[1]) == 8
24693 : || standard_80387_constant_p (operands[1]) == 9)))
24694 : return gen_split_56 (insn, operands);
24695 : if (fp_register_operand (operands[0], E_DFmode)
24696 : && immediate_operand (operands[1], E_DFmode)
24697 : &&
24698 : #line 4637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24699 : (reload_completed
24700 : && (standard_80387_constant_p (operands[1]) == 8
24701 : || standard_80387_constant_p (operands[1]) == 9)))
24702 : return gen_split_57 (insn, operands);
24703 : if (!fp_register_operand (operands[0], E_XFmode)
24704 : || !immediate_operand (operands[1], E_XFmode)
24705 : || !
24706 : #line 4637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24707 : (reload_completed
24708 : && (standard_80387_constant_p (operands[1]) == 8
24709 : || standard_80387_constant_p (operands[1]) == 9)))
24710 : return NULL;
24711 : return gen_split_58 (insn, operands);
24712 : }
24713 :
24714 : rtx_insn *
24715 : split_10 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24716 : {
24717 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24718 : rtx x2, x3, x4, x5;
24719 : rtx_insn *res ATTRIBUTE_UNUSED;
24720 : x2 = XEXP (x1, 0);
24721 : operands[0] = x2;
24722 : x3 = XEXP (x1, 1);
24723 : x4 = XEXP (x3, 0);
24724 : operands[1] = x4;
24725 : switch (GET_CODE (operands[1]))
24726 : {
24727 : case CONST_INT:
24728 : switch (pattern584 (x3))
24729 : {
24730 : case 0:
24731 : if (!
24732 : #line 18515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24733 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode) - 1))
24734 : == GET_MODE_BITSIZE (QImode) - 1))
24735 : return NULL;
24736 : return gen_split_693 (insn, operands);
24737 :
24738 : case 1:
24739 : if (!
24740 : #line 18515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24741 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode) - 1))
24742 : == GET_MODE_BITSIZE (HImode) - 1))
24743 : return NULL;
24744 : return gen_split_695 (insn, operands);
24745 :
24746 : case 2:
24747 : if (!
24748 : #line 18515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24749 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1))
24750 : == GET_MODE_BITSIZE (SImode) - 1))
24751 : return NULL;
24752 : return gen_split_697 (insn, operands);
24753 :
24754 : case 3:
24755 : if (!(
24756 : #line 18515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24757 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1))
24758 : == GET_MODE_BITSIZE (DImode) - 1) &&
24759 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24760 : (TARGET_64BIT)))
24761 : return NULL;
24762 : return gen_split_699 (insn, operands);
24763 :
24764 : case 4:
24765 : if (!
24766 : #line 18599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24767 : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
24768 : return NULL;
24769 : return gen_split_725 (insn, operands);
24770 :
24771 : case 5:
24772 : if (!
24773 : #line 18599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24774 : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
24775 : return NULL;
24776 : return gen_split_727 (insn, operands);
24777 :
24778 : case 6:
24779 : if (!
24780 : #line 18599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24781 : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
24782 : return NULL;
24783 : return gen_split_729 (insn, operands);
24784 :
24785 : case 7:
24786 : if (!(
24787 : #line 18599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24788 : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
24789 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24790 : (TARGET_64BIT)))
24791 : return NULL;
24792 : return gen_split_731 (insn, operands);
24793 :
24794 : case 8:
24795 : if (!
24796 : #line 18668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24797 : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
24798 : return NULL;
24799 : return gen_split_757 (insn, operands);
24800 :
24801 : case 9:
24802 : if (!
24803 : #line 18668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24804 : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
24805 : return NULL;
24806 : return gen_split_759 (insn, operands);
24807 :
24808 : case 10:
24809 : if (!
24810 : #line 18668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24811 : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
24812 : return NULL;
24813 : return gen_split_761 (insn, operands);
24814 :
24815 : case 11:
24816 : if (!(
24817 : #line 18668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24818 : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
24819 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24820 : (TARGET_64BIT)))
24821 : return NULL;
24822 : return gen_split_763 (insn, operands);
24823 :
24824 : case 12:
24825 : if (!
24826 : #line 18560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24827 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode) - 1))
24828 : == GET_MODE_BITSIZE (QImode) - 1))
24829 : return NULL;
24830 : return gen_split_709 (insn, operands);
24831 :
24832 : case 13:
24833 : if (!
24834 : #line 18560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24835 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode) - 1))
24836 : == GET_MODE_BITSIZE (HImode) - 1))
24837 : return NULL;
24838 : return gen_split_711 (insn, operands);
24839 :
24840 : case 14:
24841 : if (!
24842 : #line 18560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24843 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1))
24844 : == GET_MODE_BITSIZE (SImode) - 1))
24845 : return NULL;
24846 : return gen_split_713 (insn, operands);
24847 :
24848 : case 15:
24849 : if (!(
24850 : #line 18560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24851 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1))
24852 : == GET_MODE_BITSIZE (DImode) - 1) &&
24853 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24854 : (TARGET_64BIT)))
24855 : return NULL;
24856 : return gen_split_715 (insn, operands);
24857 :
24858 : case 16:
24859 : if (!
24860 : #line 18631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24861 : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
24862 : return NULL;
24863 : return gen_split_741 (insn, operands);
24864 :
24865 : case 17:
24866 : if (!
24867 : #line 18631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24868 : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
24869 : return NULL;
24870 : return gen_split_743 (insn, operands);
24871 :
24872 : case 18:
24873 : if (!
24874 : #line 18631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24875 : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
24876 : return NULL;
24877 : return gen_split_745 (insn, operands);
24878 :
24879 : case 19:
24880 : if (!(
24881 : #line 18631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24882 : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
24883 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24884 : (TARGET_64BIT)))
24885 : return NULL;
24886 : return gen_split_747 (insn, operands);
24887 :
24888 : case 20:
24889 : if (!
24890 : #line 18700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24891 : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
24892 : return NULL;
24893 : return gen_split_773 (insn, operands);
24894 :
24895 : case 21:
24896 : if (!
24897 : #line 18700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24898 : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
24899 : return NULL;
24900 : return gen_split_775 (insn, operands);
24901 :
24902 : case 22:
24903 : if (!
24904 : #line 18700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24905 : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
24906 : return NULL;
24907 : return gen_split_777 (insn, operands);
24908 :
24909 : case 23:
24910 : if (!(
24911 : #line 18700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24912 : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
24913 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24914 : (TARGET_64BIT)))
24915 : return NULL;
24916 : return gen_split_779 (insn, operands);
24917 :
24918 : default:
24919 : return NULL;
24920 : }
24921 :
24922 : case REG:
24923 : case SUBREG:
24924 : x5 = XEXP (x3, 1);
24925 : if (GET_CODE (x5) != CONST_INT)
24926 : return NULL;
24927 : switch (XWINT (x5, 0))
24928 : {
24929 : case 32L:
24930 : if (!register_operand (operands[0], E_DImode)
24931 : || GET_MODE (x3) != E_DImode
24932 : || !register_operand (operands[1], E_DImode)
24933 : || !(
24934 : #line 18787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24935 : (!TARGET_64BIT) &&
24936 : #line 18789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24937 : ( reload_completed)))
24938 : return NULL;
24939 : return gen_split_785 (insn, operands);
24940 :
24941 : case 64L:
24942 : if (!register_operand (operands[0], E_TImode)
24943 : || GET_MODE (x3) != E_TImode
24944 : || !register_operand (operands[1], E_TImode)
24945 : || !(
24946 : #line 18805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24947 : (TARGET_64BIT) &&
24948 : #line 18807 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24949 : ( reload_completed)))
24950 : return NULL;
24951 : return gen_split_787 (insn, operands);
24952 :
24953 : default:
24954 : return NULL;
24955 : }
24956 :
24957 : default:
24958 : return NULL;
24959 : }
24960 : }
24961 :
24962 : rtx_insn *
24963 : split_13 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24964 : {
24965 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24966 : rtx x2, x3, x4;
24967 : rtx_insn *res ATTRIBUTE_UNUSED;
24968 : x2 = XEXP (x1, 0);
24969 : operands[0] = x2;
24970 : x3 = XEXP (x1, 1);
24971 : x4 = XEXP (x3, 0);
24972 : operands[1] = x4;
24973 : switch (GET_MODE (operands[0]))
24974 : {
24975 : case E_SFmode:
24976 : if (GET_MODE (x3) != E_SFmode)
24977 : return NULL;
24978 : if (sse_reg_operand (operands[0], E_SFmode)
24979 : && nonimmediate_operand (operands[1], E_SImode))
24980 : {
24981 : if (
24982 : #line 6168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24983 : (TARGET_SSE2
24984 : && TARGET_USE_VECTOR_CONVERTS
24985 : && optimize_function_for_speed_p (cfun)
24986 : && reload_completed
24987 : && (MEM_P (operands[1]) || TARGET_INTER_UNIT_MOVES_TO_VEC)
24988 : && (!EXT_REX_SSE_REG_P (operands[0])
24989 : || TARGET_AVX512VL)))
24990 : return gen_split_85 (insn, operands);
24991 : if (
24992 : #line 6253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24993 : (!TARGET_AVX
24994 : && TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY
24995 : && epilogue_completed
24996 : && optimize_function_for_speed_p (cfun)
24997 : && (!EXT_REX_SSE_REG_P (operands[0])
24998 : || TARGET_AVX512VL)))
24999 : return gen_split_93 (insn, operands);
25000 : }
25001 : if (register_operand (operands[0], E_SFmode)
25002 : && register_operand (operands[1], E_DImode)
25003 : &&
25004 : #line 6197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25005 : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
25006 : && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
25007 : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)
25008 : && can_create_pseudo_p ()))
25009 : return gen_split_87 (insn, operands);
25010 : if (!sse_reg_operand (operands[0], E_SFmode)
25011 : || !nonimmediate_operand (operands[1], E_DImode)
25012 : || !(
25013 : #line 6253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25014 : (!TARGET_AVX
25015 : && TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY
25016 : && epilogue_completed
25017 : && optimize_function_for_speed_p (cfun)
25018 : && (!EXT_REX_SSE_REG_P (operands[0])
25019 : || TARGET_AVX512VL)) &&
25020 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25021 : (TARGET_64BIT)))
25022 : return NULL;
25023 : return gen_split_94 (insn, operands);
25024 :
25025 : case E_DFmode:
25026 : if (GET_MODE (x3) != E_DFmode)
25027 : return NULL;
25028 : if (sse_reg_operand (operands[0], E_DFmode)
25029 : && nonimmediate_operand (operands[1], E_SImode))
25030 : {
25031 : if (
25032 : #line 6168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25033 : (TARGET_SSE2
25034 : && TARGET_USE_VECTOR_CONVERTS
25035 : && optimize_function_for_speed_p (cfun)
25036 : && reload_completed
25037 : && (MEM_P (operands[1]) || TARGET_INTER_UNIT_MOVES_TO_VEC)
25038 : && (!EXT_REX_SSE_REG_P (operands[0])
25039 : || TARGET_AVX512VL)))
25040 : return gen_split_86 (insn, operands);
25041 : if (
25042 : #line 6253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25043 : (!TARGET_AVX
25044 : && TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY
25045 : && epilogue_completed
25046 : && optimize_function_for_speed_p (cfun)
25047 : && (!EXT_REX_SSE_REG_P (operands[0])
25048 : || TARGET_AVX512VL)))
25049 : return gen_split_95 (insn, operands);
25050 : }
25051 : if (register_operand (operands[0], E_DFmode)
25052 : && register_operand (operands[1], E_DImode)
25053 : &&
25054 : #line 6197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25055 : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
25056 : && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
25057 : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)
25058 : && can_create_pseudo_p ()))
25059 : return gen_split_88 (insn, operands);
25060 : if (!sse_reg_operand (operands[0], E_DFmode)
25061 : || !nonimmediate_operand (operands[1], E_DImode)
25062 : || !(
25063 : #line 6253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25064 : (!TARGET_AVX
25065 : && TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY
25066 : && epilogue_completed
25067 : && optimize_function_for_speed_p (cfun)
25068 : && (!EXT_REX_SSE_REG_P (operands[0])
25069 : || TARGET_AVX512VL)) &&
25070 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25071 : (TARGET_64BIT)))
25072 : return NULL;
25073 : return gen_split_96 (insn, operands);
25074 :
25075 : case E_XFmode:
25076 : if (!register_operand (operands[0], E_XFmode)
25077 : || GET_MODE (x3) != E_XFmode
25078 : || !register_operand (operands[1], E_DImode)
25079 : || !
25080 : #line 6197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25081 : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
25082 : && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
25083 : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)
25084 : && can_create_pseudo_p ()))
25085 : return NULL;
25086 : return gen_split_89 (insn, operands);
25087 :
25088 : default:
25089 : return NULL;
25090 : }
25091 : }
25092 :
25093 : rtx_insn *
25094 : split_20 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25095 : {
25096 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25097 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
25098 : rtx_insn *res ATTRIBUTE_UNUSED;
25099 : x2 = XVECEXP (x1, 0, 0);
25100 : x3 = XEXP (x2, 1);
25101 : x4 = XEXP (x3, 1);
25102 : switch (GET_CODE (x4))
25103 : {
25104 : case CONST_INT:
25105 : case CONST_WIDE_INT:
25106 : case CONST_POLY_INT:
25107 : case CONST_FIXED:
25108 : case CONST_DOUBLE:
25109 : case CONST_VECTOR:
25110 : case CONST:
25111 : case REG:
25112 : case SUBREG:
25113 : case MEM:
25114 : case LABEL_REF:
25115 : case SYMBOL_REF:
25116 : case HIGH:
25117 : operands[2] = x4;
25118 : x5 = XEXP (x2, 0);
25119 : switch (GET_CODE (x5))
25120 : {
25121 : case REG:
25122 : case SUBREG:
25123 : case MEM:
25124 : operands[0] = x5;
25125 : switch (GET_MODE (operands[0]))
25126 : {
25127 : case E_DImode:
25128 : if (pattern566 (x3,
25129 : E_DImode) == 0
25130 : && ((
25131 : #line 8102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25132 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)) &&
25133 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25134 : (!TARGET_64BIT)) &&
25135 : #line 8104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25136 : ( reload_completed)))
25137 : return gen_split_174 (insn, operands);
25138 : break;
25139 :
25140 : case E_TImode:
25141 : if (pattern566 (x3,
25142 : E_TImode) == 0
25143 : && ((
25144 : #line 8102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25145 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
25146 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25147 : (TARGET_64BIT)) &&
25148 : #line 8104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25149 : ( reload_completed)))
25150 : return gen_split_175 (insn, operands);
25151 : break;
25152 :
25153 : default:
25154 : break;
25155 : }
25156 : break;
25157 :
25158 : case STRICT_LOW_PART:
25159 : switch (pattern1334 (x2))
25160 : {
25161 : case 0:
25162 : if ((
25163 : #line 8222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25164 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25165 : #line 8226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25166 : ( reload_completed
25167 : && !(rtx_equal_p (operands[0], operands[1])))))
25168 : return gen_split_178 (insn, operands);
25169 : break;
25170 :
25171 : case 1:
25172 : if ((
25173 : #line 8222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25174 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25175 : #line 8226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25176 : ( reload_completed
25177 : && !(rtx_equal_p (operands[0], operands[1])))))
25178 : return gen_split_179 (insn, operands);
25179 : break;
25180 :
25181 : default:
25182 : break;
25183 : }
25184 : break;
25185 :
25186 : default:
25187 : break;
25188 : }
25189 : if (GET_CODE (x4) != SUBREG
25190 : || maybe_ne (SUBREG_BYTE (x4), 0)
25191 : || GET_MODE (x4) != E_QImode)
25192 : return NULL;
25193 : x6 = XEXP (x4, 0);
25194 : switch (GET_CODE (x6))
25195 : {
25196 : case ASHIFTRT:
25197 : case LSHIFTRT:
25198 : case SIGN_EXTRACT:
25199 : case ZERO_EXTRACT:
25200 : operands[3] = x6;
25201 : if (GET_CODE (x5) != STRICT_LOW_PART)
25202 : return NULL;
25203 : x7 = XEXP (x5, 0);
25204 : operands[0] = x7;
25205 : if (!register_operand (operands[0], E_QImode)
25206 : || GET_MODE (x3) != E_QImode
25207 : || !nonimmediate_operand (operands[1], E_QImode))
25208 : return NULL;
25209 : x8 = XEXP (x6, 0);
25210 : operands[2] = x8;
25211 : if (!int248_register_operand (operands[2], E_VOIDmode))
25212 : return NULL;
25213 : switch (pattern1784 ())
25214 : {
25215 : case 0:
25216 : if (!(
25217 : #line 8246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25218 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25219 : #line 8250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25220 : ( reload_completed
25221 : && !rtx_equal_p (operands[0], operands[1]))))
25222 : return NULL;
25223 : return gen_split_180 (insn, operands);
25224 :
25225 : case 1:
25226 : if (!(
25227 : #line 8246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25228 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25229 : #line 8250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25230 : ( reload_completed
25231 : && !rtx_equal_p (operands[0], operands[1]))))
25232 : return NULL;
25233 : return gen_split_181 (insn, operands);
25234 :
25235 : case 2:
25236 : if (!((
25237 : #line 8246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25238 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25239 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25240 : (TARGET_64BIT)) &&
25241 : #line 8250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25242 : ( reload_completed
25243 : && !rtx_equal_p (operands[0], operands[1]))))
25244 : return NULL;
25245 : return gen_split_182 (insn, operands);
25246 :
25247 : default:
25248 : return NULL;
25249 : }
25250 :
25251 : default:
25252 : return NULL;
25253 : }
25254 :
25255 : case ZERO_EXTEND:
25256 : switch (pattern1175 (x2))
25257 : {
25258 : case 0:
25259 : if (!((
25260 : #line 8136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25261 : (ix86_binary_operator_ok (UNKNOWN, DImode, operands, TARGET_APX_NDD)) &&
25262 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25263 : (!TARGET_64BIT)) &&
25264 : #line 8138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25265 : ( reload_completed)))
25266 : return NULL;
25267 : return gen_split_176 (insn, operands);
25268 :
25269 : case 1:
25270 : if (!((
25271 : #line 8136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25272 : (ix86_binary_operator_ok (UNKNOWN, TImode, operands, TARGET_APX_NDD)) &&
25273 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25274 : (TARGET_64BIT)) &&
25275 : #line 8138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25276 : ( reload_completed)))
25277 : return NULL;
25278 : return gen_split_177 (insn, operands);
25279 :
25280 : default:
25281 : return NULL;
25282 : }
25283 :
25284 : case EQ:
25285 : x9 = XEXP (x4, 1);
25286 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
25287 : return NULL;
25288 : switch (pattern701 (x2))
25289 : {
25290 : case 0:
25291 : if (!(
25292 : #line 10650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25293 : (ix86_unary_operator_ok (MINUS, QImode, operands)
25294 : && ix86_pre_reload_split ()) &&
25295 : #line 10653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25296 : ( 1)))
25297 : return NULL;
25298 : return gen_split_236 (insn, operands);
25299 :
25300 : case 1:
25301 : if (!(
25302 : #line 10650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25303 : (ix86_unary_operator_ok (MINUS, HImode, operands)
25304 : && ix86_pre_reload_split ()) &&
25305 : #line 10653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25306 : ( 1)))
25307 : return NULL;
25308 : return gen_split_237 (insn, operands);
25309 :
25310 : case 2:
25311 : if (!(
25312 : #line 10650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25313 : (ix86_unary_operator_ok (MINUS, SImode, operands)
25314 : && ix86_pre_reload_split ()) &&
25315 : #line 10653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25316 : ( 1)))
25317 : return NULL;
25318 : return gen_split_238 (insn, operands);
25319 :
25320 : case 3:
25321 : if (!((
25322 : #line 10650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25323 : (ix86_unary_operator_ok (MINUS, DImode, operands)
25324 : && ix86_pre_reload_split ()) &&
25325 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25326 : (TARGET_64BIT)) &&
25327 : #line 10653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25328 : ( 1)))
25329 : return NULL;
25330 : return gen_split_239 (insn, operands);
25331 :
25332 : default:
25333 : return NULL;
25334 : }
25335 :
25336 : case NE:
25337 : x9 = XEXP (x4, 1);
25338 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
25339 : return NULL;
25340 : switch (pattern701 (x2))
25341 : {
25342 : case 0:
25343 : if (!(
25344 : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25345 : (ix86_unary_operator_ok (MINUS, QImode, operands)
25346 : && ix86_pre_reload_split ()) &&
25347 : #line 10674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25348 : ( 1)))
25349 : return NULL;
25350 : return gen_split_240 (insn, operands);
25351 :
25352 : case 1:
25353 : if (!(
25354 : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25355 : (ix86_unary_operator_ok (MINUS, HImode, operands)
25356 : && ix86_pre_reload_split ()) &&
25357 : #line 10674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25358 : ( 1)))
25359 : return NULL;
25360 : return gen_split_241 (insn, operands);
25361 :
25362 : case 2:
25363 : if (!(
25364 : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25365 : (ix86_unary_operator_ok (MINUS, SImode, operands)
25366 : && ix86_pre_reload_split ()) &&
25367 : #line 10674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25368 : ( 1)))
25369 : return NULL;
25370 : return gen_split_242 (insn, operands);
25371 :
25372 : case 3:
25373 : if (!((
25374 : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25375 : (ix86_unary_operator_ok (MINUS, DImode, operands)
25376 : && ix86_pre_reload_split ()) &&
25377 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25378 : (TARGET_64BIT)) &&
25379 : #line 10674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25380 : ( 1)))
25381 : return NULL;
25382 : return gen_split_243 (insn, operands);
25383 :
25384 : default:
25385 : return NULL;
25386 : }
25387 :
25388 : default:
25389 : return NULL;
25390 : }
25391 : }
25392 :
25393 : rtx_insn *
25394 : split_29 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25395 : {
25396 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25397 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
25398 : rtx_insn *res ATTRIBUTE_UNUSED;
25399 : x2 = XVECEXP (x1, 0, 1);
25400 : if (pattern236 (x2,
25401 : E_CCmode,
25402 : 17) != 0)
25403 : return NULL;
25404 : x3 = XVECEXP (x1, 0, 0);
25405 : x4 = XEXP (x3, 1);
25406 : x5 = XEXP (x4, 0);
25407 : switch (GET_CODE (x5))
25408 : {
25409 : case REG:
25410 : case SUBREG:
25411 : case MEM:
25412 : operands[1] = x5;
25413 : res = split_19 (x1, insn);
25414 : if (res != NULL_RTX)
25415 : return res;
25416 : if (GET_CODE (x5) != SUBREG
25417 : || pattern1187 (x4) != 0)
25418 : return NULL;
25419 : x6 = XEXP (x5, 0);
25420 : x7 = XEXP (x6, 0);
25421 : operands[2] = x7;
25422 : switch (pattern1644 (x3))
25423 : {
25424 : case 0:
25425 : if ((
25426 : #line 7044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25427 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25428 : #line 7048 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25429 : ( reload_completed
25430 : && !rtx_equal_p (operands[0], operands[1]))))
25431 : return gen_split_122 (insn, operands);
25432 : break;
25433 :
25434 : case 1:
25435 : if ((
25436 : #line 7044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25437 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25438 : #line 7048 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25439 : ( reload_completed
25440 : && !rtx_equal_p (operands[0], operands[1]))))
25441 : return gen_split_123 (insn, operands);
25442 : break;
25443 :
25444 : case 2:
25445 : if (((
25446 : #line 7044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25447 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25448 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25449 : (TARGET_64BIT)) &&
25450 : #line 7048 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25451 : ( reload_completed
25452 : && !rtx_equal_p (operands[0], operands[1]))))
25453 : return gen_split_124 (insn, operands);
25454 : break;
25455 :
25456 : default:
25457 : break;
25458 : }
25459 : operands[1] = x7;
25460 : switch (pattern1645 (x3))
25461 : {
25462 : case 0:
25463 : if (!(
25464 : #line 7073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25465 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25466 : #line 7075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25467 : ( reload_completed)))
25468 : return NULL;
25469 : return gen_split_125 (insn, operands);
25470 :
25471 : case 1:
25472 : if (!(
25473 : #line 7073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25474 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25475 : #line 7075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25476 : ( reload_completed)))
25477 : return NULL;
25478 : return gen_split_126 (insn, operands);
25479 :
25480 : case 2:
25481 : if (!((
25482 : #line 7073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25483 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25484 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25485 : (TARGET_64BIT)) &&
25486 : #line 7075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25487 : ( reload_completed)))
25488 : return NULL;
25489 : return gen_split_127 (insn, operands);
25490 :
25491 : case 3:
25492 : if (!
25493 : #line 7522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25494 : ( reload_completed))
25495 : return NULL;
25496 : return gen_split_140 (insn, operands);
25497 :
25498 : case 4:
25499 : if (!
25500 : #line 7522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25501 : ( reload_completed))
25502 : return NULL;
25503 : return gen_split_141 (insn, operands);
25504 :
25505 : case 5:
25506 : if (!(
25507 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25508 : (TARGET_64BIT) &&
25509 : #line 7522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25510 : ( reload_completed)))
25511 : return NULL;
25512 : return gen_split_142 (insn, operands);
25513 :
25514 : default:
25515 : return NULL;
25516 : }
25517 :
25518 : case ZERO_EXTEND:
25519 : switch (pattern942 (x3))
25520 : {
25521 : case 0:
25522 : if (!((
25523 : #line 6562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25524 : (ix86_binary_operator_ok (UNKNOWN, DImode, operands, TARGET_APX_NDD)) &&
25525 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25526 : (!TARGET_64BIT)) &&
25527 : #line 6564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25528 : ( reload_completed)))
25529 : return NULL;
25530 : return gen_split_106 (insn, operands);
25531 :
25532 : case 1:
25533 : if (!((
25534 : #line 6562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25535 : (ix86_binary_operator_ok (UNKNOWN, TImode, operands, TARGET_APX_NDD)) &&
25536 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25537 : (TARGET_64BIT)) &&
25538 : #line 6564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25539 : ( reload_completed)))
25540 : return NULL;
25541 : return gen_split_107 (insn, operands);
25542 :
25543 : default:
25544 : return NULL;
25545 : }
25546 :
25547 : case PLUS:
25548 : x8 = XEXP (x3, 0);
25549 : operands[0] = x8;
25550 : x6 = XEXP (x5, 0);
25551 : switch (GET_CODE (x6))
25552 : {
25553 : case ASHIFT:
25554 : switch (pattern1167 (x4))
25555 : {
25556 : case 0:
25557 : if (!((
25558 : #line 6593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25559 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
25560 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25561 : (!TARGET_64BIT)) &&
25562 : #line 6595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25563 : ( reload_completed)))
25564 : return NULL;
25565 : return gen_split_108 (insn, operands);
25566 :
25567 : case 1:
25568 : if (!((
25569 : #line 6593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25570 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
25571 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25572 : (TARGET_64BIT)) &&
25573 : #line 6595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25574 : ( reload_completed)))
25575 : return NULL;
25576 : return gen_split_111 (insn, operands);
25577 :
25578 : case 2:
25579 : if (!((
25580 : #line 6624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25581 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
25582 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25583 : (!TARGET_64BIT)) &&
25584 : #line 6626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25585 : ( reload_completed)))
25586 : return NULL;
25587 : return gen_split_114 (insn, operands);
25588 :
25589 : case 3:
25590 : if (!((
25591 : #line 6624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25592 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
25593 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25594 : (TARGET_64BIT)) &&
25595 : #line 6626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25596 : ( reload_completed)))
25597 : return NULL;
25598 : return gen_split_117 (insn, operands);
25599 :
25600 : default:
25601 : return NULL;
25602 : }
25603 :
25604 : case EQ:
25605 : switch (pattern1170 (x4))
25606 : {
25607 : case 0:
25608 : if (!(
25609 : #line 10479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25610 : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
25611 : && ix86_pre_reload_split ()) &&
25612 : #line 10482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25613 : ( 1)))
25614 : return NULL;
25615 : return gen_split_208 (insn, operands);
25616 :
25617 : case 1:
25618 : if (!(
25619 : #line 10479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25620 : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
25621 : && ix86_pre_reload_split ()) &&
25622 : #line 10482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25623 : ( 1)))
25624 : return NULL;
25625 : return gen_split_209 (insn, operands);
25626 :
25627 : case 2:
25628 : if (!(
25629 : #line 10479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25630 : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)
25631 : && ix86_pre_reload_split ()) &&
25632 : #line 10482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25633 : ( 1)))
25634 : return NULL;
25635 : return gen_split_210 (insn, operands);
25636 :
25637 : case 3:
25638 : if (!((
25639 : #line 10479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25640 : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
25641 : && ix86_pre_reload_split ()) &&
25642 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25643 : (TARGET_64BIT)) &&
25644 : #line 10482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25645 : ( 1)))
25646 : return NULL;
25647 : return gen_split_211 (insn, operands);
25648 :
25649 : default:
25650 : return NULL;
25651 : }
25652 :
25653 : case NE:
25654 : switch (pattern1173 (x4))
25655 : {
25656 : case 0:
25657 : if (!(
25658 : #line 10500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25659 : (CONST_INT_P (operands[2])
25660 : && (QImode != DImode
25661 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
25662 : && ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
25663 : && ix86_pre_reload_split ()) &&
25664 : #line 10506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25665 : ( 1)))
25666 : return NULL;
25667 : return gen_split_212 (insn, operands);
25668 :
25669 : case 1:
25670 : if (!(
25671 : #line 10500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25672 : (CONST_INT_P (operands[2])
25673 : && (HImode != DImode
25674 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
25675 : && ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
25676 : && ix86_pre_reload_split ()) &&
25677 : #line 10506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25678 : ( 1)))
25679 : return NULL;
25680 : return gen_split_213 (insn, operands);
25681 :
25682 : case 2:
25683 : if (!(
25684 : #line 10500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25685 : (CONST_INT_P (operands[2])
25686 : && (SImode != DImode
25687 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
25688 : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)
25689 : && ix86_pre_reload_split ()) &&
25690 : #line 10506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25691 : ( 1)))
25692 : return NULL;
25693 : return gen_split_214 (insn, operands);
25694 :
25695 : case 3:
25696 : if (!((
25697 : #line 10500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25698 : (CONST_INT_P (operands[2])
25699 : && (DImode != DImode
25700 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
25701 : && ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
25702 : && ix86_pre_reload_split ()) &&
25703 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25704 : (TARGET_64BIT)) &&
25705 : #line 10506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25706 : ( 1)))
25707 : return NULL;
25708 : return gen_split_215 (insn, operands);
25709 :
25710 : default:
25711 : return NULL;
25712 : }
25713 :
25714 : default:
25715 : return NULL;
25716 : }
25717 :
25718 : case IOR:
25719 : switch (pattern1066 (x3))
25720 : {
25721 : case 0:
25722 : if (!((
25723 : #line 6593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25724 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
25725 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25726 : (!TARGET_64BIT)) &&
25727 : #line 6595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25728 : ( reload_completed)))
25729 : return NULL;
25730 : return gen_split_109 (insn, operands);
25731 :
25732 : case 1:
25733 : if (!((
25734 : #line 6593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25735 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
25736 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25737 : (TARGET_64BIT)) &&
25738 : #line 6595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25739 : ( reload_completed)))
25740 : return NULL;
25741 : return gen_split_112 (insn, operands);
25742 :
25743 : case 2:
25744 : if (!((
25745 : #line 6624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25746 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
25747 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25748 : (!TARGET_64BIT)) &&
25749 : #line 6626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25750 : ( reload_completed)))
25751 : return NULL;
25752 : return gen_split_115 (insn, operands);
25753 :
25754 : case 3:
25755 : if (!((
25756 : #line 6624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25757 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
25758 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25759 : (TARGET_64BIT)) &&
25760 : #line 6626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25761 : ( reload_completed)))
25762 : return NULL;
25763 : return gen_split_118 (insn, operands);
25764 :
25765 : default:
25766 : return NULL;
25767 : }
25768 :
25769 : case XOR:
25770 : switch (pattern1066 (x3))
25771 : {
25772 : case 0:
25773 : if (!((
25774 : #line 6593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25775 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
25776 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25777 : (!TARGET_64BIT)) &&
25778 : #line 6595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25779 : ( reload_completed)))
25780 : return NULL;
25781 : return gen_split_110 (insn, operands);
25782 :
25783 : case 1:
25784 : if (!((
25785 : #line 6593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25786 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
25787 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25788 : (TARGET_64BIT)) &&
25789 : #line 6595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25790 : ( reload_completed)))
25791 : return NULL;
25792 : return gen_split_113 (insn, operands);
25793 :
25794 : case 2:
25795 : if (!((
25796 : #line 6624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25797 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
25798 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25799 : (!TARGET_64BIT)) &&
25800 : #line 6626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25801 : ( reload_completed)))
25802 : return NULL;
25803 : return gen_split_116 (insn, operands);
25804 :
25805 : case 3:
25806 : if (!((
25807 : #line 6624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25808 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
25809 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25810 : (TARGET_64BIT)) &&
25811 : #line 6626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25812 : ( reload_completed)))
25813 : return NULL;
25814 : return gen_split_119 (insn, operands);
25815 :
25816 : default:
25817 : return NULL;
25818 : }
25819 :
25820 : case EQ:
25821 : x9 = XEXP (x5, 1);
25822 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
25823 : return NULL;
25824 : switch (pattern363 (x3))
25825 : {
25826 : case 0:
25827 : if (!(
25828 : #line 10526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25829 : (ix86_unary_operator_ok (PLUS, QImode, operands)
25830 : && ix86_pre_reload_split ()) &&
25831 : #line 10529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25832 : ( 1)))
25833 : return NULL;
25834 : return gen_split_216 (insn, operands);
25835 :
25836 : case 1:
25837 : if (!(
25838 : #line 10526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25839 : (ix86_unary_operator_ok (PLUS, HImode, operands)
25840 : && ix86_pre_reload_split ()) &&
25841 : #line 10529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25842 : ( 1)))
25843 : return NULL;
25844 : return gen_split_217 (insn, operands);
25845 :
25846 : case 2:
25847 : if (!(
25848 : #line 10526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25849 : (ix86_unary_operator_ok (PLUS, SImode, operands)
25850 : && ix86_pre_reload_split ()) &&
25851 : #line 10529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25852 : ( 1)))
25853 : return NULL;
25854 : return gen_split_218 (insn, operands);
25855 :
25856 : case 3:
25857 : if (!((
25858 : #line 10526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25859 : (ix86_unary_operator_ok (PLUS, DImode, operands)
25860 : && ix86_pre_reload_split ()) &&
25861 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25862 : (TARGET_64BIT)) &&
25863 : #line 10529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25864 : ( 1)))
25865 : return NULL;
25866 : return gen_split_219 (insn, operands);
25867 :
25868 : default:
25869 : return NULL;
25870 : }
25871 :
25872 : case NE:
25873 : x9 = XEXP (x5, 1);
25874 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
25875 : return NULL;
25876 : switch (pattern363 (x3))
25877 : {
25878 : case 0:
25879 : if (!(
25880 : #line 10547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25881 : (ix86_unary_operator_ok (PLUS, QImode, operands)
25882 : && ix86_pre_reload_split ()) &&
25883 : #line 10550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25884 : ( 1)))
25885 : return NULL;
25886 : return gen_split_220 (insn, operands);
25887 :
25888 : case 1:
25889 : if (!(
25890 : #line 10547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25891 : (ix86_unary_operator_ok (PLUS, HImode, operands)
25892 : && ix86_pre_reload_split ()) &&
25893 : #line 10550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25894 : ( 1)))
25895 : return NULL;
25896 : return gen_split_221 (insn, operands);
25897 :
25898 : case 2:
25899 : if (!(
25900 : #line 10547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25901 : (ix86_unary_operator_ok (PLUS, SImode, operands)
25902 : && ix86_pre_reload_split ()) &&
25903 : #line 10550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25904 : ( 1)))
25905 : return NULL;
25906 : return gen_split_222 (insn, operands);
25907 :
25908 : case 3:
25909 : if (!((
25910 : #line 10547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25911 : (ix86_unary_operator_ok (PLUS, DImode, operands)
25912 : && ix86_pre_reload_split ()) &&
25913 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25914 : (TARGET_64BIT)) &&
25915 : #line 10550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25916 : ( 1)))
25917 : return NULL;
25918 : return gen_split_223 (insn, operands);
25919 :
25920 : default:
25921 : return NULL;
25922 : }
25923 :
25924 : case MINUS:
25925 : switch (pattern946 (x3))
25926 : {
25927 : case 0:
25928 : if (!(
25929 : #line 10595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25930 : (CONST_INT_P (operands[2])
25931 : && (QImode != DImode
25932 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
25933 : && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
25934 : && ix86_pre_reload_split ()) &&
25935 : #line 10601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25936 : ( 1)))
25937 : return NULL;
25938 : return gen_split_228 (insn, operands);
25939 :
25940 : case 1:
25941 : if (!(
25942 : #line 10595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25943 : (CONST_INT_P (operands[2])
25944 : && (HImode != DImode
25945 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
25946 : && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
25947 : && ix86_pre_reload_split ()) &&
25948 : #line 10601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25949 : ( 1)))
25950 : return NULL;
25951 : return gen_split_229 (insn, operands);
25952 :
25953 : case 2:
25954 : if (!(
25955 : #line 10595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25956 : (CONST_INT_P (operands[2])
25957 : && (SImode != DImode
25958 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
25959 : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
25960 : && ix86_pre_reload_split ()) &&
25961 : #line 10601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25962 : ( 1)))
25963 : return NULL;
25964 : return gen_split_230 (insn, operands);
25965 :
25966 : case 3:
25967 : if (!((
25968 : #line 10595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25969 : (CONST_INT_P (operands[2])
25970 : && (DImode != DImode
25971 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
25972 : && ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
25973 : && ix86_pre_reload_split ()) &&
25974 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25975 : (TARGET_64BIT)) &&
25976 : #line 10601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25977 : ( 1)))
25978 : return NULL;
25979 : return gen_split_231 (insn, operands);
25980 :
25981 : case 4:
25982 : if (!(
25983 : #line 10624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25984 : (CONST_INT_P (operands[2])
25985 : && (QImode != DImode
25986 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
25987 : && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
25988 : && ix86_pre_reload_split ()) &&
25989 : #line 10630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25990 : ( 1)))
25991 : return NULL;
25992 : return gen_split_232 (insn, operands);
25993 :
25994 : case 5:
25995 : if (!(
25996 : #line 10624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25997 : (CONST_INT_P (operands[2])
25998 : && (HImode != DImode
25999 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
26000 : && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
26001 : && ix86_pre_reload_split ()) &&
26002 : #line 10630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26003 : ( 1)))
26004 : return NULL;
26005 : return gen_split_233 (insn, operands);
26006 :
26007 : case 6:
26008 : if (!(
26009 : #line 10624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26010 : (CONST_INT_P (operands[2])
26011 : && (SImode != DImode
26012 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
26013 : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
26014 : && ix86_pre_reload_split ()) &&
26015 : #line 10630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26016 : ( 1)))
26017 : return NULL;
26018 : return gen_split_234 (insn, operands);
26019 :
26020 : case 7:
26021 : if (!((
26022 : #line 10624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26023 : (CONST_INT_P (operands[2])
26024 : && (DImode != DImode
26025 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
26026 : && ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
26027 : && ix86_pre_reload_split ()) &&
26028 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26029 : (TARGET_64BIT)) &&
26030 : #line 10630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26031 : ( 1)))
26032 : return NULL;
26033 : return gen_split_235 (insn, operands);
26034 :
26035 : default:
26036 : return NULL;
26037 : }
26038 :
26039 : case UNSPEC:
26040 : switch (pattern950 (x3))
26041 : {
26042 : case 0:
26043 : if (!
26044 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26045 : (ptr_mode == SImode))
26046 : return NULL;
26047 : return gen_split_930 (insn, operands);
26048 :
26049 : case 1:
26050 : if (!
26051 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26052 : (ptr_mode == DImode))
26053 : return NULL;
26054 : return gen_split_931 (insn, operands);
26055 :
26056 : case 2:
26057 : if (!(
26058 : #line 23689 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26059 : (!TARGET_64BIT && TARGET_GNU2_TLS) &&
26060 : #line 23691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26061 : ( 1)))
26062 : return NULL;
26063 : return gen_split_933 (insn, operands);
26064 :
26065 : case 3:
26066 : if (!((
26067 : #line 23752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26068 : (TARGET_64BIT && TARGET_GNU2_TLS) &&
26069 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26070 : (ptr_mode == SImode)) &&
26071 : #line 23754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26072 : ( 1)))
26073 : return NULL;
26074 : return gen_split_934 (insn, operands);
26075 :
26076 : case 4:
26077 : if (!((
26078 : #line 23752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26079 : (TARGET_64BIT && TARGET_GNU2_TLS) &&
26080 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26081 : (ptr_mode == DImode)) &&
26082 : #line 23754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26083 : ( 1)))
26084 : return NULL;
26085 : return gen_split_935 (insn, operands);
26086 :
26087 : default:
26088 : return NULL;
26089 : }
26090 :
26091 : default:
26092 : return NULL;
26093 : }
26094 : }
26095 :
26096 : rtx_insn *
26097 : split_44 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26098 : {
26099 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26100 : rtx x2, x3, x4, x5, x6, x7, x8;
26101 : rtx_insn *res ATTRIBUTE_UNUSED;
26102 : x2 = XEXP (x1, 1);
26103 : switch (XVECLEN (x2, 0))
26104 : {
26105 : case 3:
26106 : x3 = XEXP (x1, 0);
26107 : operands[0] = x3;
26108 : switch (XINT (x2, 1))
26109 : {
26110 : case 52:
26111 : x4 = XVECEXP (x2, 0, 0);
26112 : operands[1] = x4;
26113 : x5 = XVECEXP (x2, 0, 1);
26114 : operands[2] = x5;
26115 : x6 = XVECEXP (x2, 0, 2);
26116 : switch (GET_CODE (x6))
26117 : {
26118 : case LT:
26119 : switch (pattern741 (x2))
26120 : {
26121 : case 0:
26122 : if ((
26123 : #line 27248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26124 : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
26125 : && (rtx_equal_p (operands[1], operands[3])
26126 : && rtx_equal_p (operands[2], operands[4]))
26127 : && ix86_pre_reload_split ()) &&
26128 : #line 27253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26129 : ( 1)))
26130 : return gen_split_965 (insn, operands);
26131 : if (!(
26132 : #line 27269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26133 : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
26134 : && (rtx_equal_p (operands[1], operands[4])
26135 : && rtx_equal_p (operands[2], operands[3]))
26136 : && ix86_pre_reload_split ()) &&
26137 : #line 27274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26138 : ( 1)))
26139 : return NULL;
26140 : return gen_split_967 (insn, operands);
26141 :
26142 : case 1:
26143 : if ((
26144 : #line 27248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26145 : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
26146 : && (rtx_equal_p (operands[1], operands[3])
26147 : && rtx_equal_p (operands[2], operands[4]))
26148 : && ix86_pre_reload_split ()) &&
26149 : #line 27253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26150 : ( 1)))
26151 : return gen_split_966 (insn, operands);
26152 : if (!(
26153 : #line 27269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26154 : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
26155 : && (rtx_equal_p (operands[1], operands[4])
26156 : && rtx_equal_p (operands[2], operands[3]))
26157 : && ix86_pre_reload_split ()) &&
26158 : #line 27274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26159 : ( 1)))
26160 : return NULL;
26161 : return gen_split_968 (insn, operands);
26162 :
26163 : default:
26164 : return NULL;
26165 : }
26166 :
26167 : case EQ:
26168 : switch (pattern743 (x2))
26169 : {
26170 : case 0:
26171 : if (!(
26172 : #line 4366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26173 : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()) &&
26174 : #line 4368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26175 : ( 1)))
26176 : return NULL;
26177 : return gen_split_1106 (insn, operands);
26178 :
26179 : case 1:
26180 : if (!(
26181 : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26182 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
26183 : #line 4444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26184 : ( 1)))
26185 : return NULL;
26186 : return gen_split_1109 (insn, operands);
26187 :
26188 : case 2:
26189 : if (!(
26190 : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26191 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
26192 : #line 4444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26193 : ( 1)))
26194 : return NULL;
26195 : return gen_split_1110 (insn, operands);
26196 :
26197 : case 3:
26198 : if (!(
26199 : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26200 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
26201 : #line 4444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26202 : ( 1)))
26203 : return NULL;
26204 : return gen_split_1111 (insn, operands);
26205 :
26206 : default:
26207 : return NULL;
26208 : }
26209 :
26210 : case SUBREG:
26211 : switch (pattern857 (x2))
26212 : {
26213 : case 0:
26214 : if (!(
26215 : #line 4394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26216 : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()) &&
26217 : #line 4396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26218 : ( 1)))
26219 : return NULL;
26220 : return gen_split_1107 (insn, operands);
26221 :
26222 : case 1:
26223 : if (!(
26224 : #line 4394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26225 : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()) &&
26226 : #line 4396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26227 : ( 1)))
26228 : return NULL;
26229 : return gen_split_1108 (insn, operands);
26230 :
26231 : case 2:
26232 : if (!(
26233 : #line 4470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26234 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
26235 : #line 4472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26236 : ( 1)))
26237 : return NULL;
26238 : return gen_split_1112 (insn, operands);
26239 :
26240 : default:
26241 : return NULL;
26242 : }
26243 :
26244 : default:
26245 : return NULL;
26246 : }
26247 :
26248 : case 60:
26249 : switch (pattern600 (x2))
26250 : {
26251 : case 0:
26252 : if (!((
26253 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26254 : (TARGET_AVX512F && ix86_pre_reload_split ()
26255 : && rtx_equal_p (operands[1], operands[2])
26256 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26257 : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26258 : (TARGET_AVX512BW)) &&
26259 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26260 : ( 1)))
26261 : return NULL;
26262 : return gen_split_1492 (insn, operands);
26263 :
26264 : case 1:
26265 : if (!((
26266 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26267 : (TARGET_AVX512F && ix86_pre_reload_split ()
26268 : && rtx_equal_p (operands[1], operands[2])
26269 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26270 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26271 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
26272 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26273 : ( 1)))
26274 : return NULL;
26275 : return gen_split_1494 (insn, operands);
26276 :
26277 : case 2:
26278 : if (!((
26279 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26280 : (TARGET_AVX512F && ix86_pre_reload_split ()
26281 : && rtx_equal_p (operands[1], operands[2])
26282 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26283 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26284 : (TARGET_AVX512BW)) &&
26285 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26286 : ( 1)))
26287 : return NULL;
26288 : return gen_split_1498 (insn, operands);
26289 :
26290 : case 3:
26291 : if (!((
26292 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26293 : (TARGET_AVX512F && ix86_pre_reload_split ()
26294 : && rtx_equal_p (operands[1], operands[2])
26295 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26296 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26297 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
26298 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26299 : ( 1)))
26300 : return NULL;
26301 : return gen_split_1496 (insn, operands);
26302 :
26303 : case 4:
26304 : if (!((
26305 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26306 : (TARGET_AVX512F && ix86_pre_reload_split ()
26307 : && rtx_equal_p (operands[1], operands[2])
26308 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26309 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26310 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
26311 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26312 : ( 1)))
26313 : return NULL;
26314 : return gen_split_1500 (insn, operands);
26315 :
26316 : case 5:
26317 : if (!(
26318 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26319 : (TARGET_AVX512F && ix86_pre_reload_split ()
26320 : && rtx_equal_p (operands[1], operands[2])
26321 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26322 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26323 : ( 1)))
26324 : return NULL;
26325 : return gen_split_1504 (insn, operands);
26326 :
26327 : case 6:
26328 : if (!((
26329 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26330 : (TARGET_AVX512F && ix86_pre_reload_split ()
26331 : && rtx_equal_p (operands[1], operands[2])
26332 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26333 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26334 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
26335 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26336 : ( 1)))
26337 : return NULL;
26338 : return gen_split_1502 (insn, operands);
26339 :
26340 : case 7:
26341 : if (!((
26342 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26343 : (TARGET_AVX512F && ix86_pre_reload_split ()
26344 : && rtx_equal_p (operands[1], operands[2])
26345 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26346 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26347 : (TARGET_AVX512VL)) &&
26348 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26349 : ( 1)))
26350 : return NULL;
26351 : return gen_split_1506 (insn, operands);
26352 :
26353 : case 8:
26354 : if (!((
26355 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26356 : (TARGET_AVX512F && ix86_pre_reload_split ()
26357 : && rtx_equal_p (operands[1], operands[2])
26358 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26359 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26360 : (TARGET_AVX512VL)) &&
26361 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26362 : ( 1)))
26363 : return NULL;
26364 : return gen_split_1508 (insn, operands);
26365 :
26366 : case 9:
26367 : if (!(
26368 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26369 : (TARGET_AVX512F && ix86_pre_reload_split ()
26370 : && rtx_equal_p (operands[1], operands[2])
26371 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26372 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26373 : ( 1)))
26374 : return NULL;
26375 : return gen_split_1510 (insn, operands);
26376 :
26377 : case 10:
26378 : if (!((
26379 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26380 : (TARGET_AVX512F && ix86_pre_reload_split ()
26381 : && rtx_equal_p (operands[1], operands[2])
26382 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26383 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26384 : (TARGET_AVX512VL)) &&
26385 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26386 : ( 1)))
26387 : return NULL;
26388 : return gen_split_1512 (insn, operands);
26389 :
26390 : case 11:
26391 : if (!((
26392 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26393 : (TARGET_AVX512F && ix86_pre_reload_split ()
26394 : && rtx_equal_p (operands[1], operands[2])
26395 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26396 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26397 : (TARGET_AVX512VL)) &&
26398 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26399 : ( 1)))
26400 : return NULL;
26401 : return gen_split_1514 (insn, operands);
26402 :
26403 : case 12:
26404 : if (!(
26405 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26406 : (TARGET_AVX512BW && ix86_pre_reload_split ()
26407 : && ix86_binary_operator_ok (US_MINUS, V64QImode, operands)
26408 : && (INTVAL (operands[4]) & 3) == 0) &&
26409 : #line 5147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26410 : ( 1)))
26411 : return NULL;
26412 : return gen_split_1558 (insn, operands);
26413 :
26414 : case 13:
26415 : if (!((
26416 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26417 : (TARGET_AVX512BW && ix86_pre_reload_split ()
26418 : && ix86_binary_operator_ok (US_MINUS, V16QImode, operands)
26419 : && (INTVAL (operands[4]) & 3) == 0) &&
26420 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26421 : (TARGET_AVX512VL)) &&
26422 : #line 5147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26423 : ( 1)))
26424 : return NULL;
26425 : return gen_split_1560 (insn, operands);
26426 :
26427 : case 14:
26428 : if (!((
26429 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26430 : (TARGET_AVX512BW && ix86_pre_reload_split ()
26431 : && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)
26432 : && (INTVAL (operands[4]) & 3) == 0) &&
26433 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26434 : (TARGET_AVX512VL)) &&
26435 : #line 5147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26436 : ( 1)))
26437 : return NULL;
26438 : return gen_split_1566 (insn, operands);
26439 :
26440 : case 15:
26441 : if (!((
26442 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26443 : (TARGET_AVX512BW && ix86_pre_reload_split ()
26444 : && ix86_binary_operator_ok (US_MINUS, V32QImode, operands)
26445 : && (INTVAL (operands[4]) & 3) == 0) &&
26446 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26447 : (TARGET_AVX512VL)) &&
26448 : #line 5147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26449 : ( 1)))
26450 : return NULL;
26451 : return gen_split_1562 (insn, operands);
26452 :
26453 : case 16:
26454 : if (!(
26455 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26456 : (TARGET_AVX512BW && ix86_pre_reload_split ()
26457 : && ix86_binary_operator_ok (US_MINUS, V32HImode, operands)
26458 : && (INTVAL (operands[4]) & 3) == 0) &&
26459 : #line 5147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26460 : ( 1)))
26461 : return NULL;
26462 : return gen_split_1564 (insn, operands);
26463 :
26464 : case 17:
26465 : if (!((
26466 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26467 : (TARGET_AVX512BW && ix86_pre_reload_split ()
26468 : && ix86_binary_operator_ok (US_MINUS, V8HImode, operands)
26469 : && (INTVAL (operands[4]) & 3) == 0) &&
26470 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26471 : (TARGET_AVX512VL)) &&
26472 : #line 5147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26473 : ( 1)))
26474 : return NULL;
26475 : return gen_split_1568 (insn, operands);
26476 :
26477 : default:
26478 : return NULL;
26479 : }
26480 :
26481 : case 158:
26482 : switch (pattern600 (x2))
26483 : {
26484 : case 0:
26485 : if (!((
26486 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26487 : (TARGET_AVX512F && ix86_pre_reload_split ()
26488 : && rtx_equal_p (operands[1], operands[2])
26489 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26490 : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26491 : (TARGET_AVX512BW)) &&
26492 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26493 : ( 1)))
26494 : return NULL;
26495 : return gen_split_1493 (insn, operands);
26496 :
26497 : case 1:
26498 : if (!((
26499 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26500 : (TARGET_AVX512F && ix86_pre_reload_split ()
26501 : && rtx_equal_p (operands[1], operands[2])
26502 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26503 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26504 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
26505 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26506 : ( 1)))
26507 : return NULL;
26508 : return gen_split_1495 (insn, operands);
26509 :
26510 : case 2:
26511 : if (!((
26512 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26513 : (TARGET_AVX512F && ix86_pre_reload_split ()
26514 : && rtx_equal_p (operands[1], operands[2])
26515 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26516 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26517 : (TARGET_AVX512BW)) &&
26518 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26519 : ( 1)))
26520 : return NULL;
26521 : return gen_split_1499 (insn, operands);
26522 :
26523 : case 3:
26524 : if (!((
26525 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26526 : (TARGET_AVX512F && ix86_pre_reload_split ()
26527 : && rtx_equal_p (operands[1], operands[2])
26528 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26529 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26530 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
26531 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26532 : ( 1)))
26533 : return NULL;
26534 : return gen_split_1497 (insn, operands);
26535 :
26536 : case 4:
26537 : if (!((
26538 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26539 : (TARGET_AVX512F && ix86_pre_reload_split ()
26540 : && rtx_equal_p (operands[1], operands[2])
26541 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26542 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26543 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
26544 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26545 : ( 1)))
26546 : return NULL;
26547 : return gen_split_1501 (insn, operands);
26548 :
26549 : case 5:
26550 : if (!(
26551 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26552 : (TARGET_AVX512F && ix86_pre_reload_split ()
26553 : && rtx_equal_p (operands[1], operands[2])
26554 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26555 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26556 : ( 1)))
26557 : return NULL;
26558 : return gen_split_1505 (insn, operands);
26559 :
26560 : case 6:
26561 : if (!((
26562 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26563 : (TARGET_AVX512F && ix86_pre_reload_split ()
26564 : && rtx_equal_p (operands[1], operands[2])
26565 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26566 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26567 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
26568 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26569 : ( 1)))
26570 : return NULL;
26571 : return gen_split_1503 (insn, operands);
26572 :
26573 : case 7:
26574 : if (!((
26575 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26576 : (TARGET_AVX512F && ix86_pre_reload_split ()
26577 : && rtx_equal_p (operands[1], operands[2])
26578 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26579 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26580 : (TARGET_AVX512VL)) &&
26581 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26582 : ( 1)))
26583 : return NULL;
26584 : return gen_split_1507 (insn, operands);
26585 :
26586 : case 8:
26587 : if (!((
26588 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26589 : (TARGET_AVX512F && ix86_pre_reload_split ()
26590 : && rtx_equal_p (operands[1], operands[2])
26591 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26592 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26593 : (TARGET_AVX512VL)) &&
26594 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26595 : ( 1)))
26596 : return NULL;
26597 : return gen_split_1509 (insn, operands);
26598 :
26599 : case 9:
26600 : if (!(
26601 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26602 : (TARGET_AVX512F && ix86_pre_reload_split ()
26603 : && rtx_equal_p (operands[1], operands[2])
26604 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26605 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26606 : ( 1)))
26607 : return NULL;
26608 : return gen_split_1511 (insn, operands);
26609 :
26610 : case 10:
26611 : if (!((
26612 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26613 : (TARGET_AVX512F && ix86_pre_reload_split ()
26614 : && rtx_equal_p (operands[1], operands[2])
26615 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26616 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26617 : (TARGET_AVX512VL)) &&
26618 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26619 : ( 1)))
26620 : return NULL;
26621 : return gen_split_1513 (insn, operands);
26622 :
26623 : case 11:
26624 : if (!((
26625 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26626 : (TARGET_AVX512F && ix86_pre_reload_split ()
26627 : && rtx_equal_p (operands[1], operands[2])
26628 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26629 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26630 : (TARGET_AVX512VL)) &&
26631 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26632 : ( 1)))
26633 : return NULL;
26634 : return gen_split_1515 (insn, operands);
26635 :
26636 : case 12:
26637 : if (!(
26638 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26639 : (TARGET_AVX512BW && ix86_pre_reload_split ()
26640 : && ix86_binary_operator_ok (US_MINUS, V64QImode, operands)
26641 : && (INTVAL (operands[4]) & 1) == 0) &&
26642 : #line 5147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26643 : ( 1)))
26644 : return NULL;
26645 : return gen_split_1559 (insn, operands);
26646 :
26647 : case 13:
26648 : if (!((
26649 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26650 : (TARGET_AVX512BW && ix86_pre_reload_split ()
26651 : && ix86_binary_operator_ok (US_MINUS, V16QImode, operands)
26652 : && (INTVAL (operands[4]) & 1) == 0) &&
26653 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26654 : (TARGET_AVX512VL)) &&
26655 : #line 5147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26656 : ( 1)))
26657 : return NULL;
26658 : return gen_split_1561 (insn, operands);
26659 :
26660 : case 14:
26661 : if (!((
26662 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26663 : (TARGET_AVX512BW && ix86_pre_reload_split ()
26664 : && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)
26665 : && (INTVAL (operands[4]) & 1) == 0) &&
26666 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26667 : (TARGET_AVX512VL)) &&
26668 : #line 5147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26669 : ( 1)))
26670 : return NULL;
26671 : return gen_split_1567 (insn, operands);
26672 :
26673 : case 15:
26674 : if (!((
26675 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26676 : (TARGET_AVX512BW && ix86_pre_reload_split ()
26677 : && ix86_binary_operator_ok (US_MINUS, V32QImode, operands)
26678 : && (INTVAL (operands[4]) & 1) == 0) &&
26679 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26680 : (TARGET_AVX512VL)) &&
26681 : #line 5147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26682 : ( 1)))
26683 : return NULL;
26684 : return gen_split_1563 (insn, operands);
26685 :
26686 : case 16:
26687 : if (!(
26688 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26689 : (TARGET_AVX512BW && ix86_pre_reload_split ()
26690 : && ix86_binary_operator_ok (US_MINUS, V32HImode, operands)
26691 : && (INTVAL (operands[4]) & 1) == 0) &&
26692 : #line 5147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26693 : ( 1)))
26694 : return NULL;
26695 : return gen_split_1565 (insn, operands);
26696 :
26697 : case 17:
26698 : if (!((
26699 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26700 : (TARGET_AVX512BW && ix86_pre_reload_split ()
26701 : && ix86_binary_operator_ok (US_MINUS, V8HImode, operands)
26702 : && (INTVAL (operands[4]) & 1) == 0) &&
26703 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26704 : (TARGET_AVX512VL)) &&
26705 : #line 5147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26706 : ( 1)))
26707 : return NULL;
26708 : return gen_split_1569 (insn, operands);
26709 :
26710 : default:
26711 : return NULL;
26712 : }
26713 :
26714 : case 122:
26715 : if (pattern306 (x2) != 0
26716 : || !
26717 : #line 23639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26718 : ((TARGET_SSSE3 && reload_completed
26719 : && SSE_REGNO_P (REGNO (operands[0])))
26720 : || operands[3] == const0_rtx
26721 : || INTVAL (operands[3]) == 64))
26722 : return NULL;
26723 : return gen_split_3563 (insn, operands);
26724 :
26725 : default:
26726 : return NULL;
26727 : }
26728 :
26729 : case 2:
26730 : switch (XINT (x2, 1))
26731 : {
26732 : case 58:
26733 : switch (pattern68 (x1))
26734 : {
26735 : case 0:
26736 : if (!(
26737 : #line 4820 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26738 : (TARGET_MMX || TARGET_MMX_WITH_SSE) &&
26739 : #line 4825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26740 : ( reload_completed
26741 : && SSE_REGNO_P (REGNO (operands[0])))))
26742 : return NULL;
26743 : return gen_split_1147 (insn, operands);
26744 :
26745 : case 1:
26746 : if (!(
26747 : #line 4859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26748 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE) &&
26749 : #line 4861 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26750 : ( reload_completed)))
26751 : return NULL;
26752 : return gen_split_1149 (insn, operands);
26753 :
26754 : default:
26755 : return NULL;
26756 : }
26757 :
26758 : case 131:
26759 : x3 = XEXP (x1, 0);
26760 : if (GET_CODE (x3) != REG
26761 : || REGNO (x3) != 17)
26762 : return NULL;
26763 : x4 = XVECEXP (x2, 0, 0);
26764 : switch (GET_CODE (x4))
26765 : {
26766 : case AND:
26767 : switch (pattern611 (x1))
26768 : {
26769 : case 0:
26770 : if (!(
26771 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26772 : (TARGET_SSE4_1
26773 : && ix86_pre_reload_split ()) &&
26774 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26775 : ( 1)))
26776 : return NULL;
26777 : return gen_split_3671 (insn, operands);
26778 :
26779 : case 1:
26780 : if (!(
26781 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26782 : (TARGET_SSE4_1
26783 : && ix86_pre_reload_split ()) &&
26784 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26785 : ( 1)))
26786 : return NULL;
26787 : return gen_split_3672 (insn, operands);
26788 :
26789 : case 2:
26790 : if (!(
26791 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26792 : (TARGET_SSE4_1
26793 : && ix86_pre_reload_split ()) &&
26794 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26795 : ( 1)))
26796 : return NULL;
26797 : return gen_split_3673 (insn, operands);
26798 :
26799 : case 3:
26800 : if (!(
26801 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26802 : (TARGET_SSE4_1
26803 : && ix86_pre_reload_split ()) &&
26804 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26805 : ( 1)))
26806 : return NULL;
26807 : return gen_split_3674 (insn, operands);
26808 :
26809 : case 4:
26810 : if (!(
26811 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26812 : (TARGET_SSE4_1
26813 : && ix86_pre_reload_split ()) &&
26814 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26815 : ( 1)))
26816 : return NULL;
26817 : return gen_split_3675 (insn, operands);
26818 :
26819 : case 5:
26820 : if (!(
26821 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26822 : (TARGET_SSE4_1
26823 : && ix86_pre_reload_split ()) &&
26824 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26825 : ( 1)))
26826 : return NULL;
26827 : return gen_split_3676 (insn, operands);
26828 :
26829 : case 6:
26830 : if (!(
26831 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26832 : (TARGET_SSE4_1
26833 : && ix86_pre_reload_split ()) &&
26834 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26835 : ( 1)))
26836 : return NULL;
26837 : return gen_split_3677 (insn, operands);
26838 :
26839 : case 7:
26840 : if (!((
26841 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26842 : (TARGET_SSE4_1
26843 : && ix86_pre_reload_split ()) &&
26844 : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26845 : (TARGET_AVX)) &&
26846 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26847 : ( 1)))
26848 : return NULL;
26849 : return gen_split_3678 (insn, operands);
26850 :
26851 : case 8:
26852 : if (!((
26853 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26854 : (TARGET_SSE4_1
26855 : && ix86_pre_reload_split ()) &&
26856 : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26857 : (TARGET_AVX)) &&
26858 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26859 : ( 1)))
26860 : return NULL;
26861 : return gen_split_3679 (insn, operands);
26862 :
26863 : case 9:
26864 : if (!((
26865 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26866 : (TARGET_SSE4_1
26867 : && ix86_pre_reload_split ()) &&
26868 : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26869 : (TARGET_AVX)) &&
26870 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26871 : ( 1)))
26872 : return NULL;
26873 : return gen_split_3680 (insn, operands);
26874 :
26875 : case 10:
26876 : if (!((
26877 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26878 : (TARGET_SSE4_1
26879 : && ix86_pre_reload_split ()) &&
26880 : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26881 : (TARGET_AVX)) &&
26882 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26883 : ( 1)))
26884 : return NULL;
26885 : return gen_split_3681 (insn, operands);
26886 :
26887 : case 11:
26888 : if (!((
26889 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26890 : (TARGET_SSE4_1
26891 : && ix86_pre_reload_split ()) &&
26892 : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26893 : (TARGET_AVX)) &&
26894 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26895 : ( 1)))
26896 : return NULL;
26897 : return gen_split_3682 (insn, operands);
26898 :
26899 : case 12:
26900 : if (!((
26901 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26902 : (TARGET_SSE4_1
26903 : && ix86_pre_reload_split ()) &&
26904 : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26905 : (TARGET_AVX)) &&
26906 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26907 : ( 1)))
26908 : return NULL;
26909 : return gen_split_3683 (insn, operands);
26910 :
26911 : case 13:
26912 : if (!((
26913 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26914 : (TARGET_SSE4_1
26915 : && ix86_pre_reload_split ()) &&
26916 : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26917 : (TARGET_AVX)) &&
26918 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26919 : ( 1)))
26920 : return NULL;
26921 : return gen_split_3684 (insn, operands);
26922 :
26923 : default:
26924 : return NULL;
26925 : }
26926 :
26927 : case REG:
26928 : case SUBREG:
26929 : operands[0] = x4;
26930 : if (GET_MODE (x3) != E_CCCmode
26931 : || GET_MODE (x2) != E_CCCmode)
26932 : return NULL;
26933 : x5 = XVECEXP (x2, 0, 1);
26934 : operands[1] = x5;
26935 : switch (GET_MODE (operands[0]))
26936 : {
26937 : case E_V16QImode:
26938 : if (!register_operand (operands[0], E_V16QImode)
26939 : || !register_operand (operands[1], E_V16QImode)
26940 : || !
26941 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26942 : (TARGET_SSE4_1
26943 : && rtx_equal_p (operands[0], operands[1])))
26944 : return NULL;
26945 : return gen_split_3685 (insn, operands);
26946 :
26947 : case E_V8HImode:
26948 : if (!register_operand (operands[0], E_V8HImode)
26949 : || !register_operand (operands[1], E_V8HImode)
26950 : || !
26951 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26952 : (TARGET_SSE4_1
26953 : && rtx_equal_p (operands[0], operands[1])))
26954 : return NULL;
26955 : return gen_split_3686 (insn, operands);
26956 :
26957 : case E_V4SImode:
26958 : if (!register_operand (operands[0], E_V4SImode)
26959 : || !register_operand (operands[1], E_V4SImode)
26960 : || !
26961 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26962 : (TARGET_SSE4_1
26963 : && rtx_equal_p (operands[0], operands[1])))
26964 : return NULL;
26965 : return gen_split_3687 (insn, operands);
26966 :
26967 : case E_V2DImode:
26968 : if (!register_operand (operands[0], E_V2DImode)
26969 : || !register_operand (operands[1], E_V2DImode)
26970 : || !
26971 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26972 : (TARGET_SSE4_1
26973 : && rtx_equal_p (operands[0], operands[1])))
26974 : return NULL;
26975 : return gen_split_3688 (insn, operands);
26976 :
26977 : case E_V1TImode:
26978 : if (!register_operand (operands[0], E_V1TImode)
26979 : || !register_operand (operands[1], E_V1TImode)
26980 : || !
26981 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26982 : (TARGET_SSE4_1
26983 : && rtx_equal_p (operands[0], operands[1])))
26984 : return NULL;
26985 : return gen_split_3689 (insn, operands);
26986 :
26987 : case E_V4SFmode:
26988 : if (!register_operand (operands[0], E_V4SFmode)
26989 : || !register_operand (operands[1], E_V4SFmode)
26990 : || !
26991 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26992 : (TARGET_SSE4_1
26993 : && rtx_equal_p (operands[0], operands[1])))
26994 : return NULL;
26995 : return gen_split_3690 (insn, operands);
26996 :
26997 : case E_V2DFmode:
26998 : if (!register_operand (operands[0], E_V2DFmode)
26999 : || !register_operand (operands[1], E_V2DFmode)
27000 : || !
27001 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27002 : (TARGET_SSE4_1
27003 : && rtx_equal_p (operands[0], operands[1])))
27004 : return NULL;
27005 : return gen_split_3691 (insn, operands);
27006 :
27007 : case E_V32QImode:
27008 : if (!register_operand (operands[0], E_V32QImode)
27009 : || !register_operand (operands[1], E_V32QImode)
27010 : || !(
27011 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27012 : (TARGET_SSE4_1
27013 : && rtx_equal_p (operands[0], operands[1])) &&
27014 : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27015 : (TARGET_AVX)))
27016 : return NULL;
27017 : return gen_split_3692 (insn, operands);
27018 :
27019 : case E_V16HImode:
27020 : if (!register_operand (operands[0], E_V16HImode)
27021 : || !register_operand (operands[1], E_V16HImode)
27022 : || !(
27023 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27024 : (TARGET_SSE4_1
27025 : && rtx_equal_p (operands[0], operands[1])) &&
27026 : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27027 : (TARGET_AVX)))
27028 : return NULL;
27029 : return gen_split_3693 (insn, operands);
27030 :
27031 : case E_V8SImode:
27032 : if (!register_operand (operands[0], E_V8SImode)
27033 : || !register_operand (operands[1], E_V8SImode)
27034 : || !(
27035 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27036 : (TARGET_SSE4_1
27037 : && rtx_equal_p (operands[0], operands[1])) &&
27038 : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27039 : (TARGET_AVX)))
27040 : return NULL;
27041 : return gen_split_3694 (insn, operands);
27042 :
27043 : case E_V4DImode:
27044 : if (!register_operand (operands[0], E_V4DImode)
27045 : || !register_operand (operands[1], E_V4DImode)
27046 : || !(
27047 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27048 : (TARGET_SSE4_1
27049 : && rtx_equal_p (operands[0], operands[1])) &&
27050 : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27051 : (TARGET_AVX)))
27052 : return NULL;
27053 : return gen_split_3695 (insn, operands);
27054 :
27055 : case E_V2TImode:
27056 : if (!register_operand (operands[0], E_V2TImode)
27057 : || !register_operand (operands[1], E_V2TImode)
27058 : || !(
27059 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27060 : (TARGET_SSE4_1
27061 : && rtx_equal_p (operands[0], operands[1])) &&
27062 : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27063 : (TARGET_AVX)))
27064 : return NULL;
27065 : return gen_split_3696 (insn, operands);
27066 :
27067 : case E_V8SFmode:
27068 : if (!register_operand (operands[0], E_V8SFmode)
27069 : || !register_operand (operands[1], E_V8SFmode)
27070 : || !(
27071 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27072 : (TARGET_SSE4_1
27073 : && rtx_equal_p (operands[0], operands[1])) &&
27074 : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27075 : (TARGET_AVX)))
27076 : return NULL;
27077 : return gen_split_3697 (insn, operands);
27078 :
27079 : case E_V4DFmode:
27080 : if (!register_operand (operands[0], E_V4DFmode)
27081 : || !register_operand (operands[1], E_V4DFmode)
27082 : || !(
27083 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27084 : (TARGET_SSE4_1
27085 : && rtx_equal_p (operands[0], operands[1])) &&
27086 : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27087 : (TARGET_AVX)))
27088 : return NULL;
27089 : return gen_split_3698 (insn, operands);
27090 :
27091 : default:
27092 : return NULL;
27093 : }
27094 :
27095 : case EQ:
27096 : switch (pattern613 (x1))
27097 : {
27098 : case 0:
27099 : if (!((
27100 : #line 26046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27101 : (TARGET_SSE4_1
27102 : && ix86_pre_reload_split ()) &&
27103 : #line 578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27104 : (TARGET_AVX)) &&
27105 : #line 26049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27106 : ( 1)))
27107 : return NULL;
27108 : return gen_split_3783 (insn, operands);
27109 :
27110 : case 1:
27111 : if (!(
27112 : #line 26046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27113 : (TARGET_SSE4_1
27114 : && ix86_pre_reload_split ()) &&
27115 : #line 26049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27116 : ( 1)))
27117 : return NULL;
27118 : return gen_split_3784 (insn, operands);
27119 :
27120 : case 2:
27121 : if (!((
27122 : #line 26046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27123 : (TARGET_SSE4_1
27124 : && ix86_pre_reload_split ()) &&
27125 : #line 579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27126 : (TARGET_AVX)) &&
27127 : #line 26049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27128 : ( 1)))
27129 : return NULL;
27130 : return gen_split_3785 (insn, operands);
27131 :
27132 : case 3:
27133 : if (!(
27134 : #line 26046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27135 : (TARGET_SSE4_1
27136 : && ix86_pre_reload_split ()) &&
27137 : #line 26049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27138 : ( 1)))
27139 : return NULL;
27140 : return gen_split_3786 (insn, operands);
27141 :
27142 : case 4:
27143 : if (!((
27144 : #line 26046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27145 : (TARGET_SSE4_1
27146 : && ix86_pre_reload_split ()) &&
27147 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27148 : (TARGET_AVX)) &&
27149 : #line 26049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27150 : ( 1)))
27151 : return NULL;
27152 : return gen_split_3787 (insn, operands);
27153 :
27154 : case 5:
27155 : if (!(
27156 : #line 26046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27157 : (TARGET_SSE4_1
27158 : && ix86_pre_reload_split ()) &&
27159 : #line 26049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27160 : ( 1)))
27161 : return NULL;
27162 : return gen_split_3788 (insn, operands);
27163 :
27164 : case 6:
27165 : if (!((
27166 : #line 26046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27167 : (TARGET_SSE4_1
27168 : && ix86_pre_reload_split ()) &&
27169 : #line 581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27170 : (TARGET_AVX)) &&
27171 : #line 26049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27172 : ( 1)))
27173 : return NULL;
27174 : return gen_split_3789 (insn, operands);
27175 :
27176 : case 7:
27177 : if (!(
27178 : #line 26046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27179 : (TARGET_SSE4_1
27180 : && ix86_pre_reload_split ()) &&
27181 : #line 26049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27182 : ( 1)))
27183 : return NULL;
27184 : return gen_split_3790 (insn, operands);
27185 :
27186 : default:
27187 : return NULL;
27188 : }
27189 :
27190 : default:
27191 : return NULL;
27192 : }
27193 :
27194 : default:
27195 : return NULL;
27196 : }
27197 :
27198 : case 1:
27199 : x3 = XEXP (x1, 0);
27200 : operands[0] = x3;
27201 : switch (XINT (x2, 1))
27202 : {
27203 : case 50:
27204 : if (GET_MODE (x2) != E_SImode
27205 : || !register_operand (operands[0], E_SImode))
27206 : return NULL;
27207 : x4 = XVECEXP (x2, 0, 0);
27208 : switch (GET_CODE (x4))
27209 : {
27210 : case REG:
27211 : case SUBREG:
27212 : operands[1] = x4;
27213 : if (register_operand (operands[1], E_V8QImode)
27214 : &&
27215 : #line 6857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
27216 : (TARGET_SSE2 && reload_completed
27217 : && SSE_REGNO_P (REGNO (operands[1]))))
27218 : return gen_split_1172 (insn, operands);
27219 : if (GET_CODE (x4) != SUBREG
27220 : || maybe_ne (SUBREG_BYTE (x4), 0))
27221 : return NULL;
27222 : x7 = XEXP (x4, 0);
27223 : switch (GET_CODE (x7))
27224 : {
27225 : case VEC_MERGE:
27226 : switch (pattern1106 (x4))
27227 : {
27228 : case 0:
27229 : if (!((
27230 : #line 22337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27231 : (TARGET_SSE) &&
27232 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27233 : (TARGET_AVX)) &&
27234 : #line 22339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27235 : ( reload_completed)))
27236 : return NULL;
27237 : return gen_split_3499 (insn, operands);
27238 :
27239 : case 1:
27240 : if (!(
27241 : #line 22337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27242 : (TARGET_SSE) &&
27243 : #line 22339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27244 : ( reload_completed)))
27245 : return NULL;
27246 : return gen_split_3500 (insn, operands);
27247 :
27248 : case 2:
27249 : if (!((
27250 : #line 22337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27251 : (TARGET_SSE) &&
27252 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27253 : (TARGET_AVX)) &&
27254 : #line 22339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27255 : ( reload_completed)))
27256 : return NULL;
27257 : return gen_split_3501 (insn, operands);
27258 :
27259 : case 3:
27260 : if (!((
27261 : #line 22337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27262 : (TARGET_SSE) &&
27263 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27264 : (TARGET_SSE2)) &&
27265 : #line 22339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27266 : ( reload_completed)))
27267 : return NULL;
27268 : return gen_split_3502 (insn, operands);
27269 :
27270 : default:
27271 : return NULL;
27272 : }
27273 :
27274 : case ASHIFTRT:
27275 : switch (pattern1107 (x4))
27276 : {
27277 : case 0:
27278 : if (!((
27279 : #line 22400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27280 : (TARGET_SSE) &&
27281 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27282 : (TARGET_AVX)) &&
27283 : #line 22402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27284 : ( reload_completed)))
27285 : return NULL;
27286 : return gen_split_3519 (insn, operands);
27287 :
27288 : case 1:
27289 : if (!(
27290 : #line 22400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27291 : (TARGET_SSE) &&
27292 : #line 22402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27293 : ( reload_completed)))
27294 : return NULL;
27295 : return gen_split_3520 (insn, operands);
27296 :
27297 : case 2:
27298 : if (!((
27299 : #line 22400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27300 : (TARGET_SSE) &&
27301 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27302 : (TARGET_AVX)) &&
27303 : #line 22402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27304 : ( reload_completed)))
27305 : return NULL;
27306 : return gen_split_3521 (insn, operands);
27307 :
27308 : case 3:
27309 : if (!((
27310 : #line 22400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27311 : (TARGET_SSE) &&
27312 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27313 : (TARGET_SSE2)) &&
27314 : #line 22402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27315 : ( reload_completed)))
27316 : return NULL;
27317 : return gen_split_3522 (insn, operands);
27318 :
27319 : default:
27320 : return NULL;
27321 : }
27322 :
27323 : case NOT:
27324 : x8 = XEXP (x7, 0);
27325 : operands[1] = x8;
27326 : if (!register_operand (operands[1], E_VOIDmode))
27327 : return NULL;
27328 : switch (GET_MODE (x4))
27329 : {
27330 : case E_V32QImode:
27331 : if (!(
27332 : #line 22539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27333 : (TARGET_SSE2
27334 : && GET_MODE_CLASS (GET_MODE (operands[1])) == MODE_VECTOR_INT
27335 : && GET_MODE_SIZE (GET_MODE (operands[1])) == 32) &&
27336 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27337 : (TARGET_AVX2)))
27338 : return NULL;
27339 : return gen_split_3535 (insn, operands);
27340 :
27341 : case E_V16QImode:
27342 : if (!
27343 : #line 22539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27344 : (TARGET_SSE2
27345 : && GET_MODE_CLASS (GET_MODE (operands[1])) == MODE_VECTOR_INT
27346 : && GET_MODE_SIZE (GET_MODE (operands[1])) == 16))
27347 : return NULL;
27348 : return gen_split_3536 (insn, operands);
27349 :
27350 : default:
27351 : return NULL;
27352 : }
27353 :
27354 : default:
27355 : return NULL;
27356 : }
27357 :
27358 : case LT:
27359 : switch (pattern769 (x4))
27360 : {
27361 : case 0:
27362 : if (!((
27363 : #line 22313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27364 : (TARGET_SSE) &&
27365 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27366 : (TARGET_AVX)) &&
27367 : #line 22315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27368 : ( reload_completed)))
27369 : return NULL;
27370 : return gen_split_3495 (insn, operands);
27371 :
27372 : case 1:
27373 : if (!(
27374 : #line 22313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27375 : (TARGET_SSE) &&
27376 : #line 22315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27377 : ( reload_completed)))
27378 : return NULL;
27379 : return gen_split_3496 (insn, operands);
27380 :
27381 : case 2:
27382 : if (!((
27383 : #line 22313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27384 : (TARGET_SSE) &&
27385 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27386 : (TARGET_AVX)) &&
27387 : #line 22315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27388 : ( reload_completed)))
27389 : return NULL;
27390 : return gen_split_3497 (insn, operands);
27391 :
27392 : case 3:
27393 : if (!((
27394 : #line 22313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27395 : (TARGET_SSE) &&
27396 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27397 : (TARGET_SSE2)) &&
27398 : #line 22315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27399 : ( reload_completed)))
27400 : return NULL;
27401 : return gen_split_3498 (insn, operands);
27402 :
27403 : case 4:
27404 : if (!((
27405 : #line 22565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27406 : (TARGET_SSE2) &&
27407 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27408 : (TARGET_AVX2)) &&
27409 : #line 22567 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27410 : ( 1)))
27411 : return NULL;
27412 : return gen_split_3537 (insn, operands);
27413 :
27414 : case 5:
27415 : if (!(
27416 : #line 22565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27417 : (TARGET_SSE2) &&
27418 : #line 22567 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27419 : ( 1)))
27420 : return NULL;
27421 : return gen_split_3538 (insn, operands);
27422 :
27423 : default:
27424 : return NULL;
27425 : }
27426 :
27427 : case NOT:
27428 : x7 = XEXP (x4, 0);
27429 : operands[1] = x7;
27430 : switch (GET_MODE (x4))
27431 : {
27432 : case E_V32QImode:
27433 : if (!register_operand (operands[1], E_V32QImode)
27434 : || !(
27435 : #line 22517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27436 : (TARGET_SSE2) &&
27437 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27438 : (TARGET_AVX2)))
27439 : return NULL;
27440 : return gen_split_3533 (insn, operands);
27441 :
27442 : case E_V16QImode:
27443 : if (!register_operand (operands[1], E_V16QImode)
27444 : || !
27445 : #line 22517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27446 : (TARGET_SSE2))
27447 : return NULL;
27448 : return gen_split_3534 (insn, operands);
27449 :
27450 : default:
27451 : return NULL;
27452 : }
27453 :
27454 : case VEC_MERGE:
27455 : switch (pattern771 (x4))
27456 : {
27457 : case 0:
27458 : if (!((
27459 : #line 22593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27460 : (TARGET_SSE2) &&
27461 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27462 : (TARGET_AVX2)) &&
27463 : #line 22595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27464 : ( 1)))
27465 : return NULL;
27466 : return gen_split_3539 (insn, operands);
27467 :
27468 : case 1:
27469 : if (!(
27470 : #line 22593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27471 : (TARGET_SSE2) &&
27472 : #line 22595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27473 : ( 1)))
27474 : return NULL;
27475 : return gen_split_3540 (insn, operands);
27476 :
27477 : case 2:
27478 : if (!(
27479 : #line 22721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27480 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
27481 : #line 22723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27482 : ( 1)))
27483 : return NULL;
27484 : return gen_split_3548 (insn, operands);
27485 :
27486 : case 3:
27487 : if (!(
27488 : #line 22735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27489 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
27490 : #line 22737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27491 : ( 1)))
27492 : return NULL;
27493 : return gen_split_3549 (insn, operands);
27494 :
27495 : default:
27496 : return NULL;
27497 : }
27498 :
27499 : default:
27500 : return NULL;
27501 : }
27502 :
27503 : case 173:
27504 : if (GET_MODE (x2) != E_V2SImode
27505 : || !register_operand (operands[0], E_V2SImode))
27506 : return NULL;
27507 : x4 = XVECEXP (x2, 0, 0);
27508 : operands[1] = x4;
27509 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
27510 : || !
27511 : #line 8788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27512 : (TARGET_SSE2 && reload_completed
27513 : && SSE_REG_P (operands[0])))
27514 : return NULL;
27515 : return gen_split_1602 (insn, operands);
27516 :
27517 : default:
27518 : return NULL;
27519 : }
27520 :
27521 : default:
27522 : return NULL;
27523 : }
27524 : }
27525 :
27526 : rtx_insn *
27527 : split_71 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
27528 : {
27529 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
27530 : rtx x2, x3, x4;
27531 : rtx_insn *res ATTRIBUTE_UNUSED;
27532 : x2 = XEXP (x1, 1);
27533 : x3 = XEXP (x2, 0);
27534 : switch (GET_CODE (x3))
27535 : {
27536 : case AND:
27537 : x4 = XEXP (x3, 0);
27538 : switch (GET_CODE (x4))
27539 : {
27540 : case REG:
27541 : case SUBREG:
27542 : case MEM:
27543 : case NOT:
27544 : switch (pattern535 (x2))
27545 : {
27546 : case 0:
27547 : if (!((
27548 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27549 : ((64 == 64 || TARGET_AVX512VL
27550 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27551 : && ix86_pre_reload_split ()
27552 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27553 : STRIP_UNARY (operands[4]))
27554 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27555 : STRIP_UNARY (operands[4]))
27556 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27557 : STRIP_UNARY (operands[3]))
27558 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27559 : STRIP_UNARY (operands[3])))) &&
27560 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27561 : (TARGET_AVX512F)) &&
27562 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27563 : ( 1)))
27564 : return NULL;
27565 : return gen_split_1742 (insn, operands);
27566 :
27567 : case 1:
27568 : if (!((
27569 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27570 : ((32 == 64 || TARGET_AVX512VL
27571 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27572 : && ix86_pre_reload_split ()
27573 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27574 : STRIP_UNARY (operands[4]))
27575 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27576 : STRIP_UNARY (operands[4]))
27577 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27578 : STRIP_UNARY (operands[3]))
27579 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27580 : STRIP_UNARY (operands[3])))) &&
27581 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27582 : (TARGET_AVX)) &&
27583 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27584 : ( 1)))
27585 : return NULL;
27586 : return gen_split_1769 (insn, operands);
27587 :
27588 : case 2:
27589 : if (!(
27590 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27591 : ((16 == 64 || TARGET_AVX512VL
27592 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27593 : && ix86_pre_reload_split ()
27594 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27595 : STRIP_UNARY (operands[4]))
27596 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27597 : STRIP_UNARY (operands[4]))
27598 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27599 : STRIP_UNARY (operands[3]))
27600 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27601 : STRIP_UNARY (operands[3])))) &&
27602 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27603 : ( 1)))
27604 : return NULL;
27605 : return gen_split_1796 (insn, operands);
27606 :
27607 : case 3:
27608 : if (!((
27609 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27610 : ((64 == 64 || TARGET_AVX512VL
27611 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27612 : && ix86_pre_reload_split ()
27613 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27614 : STRIP_UNARY (operands[4]))
27615 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27616 : STRIP_UNARY (operands[4]))
27617 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27618 : STRIP_UNARY (operands[3]))
27619 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27620 : STRIP_UNARY (operands[3])))) &&
27621 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27622 : (TARGET_AVX512F)) &&
27623 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27624 : ( 1)))
27625 : return NULL;
27626 : return gen_split_1823 (insn, operands);
27627 :
27628 : case 4:
27629 : if (!((
27630 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27631 : ((32 == 64 || TARGET_AVX512VL
27632 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27633 : && ix86_pre_reload_split ()
27634 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27635 : STRIP_UNARY (operands[4]))
27636 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27637 : STRIP_UNARY (operands[4]))
27638 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27639 : STRIP_UNARY (operands[3]))
27640 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27641 : STRIP_UNARY (operands[3])))) &&
27642 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27643 : (TARGET_AVX)) &&
27644 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27645 : ( 1)))
27646 : return NULL;
27647 : return gen_split_1850 (insn, operands);
27648 :
27649 : case 5:
27650 : if (!(
27651 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27652 : ((16 == 64 || TARGET_AVX512VL
27653 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27654 : && ix86_pre_reload_split ()
27655 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27656 : STRIP_UNARY (operands[4]))
27657 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27658 : STRIP_UNARY (operands[4]))
27659 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27660 : STRIP_UNARY (operands[3]))
27661 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27662 : STRIP_UNARY (operands[3])))) &&
27663 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27664 : ( 1)))
27665 : return NULL;
27666 : return gen_split_1877 (insn, operands);
27667 :
27668 : case 6:
27669 : if (!((
27670 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27671 : ((64 == 64 || TARGET_AVX512VL
27672 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27673 : && ix86_pre_reload_split ()
27674 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27675 : STRIP_UNARY (operands[4]))
27676 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27677 : STRIP_UNARY (operands[4]))
27678 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27679 : STRIP_UNARY (operands[3]))
27680 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27681 : STRIP_UNARY (operands[3])))) &&
27682 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27683 : (TARGET_AVX512F)) &&
27684 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27685 : ( 1)))
27686 : return NULL;
27687 : return gen_split_1904 (insn, operands);
27688 :
27689 : case 7:
27690 : if (!((
27691 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27692 : ((32 == 64 || TARGET_AVX512VL
27693 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27694 : && ix86_pre_reload_split ()
27695 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27696 : STRIP_UNARY (operands[4]))
27697 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27698 : STRIP_UNARY (operands[4]))
27699 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27700 : STRIP_UNARY (operands[3]))
27701 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27702 : STRIP_UNARY (operands[3])))) &&
27703 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27704 : (TARGET_AVX)) &&
27705 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27706 : ( 1)))
27707 : return NULL;
27708 : return gen_split_1931 (insn, operands);
27709 :
27710 : case 8:
27711 : if (!(
27712 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27713 : ((16 == 64 || TARGET_AVX512VL
27714 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27715 : && ix86_pre_reload_split ()
27716 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27717 : STRIP_UNARY (operands[4]))
27718 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27719 : STRIP_UNARY (operands[4]))
27720 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27721 : STRIP_UNARY (operands[3]))
27722 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27723 : STRIP_UNARY (operands[3])))) &&
27724 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27725 : ( 1)))
27726 : return NULL;
27727 : return gen_split_1958 (insn, operands);
27728 :
27729 : case 9:
27730 : if (!((
27731 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27732 : ((64 == 64 || TARGET_AVX512VL
27733 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27734 : && ix86_pre_reload_split ()
27735 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27736 : STRIP_UNARY (operands[4]))
27737 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27738 : STRIP_UNARY (operands[4]))
27739 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27740 : STRIP_UNARY (operands[3]))
27741 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27742 : STRIP_UNARY (operands[3])))) &&
27743 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27744 : (TARGET_AVX512F)) &&
27745 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27746 : ( 1)))
27747 : return NULL;
27748 : return gen_split_1985 (insn, operands);
27749 :
27750 : case 10:
27751 : if (!((
27752 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27753 : ((32 == 64 || TARGET_AVX512VL
27754 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27755 : && ix86_pre_reload_split ()
27756 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27757 : STRIP_UNARY (operands[4]))
27758 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27759 : STRIP_UNARY (operands[4]))
27760 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27761 : STRIP_UNARY (operands[3]))
27762 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27763 : STRIP_UNARY (operands[3])))) &&
27764 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27765 : (TARGET_AVX)) &&
27766 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27767 : ( 1)))
27768 : return NULL;
27769 : return gen_split_2012 (insn, operands);
27770 :
27771 : case 11:
27772 : if (!(
27773 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27774 : ((16 == 64 || TARGET_AVX512VL
27775 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27776 : && ix86_pre_reload_split ()
27777 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27778 : STRIP_UNARY (operands[4]))
27779 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27780 : STRIP_UNARY (operands[4]))
27781 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27782 : STRIP_UNARY (operands[3]))
27783 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27784 : STRIP_UNARY (operands[3])))) &&
27785 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27786 : ( 1)))
27787 : return NULL;
27788 : return gen_split_2039 (insn, operands);
27789 :
27790 : case 12:
27791 : if (!((
27792 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27793 : ((64 == 64 || TARGET_AVX512VL
27794 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27795 : && ix86_pre_reload_split ()
27796 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27797 : STRIP_UNARY (operands[4]))
27798 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27799 : STRIP_UNARY (operands[4]))
27800 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27801 : STRIP_UNARY (operands[3]))
27802 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27803 : STRIP_UNARY (operands[3])))) &&
27804 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27805 : (TARGET_AVX512F)) &&
27806 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27807 : ( 1)))
27808 : return NULL;
27809 : return gen_split_1745 (insn, operands);
27810 :
27811 : case 13:
27812 : if (!((
27813 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27814 : ((32 == 64 || TARGET_AVX512VL
27815 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27816 : && ix86_pre_reload_split ()
27817 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27818 : STRIP_UNARY (operands[4]))
27819 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27820 : STRIP_UNARY (operands[4]))
27821 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27822 : STRIP_UNARY (operands[3]))
27823 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27824 : STRIP_UNARY (operands[3])))) &&
27825 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27826 : (TARGET_AVX)) &&
27827 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27828 : ( 1)))
27829 : return NULL;
27830 : return gen_split_1772 (insn, operands);
27831 :
27832 : case 14:
27833 : if (!(
27834 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27835 : ((16 == 64 || TARGET_AVX512VL
27836 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27837 : && ix86_pre_reload_split ()
27838 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27839 : STRIP_UNARY (operands[4]))
27840 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27841 : STRIP_UNARY (operands[4]))
27842 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27843 : STRIP_UNARY (operands[3]))
27844 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27845 : STRIP_UNARY (operands[3])))) &&
27846 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27847 : ( 1)))
27848 : return NULL;
27849 : return gen_split_1799 (insn, operands);
27850 :
27851 : case 15:
27852 : if (!((
27853 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27854 : ((64 == 64 || TARGET_AVX512VL
27855 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27856 : && ix86_pre_reload_split ()
27857 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27858 : STRIP_UNARY (operands[4]))
27859 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27860 : STRIP_UNARY (operands[4]))
27861 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27862 : STRIP_UNARY (operands[3]))
27863 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27864 : STRIP_UNARY (operands[3])))) &&
27865 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27866 : (TARGET_AVX512F)) &&
27867 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27868 : ( 1)))
27869 : return NULL;
27870 : return gen_split_1826 (insn, operands);
27871 :
27872 : case 16:
27873 : if (!((
27874 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27875 : ((32 == 64 || TARGET_AVX512VL
27876 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27877 : && ix86_pre_reload_split ()
27878 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27879 : STRIP_UNARY (operands[4]))
27880 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27881 : STRIP_UNARY (operands[4]))
27882 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27883 : STRIP_UNARY (operands[3]))
27884 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27885 : STRIP_UNARY (operands[3])))) &&
27886 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27887 : (TARGET_AVX)) &&
27888 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27889 : ( 1)))
27890 : return NULL;
27891 : return gen_split_1853 (insn, operands);
27892 :
27893 : case 17:
27894 : if (!(
27895 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27896 : ((16 == 64 || TARGET_AVX512VL
27897 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27898 : && ix86_pre_reload_split ()
27899 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27900 : STRIP_UNARY (operands[4]))
27901 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27902 : STRIP_UNARY (operands[4]))
27903 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27904 : STRIP_UNARY (operands[3]))
27905 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27906 : STRIP_UNARY (operands[3])))) &&
27907 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27908 : ( 1)))
27909 : return NULL;
27910 : return gen_split_1880 (insn, operands);
27911 :
27912 : case 18:
27913 : if (!((
27914 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27915 : ((64 == 64 || TARGET_AVX512VL
27916 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27917 : && ix86_pre_reload_split ()
27918 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27919 : STRIP_UNARY (operands[4]))
27920 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27921 : STRIP_UNARY (operands[4]))
27922 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27923 : STRIP_UNARY (operands[3]))
27924 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27925 : STRIP_UNARY (operands[3])))) &&
27926 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27927 : (TARGET_AVX512F)) &&
27928 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27929 : ( 1)))
27930 : return NULL;
27931 : return gen_split_1907 (insn, operands);
27932 :
27933 : case 19:
27934 : if (!((
27935 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27936 : ((32 == 64 || TARGET_AVX512VL
27937 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27938 : && ix86_pre_reload_split ()
27939 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27940 : STRIP_UNARY (operands[4]))
27941 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27942 : STRIP_UNARY (operands[4]))
27943 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27944 : STRIP_UNARY (operands[3]))
27945 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27946 : STRIP_UNARY (operands[3])))) &&
27947 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27948 : (TARGET_AVX)) &&
27949 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27950 : ( 1)))
27951 : return NULL;
27952 : return gen_split_1934 (insn, operands);
27953 :
27954 : case 20:
27955 : if (!(
27956 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27957 : ((16 == 64 || TARGET_AVX512VL
27958 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27959 : && ix86_pre_reload_split ()
27960 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27961 : STRIP_UNARY (operands[4]))
27962 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27963 : STRIP_UNARY (operands[4]))
27964 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27965 : STRIP_UNARY (operands[3]))
27966 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27967 : STRIP_UNARY (operands[3])))) &&
27968 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27969 : ( 1)))
27970 : return NULL;
27971 : return gen_split_1961 (insn, operands);
27972 :
27973 : case 21:
27974 : if (!((
27975 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27976 : ((64 == 64 || TARGET_AVX512VL
27977 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27978 : && ix86_pre_reload_split ()
27979 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27980 : STRIP_UNARY (operands[4]))
27981 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27982 : STRIP_UNARY (operands[4]))
27983 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27984 : STRIP_UNARY (operands[3]))
27985 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27986 : STRIP_UNARY (operands[3])))) &&
27987 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27988 : (TARGET_AVX512F)) &&
27989 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27990 : ( 1)))
27991 : return NULL;
27992 : return gen_split_1988 (insn, operands);
27993 :
27994 : case 22:
27995 : if (!((
27996 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27997 : ((32 == 64 || TARGET_AVX512VL
27998 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27999 : && ix86_pre_reload_split ()
28000 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28001 : STRIP_UNARY (operands[4]))
28002 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28003 : STRIP_UNARY (operands[4]))
28004 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28005 : STRIP_UNARY (operands[3]))
28006 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28007 : STRIP_UNARY (operands[3])))) &&
28008 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28009 : (TARGET_AVX)) &&
28010 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28011 : ( 1)))
28012 : return NULL;
28013 : return gen_split_2015 (insn, operands);
28014 :
28015 : case 23:
28016 : if (!(
28017 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28018 : ((16 == 64 || TARGET_AVX512VL
28019 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28020 : && ix86_pre_reload_split ()
28021 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28022 : STRIP_UNARY (operands[4]))
28023 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28024 : STRIP_UNARY (operands[4]))
28025 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28026 : STRIP_UNARY (operands[3]))
28027 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28028 : STRIP_UNARY (operands[3])))) &&
28029 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28030 : ( 1)))
28031 : return NULL;
28032 : return gen_split_2042 (insn, operands);
28033 :
28034 : case 24:
28035 : if (!((
28036 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28037 : ((64 == 64 || TARGET_AVX512VL
28038 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28039 : && ix86_pre_reload_split ()
28040 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28041 : STRIP_UNARY (operands[4]))
28042 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28043 : STRIP_UNARY (operands[4]))
28044 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28045 : STRIP_UNARY (operands[3]))
28046 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28047 : STRIP_UNARY (operands[3])))) &&
28048 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28049 : (TARGET_AVX512F)) &&
28050 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28051 : ( 1)))
28052 : return NULL;
28053 : return gen_split_1748 (insn, operands);
28054 :
28055 : case 25:
28056 : if (!((
28057 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28058 : ((32 == 64 || TARGET_AVX512VL
28059 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28060 : && ix86_pre_reload_split ()
28061 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28062 : STRIP_UNARY (operands[4]))
28063 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28064 : STRIP_UNARY (operands[4]))
28065 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28066 : STRIP_UNARY (operands[3]))
28067 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28068 : STRIP_UNARY (operands[3])))) &&
28069 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28070 : (TARGET_AVX)) &&
28071 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28072 : ( 1)))
28073 : return NULL;
28074 : return gen_split_1775 (insn, operands);
28075 :
28076 : case 26:
28077 : if (!(
28078 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28079 : ((16 == 64 || TARGET_AVX512VL
28080 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28081 : && ix86_pre_reload_split ()
28082 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28083 : STRIP_UNARY (operands[4]))
28084 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28085 : STRIP_UNARY (operands[4]))
28086 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28087 : STRIP_UNARY (operands[3]))
28088 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28089 : STRIP_UNARY (operands[3])))) &&
28090 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28091 : ( 1)))
28092 : return NULL;
28093 : return gen_split_1802 (insn, operands);
28094 :
28095 : case 27:
28096 : if (!((
28097 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28098 : ((64 == 64 || TARGET_AVX512VL
28099 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28100 : && ix86_pre_reload_split ()
28101 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28102 : STRIP_UNARY (operands[4]))
28103 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28104 : STRIP_UNARY (operands[4]))
28105 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28106 : STRIP_UNARY (operands[3]))
28107 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28108 : STRIP_UNARY (operands[3])))) &&
28109 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28110 : (TARGET_AVX512F)) &&
28111 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28112 : ( 1)))
28113 : return NULL;
28114 : return gen_split_1829 (insn, operands);
28115 :
28116 : case 28:
28117 : if (!((
28118 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28119 : ((32 == 64 || TARGET_AVX512VL
28120 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28121 : && ix86_pre_reload_split ()
28122 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28123 : STRIP_UNARY (operands[4]))
28124 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28125 : STRIP_UNARY (operands[4]))
28126 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28127 : STRIP_UNARY (operands[3]))
28128 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28129 : STRIP_UNARY (operands[3])))) &&
28130 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28131 : (TARGET_AVX)) &&
28132 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28133 : ( 1)))
28134 : return NULL;
28135 : return gen_split_1856 (insn, operands);
28136 :
28137 : case 29:
28138 : if (!(
28139 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28140 : ((16 == 64 || TARGET_AVX512VL
28141 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28142 : && ix86_pre_reload_split ()
28143 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28144 : STRIP_UNARY (operands[4]))
28145 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28146 : STRIP_UNARY (operands[4]))
28147 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28148 : STRIP_UNARY (operands[3]))
28149 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28150 : STRIP_UNARY (operands[3])))) &&
28151 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28152 : ( 1)))
28153 : return NULL;
28154 : return gen_split_1883 (insn, operands);
28155 :
28156 : case 30:
28157 : if (!((
28158 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28159 : ((64 == 64 || TARGET_AVX512VL
28160 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28161 : && ix86_pre_reload_split ()
28162 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28163 : STRIP_UNARY (operands[4]))
28164 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28165 : STRIP_UNARY (operands[4]))
28166 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28167 : STRIP_UNARY (operands[3]))
28168 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28169 : STRIP_UNARY (operands[3])))) &&
28170 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28171 : (TARGET_AVX512F)) &&
28172 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28173 : ( 1)))
28174 : return NULL;
28175 : return gen_split_1910 (insn, operands);
28176 :
28177 : case 31:
28178 : if (!((
28179 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28180 : ((32 == 64 || TARGET_AVX512VL
28181 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28182 : && ix86_pre_reload_split ()
28183 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28184 : STRIP_UNARY (operands[4]))
28185 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28186 : STRIP_UNARY (operands[4]))
28187 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28188 : STRIP_UNARY (operands[3]))
28189 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28190 : STRIP_UNARY (operands[3])))) &&
28191 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28192 : (TARGET_AVX)) &&
28193 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28194 : ( 1)))
28195 : return NULL;
28196 : return gen_split_1937 (insn, operands);
28197 :
28198 : case 32:
28199 : if (!(
28200 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28201 : ((16 == 64 || TARGET_AVX512VL
28202 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28203 : && ix86_pre_reload_split ()
28204 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28205 : STRIP_UNARY (operands[4]))
28206 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28207 : STRIP_UNARY (operands[4]))
28208 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28209 : STRIP_UNARY (operands[3]))
28210 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28211 : STRIP_UNARY (operands[3])))) &&
28212 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28213 : ( 1)))
28214 : return NULL;
28215 : return gen_split_1964 (insn, operands);
28216 :
28217 : case 33:
28218 : if (!((
28219 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28220 : ((64 == 64 || TARGET_AVX512VL
28221 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28222 : && ix86_pre_reload_split ()
28223 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28224 : STRIP_UNARY (operands[4]))
28225 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28226 : STRIP_UNARY (operands[4]))
28227 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28228 : STRIP_UNARY (operands[3]))
28229 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28230 : STRIP_UNARY (operands[3])))) &&
28231 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28232 : (TARGET_AVX512F)) &&
28233 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28234 : ( 1)))
28235 : return NULL;
28236 : return gen_split_1991 (insn, operands);
28237 :
28238 : case 34:
28239 : if (!((
28240 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28241 : ((32 == 64 || TARGET_AVX512VL
28242 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28243 : && ix86_pre_reload_split ()
28244 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28245 : STRIP_UNARY (operands[4]))
28246 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28247 : STRIP_UNARY (operands[4]))
28248 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28249 : STRIP_UNARY (operands[3]))
28250 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28251 : STRIP_UNARY (operands[3])))) &&
28252 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28253 : (TARGET_AVX)) &&
28254 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28255 : ( 1)))
28256 : return NULL;
28257 : return gen_split_2018 (insn, operands);
28258 :
28259 : case 35:
28260 : if (!(
28261 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28262 : ((16 == 64 || TARGET_AVX512VL
28263 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28264 : && ix86_pre_reload_split ()
28265 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28266 : STRIP_UNARY (operands[4]))
28267 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28268 : STRIP_UNARY (operands[4]))
28269 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28270 : STRIP_UNARY (operands[3]))
28271 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28272 : STRIP_UNARY (operands[3])))) &&
28273 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28274 : ( 1)))
28275 : return NULL;
28276 : return gen_split_2045 (insn, operands);
28277 :
28278 : case 36:
28279 : if (!((
28280 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28281 : ((64 == 64 || TARGET_AVX512VL
28282 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28283 : && ix86_pre_reload_split ()) &&
28284 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28285 : (TARGET_AVX512F)) &&
28286 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28287 : ( 1)))
28288 : return NULL;
28289 : return gen_split_3038 (insn, operands);
28290 :
28291 : case 37:
28292 : if (!((
28293 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28294 : ((32 == 64 || TARGET_AVX512VL
28295 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28296 : && ix86_pre_reload_split ()) &&
28297 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28298 : (TARGET_AVX)) &&
28299 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28300 : ( 1)))
28301 : return NULL;
28302 : return gen_split_3047 (insn, operands);
28303 :
28304 : case 38:
28305 : if (!(
28306 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28307 : ((16 == 64 || TARGET_AVX512VL
28308 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28309 : && ix86_pre_reload_split ()) &&
28310 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28311 : ( 1)))
28312 : return NULL;
28313 : return gen_split_3056 (insn, operands);
28314 :
28315 : case 39:
28316 : if (!((
28317 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28318 : ((64 == 64 || TARGET_AVX512VL
28319 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28320 : && ix86_pre_reload_split ()) &&
28321 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28322 : (TARGET_AVX512F)) &&
28323 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28324 : ( 1)))
28325 : return NULL;
28326 : return gen_split_3065 (insn, operands);
28327 :
28328 : case 40:
28329 : if (!((
28330 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28331 : ((32 == 64 || TARGET_AVX512VL
28332 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28333 : && ix86_pre_reload_split ()) &&
28334 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28335 : (TARGET_AVX)) &&
28336 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28337 : ( 1)))
28338 : return NULL;
28339 : return gen_split_3074 (insn, operands);
28340 :
28341 : case 41:
28342 : if (!(
28343 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28344 : ((16 == 64 || TARGET_AVX512VL
28345 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28346 : && ix86_pre_reload_split ()) &&
28347 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28348 : ( 1)))
28349 : return NULL;
28350 : return gen_split_3083 (insn, operands);
28351 :
28352 : case 42:
28353 : if (!((
28354 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28355 : ((64 == 64 || TARGET_AVX512VL
28356 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28357 : && ix86_pre_reload_split ()) &&
28358 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28359 : (TARGET_AVX512F)) &&
28360 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28361 : ( 1)))
28362 : return NULL;
28363 : return gen_split_3092 (insn, operands);
28364 :
28365 : case 43:
28366 : if (!((
28367 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28368 : ((32 == 64 || TARGET_AVX512VL
28369 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28370 : && ix86_pre_reload_split ()) &&
28371 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28372 : (TARGET_AVX)) &&
28373 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28374 : ( 1)))
28375 : return NULL;
28376 : return gen_split_3101 (insn, operands);
28377 :
28378 : case 44:
28379 : if (!(
28380 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28381 : ((16 == 64 || TARGET_AVX512VL
28382 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28383 : && ix86_pre_reload_split ()) &&
28384 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28385 : ( 1)))
28386 : return NULL;
28387 : return gen_split_3110 (insn, operands);
28388 :
28389 : case 45:
28390 : if (!((
28391 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28392 : ((64 == 64 || TARGET_AVX512VL
28393 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28394 : && ix86_pre_reload_split ()) &&
28395 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28396 : (TARGET_AVX512F)) &&
28397 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28398 : ( 1)))
28399 : return NULL;
28400 : return gen_split_3119 (insn, operands);
28401 :
28402 : case 46:
28403 : if (!((
28404 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28405 : ((32 == 64 || TARGET_AVX512VL
28406 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28407 : && ix86_pre_reload_split ()) &&
28408 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28409 : (TARGET_AVX)) &&
28410 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28411 : ( 1)))
28412 : return NULL;
28413 : return gen_split_3128 (insn, operands);
28414 :
28415 : case 47:
28416 : if (!(
28417 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28418 : ((16 == 64 || TARGET_AVX512VL
28419 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28420 : && ix86_pre_reload_split ()) &&
28421 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28422 : ( 1)))
28423 : return NULL;
28424 : return gen_split_3137 (insn, operands);
28425 :
28426 : default:
28427 : return NULL;
28428 : }
28429 :
28430 : case AND:
28431 : switch (pattern537 (x2))
28432 : {
28433 : case 0:
28434 : if (!((
28435 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28436 : ((64 == 64 || TARGET_AVX512VL
28437 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28438 : && ix86_pre_reload_split ()
28439 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28440 : STRIP_UNARY (operands[4]))
28441 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28442 : STRIP_UNARY (operands[4]))
28443 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28444 : STRIP_UNARY (operands[3]))
28445 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28446 : STRIP_UNARY (operands[3])))) &&
28447 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28448 : (TARGET_AVX512F)) &&
28449 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28450 : ( 1)))
28451 : return NULL;
28452 : return gen_split_2390 (insn, operands);
28453 :
28454 : case 1:
28455 : if (!((
28456 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28457 : ((32 == 64 || TARGET_AVX512VL
28458 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28459 : && ix86_pre_reload_split ()
28460 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28461 : STRIP_UNARY (operands[4]))
28462 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28463 : STRIP_UNARY (operands[4]))
28464 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28465 : STRIP_UNARY (operands[3]))
28466 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28467 : STRIP_UNARY (operands[3])))) &&
28468 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28469 : (TARGET_AVX)) &&
28470 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28471 : ( 1)))
28472 : return NULL;
28473 : return gen_split_2417 (insn, operands);
28474 :
28475 : case 2:
28476 : if (!(
28477 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28478 : ((16 == 64 || TARGET_AVX512VL
28479 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28480 : && ix86_pre_reload_split ()
28481 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28482 : STRIP_UNARY (operands[4]))
28483 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28484 : STRIP_UNARY (operands[4]))
28485 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28486 : STRIP_UNARY (operands[3]))
28487 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28488 : STRIP_UNARY (operands[3])))) &&
28489 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28490 : ( 1)))
28491 : return NULL;
28492 : return gen_split_2444 (insn, operands);
28493 :
28494 : case 3:
28495 : if (!((
28496 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28497 : ((64 == 64 || TARGET_AVX512VL
28498 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28499 : && ix86_pre_reload_split ()
28500 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28501 : STRIP_UNARY (operands[4]))
28502 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28503 : STRIP_UNARY (operands[4]))
28504 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28505 : STRIP_UNARY (operands[3]))
28506 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28507 : STRIP_UNARY (operands[3])))) &&
28508 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28509 : (TARGET_AVX512F)) &&
28510 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28511 : ( 1)))
28512 : return NULL;
28513 : return gen_split_2471 (insn, operands);
28514 :
28515 : case 4:
28516 : if (!((
28517 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28518 : ((32 == 64 || TARGET_AVX512VL
28519 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28520 : && ix86_pre_reload_split ()
28521 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28522 : STRIP_UNARY (operands[4]))
28523 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28524 : STRIP_UNARY (operands[4]))
28525 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28526 : STRIP_UNARY (operands[3]))
28527 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28528 : STRIP_UNARY (operands[3])))) &&
28529 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28530 : (TARGET_AVX)) &&
28531 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28532 : ( 1)))
28533 : return NULL;
28534 : return gen_split_2498 (insn, operands);
28535 :
28536 : case 5:
28537 : if (!(
28538 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28539 : ((16 == 64 || TARGET_AVX512VL
28540 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28541 : && ix86_pre_reload_split ()
28542 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28543 : STRIP_UNARY (operands[4]))
28544 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28545 : STRIP_UNARY (operands[4]))
28546 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28547 : STRIP_UNARY (operands[3]))
28548 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28549 : STRIP_UNARY (operands[3])))) &&
28550 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28551 : ( 1)))
28552 : return NULL;
28553 : return gen_split_2525 (insn, operands);
28554 :
28555 : case 6:
28556 : if (!((
28557 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28558 : ((64 == 64 || TARGET_AVX512VL
28559 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28560 : && ix86_pre_reload_split ()
28561 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28562 : STRIP_UNARY (operands[4]))
28563 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28564 : STRIP_UNARY (operands[4]))
28565 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28566 : STRIP_UNARY (operands[3]))
28567 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28568 : STRIP_UNARY (operands[3])))) &&
28569 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28570 : (TARGET_AVX512F)) &&
28571 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28572 : ( 1)))
28573 : return NULL;
28574 : return gen_split_2552 (insn, operands);
28575 :
28576 : case 7:
28577 : if (!((
28578 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28579 : ((32 == 64 || TARGET_AVX512VL
28580 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28581 : && ix86_pre_reload_split ()
28582 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28583 : STRIP_UNARY (operands[4]))
28584 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28585 : STRIP_UNARY (operands[4]))
28586 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28587 : STRIP_UNARY (operands[3]))
28588 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28589 : STRIP_UNARY (operands[3])))) &&
28590 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28591 : (TARGET_AVX)) &&
28592 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28593 : ( 1)))
28594 : return NULL;
28595 : return gen_split_2579 (insn, operands);
28596 :
28597 : case 8:
28598 : if (!(
28599 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28600 : ((16 == 64 || TARGET_AVX512VL
28601 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28602 : && ix86_pre_reload_split ()
28603 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28604 : STRIP_UNARY (operands[4]))
28605 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28606 : STRIP_UNARY (operands[4]))
28607 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28608 : STRIP_UNARY (operands[3]))
28609 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28610 : STRIP_UNARY (operands[3])))) &&
28611 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28612 : ( 1)))
28613 : return NULL;
28614 : return gen_split_2606 (insn, operands);
28615 :
28616 : case 9:
28617 : if (!((
28618 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28619 : ((64 == 64 || TARGET_AVX512VL
28620 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28621 : && ix86_pre_reload_split ()
28622 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28623 : STRIP_UNARY (operands[4]))
28624 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28625 : STRIP_UNARY (operands[4]))
28626 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28627 : STRIP_UNARY (operands[3]))
28628 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28629 : STRIP_UNARY (operands[3])))) &&
28630 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28631 : (TARGET_AVX512F)) &&
28632 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28633 : ( 1)))
28634 : return NULL;
28635 : return gen_split_2633 (insn, operands);
28636 :
28637 : case 10:
28638 : if (!((
28639 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28640 : ((32 == 64 || TARGET_AVX512VL
28641 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28642 : && ix86_pre_reload_split ()
28643 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28644 : STRIP_UNARY (operands[4]))
28645 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28646 : STRIP_UNARY (operands[4]))
28647 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28648 : STRIP_UNARY (operands[3]))
28649 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28650 : STRIP_UNARY (operands[3])))) &&
28651 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28652 : (TARGET_AVX)) &&
28653 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28654 : ( 1)))
28655 : return NULL;
28656 : return gen_split_2660 (insn, operands);
28657 :
28658 : case 11:
28659 : if (!(
28660 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28661 : ((16 == 64 || TARGET_AVX512VL
28662 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28663 : && ix86_pre_reload_split ()
28664 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28665 : STRIP_UNARY (operands[4]))
28666 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28667 : STRIP_UNARY (operands[4]))
28668 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28669 : STRIP_UNARY (operands[3]))
28670 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28671 : STRIP_UNARY (operands[3])))) &&
28672 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28673 : ( 1)))
28674 : return NULL;
28675 : return gen_split_2687 (insn, operands);
28676 :
28677 : default:
28678 : return NULL;
28679 : }
28680 :
28681 : case IOR:
28682 : switch (pattern537 (x2))
28683 : {
28684 : case 0:
28685 : if (!((
28686 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28687 : ((64 == 64 || TARGET_AVX512VL
28688 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28689 : && ix86_pre_reload_split ()
28690 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28691 : STRIP_UNARY (operands[4]))
28692 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28693 : STRIP_UNARY (operands[4]))
28694 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28695 : STRIP_UNARY (operands[3]))
28696 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28697 : STRIP_UNARY (operands[3])))) &&
28698 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28699 : (TARGET_AVX512F)) &&
28700 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28701 : ( 1)))
28702 : return NULL;
28703 : return gen_split_2393 (insn, operands);
28704 :
28705 : case 1:
28706 : if (!((
28707 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28708 : ((32 == 64 || TARGET_AVX512VL
28709 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28710 : && ix86_pre_reload_split ()
28711 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28712 : STRIP_UNARY (operands[4]))
28713 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28714 : STRIP_UNARY (operands[4]))
28715 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28716 : STRIP_UNARY (operands[3]))
28717 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28718 : STRIP_UNARY (operands[3])))) &&
28719 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28720 : (TARGET_AVX)) &&
28721 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28722 : ( 1)))
28723 : return NULL;
28724 : return gen_split_2420 (insn, operands);
28725 :
28726 : case 2:
28727 : if (!(
28728 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28729 : ((16 == 64 || TARGET_AVX512VL
28730 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28731 : && ix86_pre_reload_split ()
28732 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28733 : STRIP_UNARY (operands[4]))
28734 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28735 : STRIP_UNARY (operands[4]))
28736 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28737 : STRIP_UNARY (operands[3]))
28738 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28739 : STRIP_UNARY (operands[3])))) &&
28740 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28741 : ( 1)))
28742 : return NULL;
28743 : return gen_split_2447 (insn, operands);
28744 :
28745 : case 3:
28746 : if (!((
28747 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28748 : ((64 == 64 || TARGET_AVX512VL
28749 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28750 : && ix86_pre_reload_split ()
28751 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28752 : STRIP_UNARY (operands[4]))
28753 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28754 : STRIP_UNARY (operands[4]))
28755 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28756 : STRIP_UNARY (operands[3]))
28757 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28758 : STRIP_UNARY (operands[3])))) &&
28759 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28760 : (TARGET_AVX512F)) &&
28761 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28762 : ( 1)))
28763 : return NULL;
28764 : return gen_split_2474 (insn, operands);
28765 :
28766 : case 4:
28767 : if (!((
28768 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28769 : ((32 == 64 || TARGET_AVX512VL
28770 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28771 : && ix86_pre_reload_split ()
28772 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28773 : STRIP_UNARY (operands[4]))
28774 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28775 : STRIP_UNARY (operands[4]))
28776 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28777 : STRIP_UNARY (operands[3]))
28778 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28779 : STRIP_UNARY (operands[3])))) &&
28780 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28781 : (TARGET_AVX)) &&
28782 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28783 : ( 1)))
28784 : return NULL;
28785 : return gen_split_2501 (insn, operands);
28786 :
28787 : case 5:
28788 : if (!(
28789 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28790 : ((16 == 64 || TARGET_AVX512VL
28791 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28792 : && ix86_pre_reload_split ()
28793 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28794 : STRIP_UNARY (operands[4]))
28795 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28796 : STRIP_UNARY (operands[4]))
28797 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28798 : STRIP_UNARY (operands[3]))
28799 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28800 : STRIP_UNARY (operands[3])))) &&
28801 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28802 : ( 1)))
28803 : return NULL;
28804 : return gen_split_2528 (insn, operands);
28805 :
28806 : case 6:
28807 : if (!((
28808 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28809 : ((64 == 64 || TARGET_AVX512VL
28810 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28811 : && ix86_pre_reload_split ()
28812 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28813 : STRIP_UNARY (operands[4]))
28814 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28815 : STRIP_UNARY (operands[4]))
28816 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28817 : STRIP_UNARY (operands[3]))
28818 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28819 : STRIP_UNARY (operands[3])))) &&
28820 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28821 : (TARGET_AVX512F)) &&
28822 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28823 : ( 1)))
28824 : return NULL;
28825 : return gen_split_2555 (insn, operands);
28826 :
28827 : case 7:
28828 : if (!((
28829 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28830 : ((32 == 64 || TARGET_AVX512VL
28831 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28832 : && ix86_pre_reload_split ()
28833 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28834 : STRIP_UNARY (operands[4]))
28835 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28836 : STRIP_UNARY (operands[4]))
28837 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28838 : STRIP_UNARY (operands[3]))
28839 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28840 : STRIP_UNARY (operands[3])))) &&
28841 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28842 : (TARGET_AVX)) &&
28843 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28844 : ( 1)))
28845 : return NULL;
28846 : return gen_split_2582 (insn, operands);
28847 :
28848 : case 8:
28849 : if (!(
28850 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28851 : ((16 == 64 || TARGET_AVX512VL
28852 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28853 : && ix86_pre_reload_split ()
28854 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28855 : STRIP_UNARY (operands[4]))
28856 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28857 : STRIP_UNARY (operands[4]))
28858 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28859 : STRIP_UNARY (operands[3]))
28860 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28861 : STRIP_UNARY (operands[3])))) &&
28862 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28863 : ( 1)))
28864 : return NULL;
28865 : return gen_split_2609 (insn, operands);
28866 :
28867 : case 9:
28868 : if (!((
28869 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28870 : ((64 == 64 || TARGET_AVX512VL
28871 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28872 : && ix86_pre_reload_split ()
28873 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28874 : STRIP_UNARY (operands[4]))
28875 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28876 : STRIP_UNARY (operands[4]))
28877 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28878 : STRIP_UNARY (operands[3]))
28879 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28880 : STRIP_UNARY (operands[3])))) &&
28881 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28882 : (TARGET_AVX512F)) &&
28883 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28884 : ( 1)))
28885 : return NULL;
28886 : return gen_split_2636 (insn, operands);
28887 :
28888 : case 10:
28889 : if (!((
28890 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28891 : ((32 == 64 || TARGET_AVX512VL
28892 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28893 : && ix86_pre_reload_split ()
28894 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28895 : STRIP_UNARY (operands[4]))
28896 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28897 : STRIP_UNARY (operands[4]))
28898 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28899 : STRIP_UNARY (operands[3]))
28900 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28901 : STRIP_UNARY (operands[3])))) &&
28902 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28903 : (TARGET_AVX)) &&
28904 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28905 : ( 1)))
28906 : return NULL;
28907 : return gen_split_2663 (insn, operands);
28908 :
28909 : case 11:
28910 : if (!(
28911 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28912 : ((16 == 64 || TARGET_AVX512VL
28913 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28914 : && ix86_pre_reload_split ()
28915 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28916 : STRIP_UNARY (operands[4]))
28917 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28918 : STRIP_UNARY (operands[4]))
28919 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28920 : STRIP_UNARY (operands[3]))
28921 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28922 : STRIP_UNARY (operands[3])))) &&
28923 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28924 : ( 1)))
28925 : return NULL;
28926 : return gen_split_2690 (insn, operands);
28927 :
28928 : default:
28929 : return NULL;
28930 : }
28931 :
28932 : case XOR:
28933 : switch (pattern537 (x2))
28934 : {
28935 : case 0:
28936 : if (!((
28937 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28938 : ((64 == 64 || TARGET_AVX512VL
28939 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28940 : && ix86_pre_reload_split ()
28941 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28942 : STRIP_UNARY (operands[4]))
28943 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28944 : STRIP_UNARY (operands[4]))
28945 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28946 : STRIP_UNARY (operands[3]))
28947 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28948 : STRIP_UNARY (operands[3])))) &&
28949 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28950 : (TARGET_AVX512F)) &&
28951 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28952 : ( 1)))
28953 : return NULL;
28954 : return gen_split_2396 (insn, operands);
28955 :
28956 : case 1:
28957 : if (!((
28958 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28959 : ((32 == 64 || TARGET_AVX512VL
28960 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28961 : && ix86_pre_reload_split ()
28962 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28963 : STRIP_UNARY (operands[4]))
28964 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28965 : STRIP_UNARY (operands[4]))
28966 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28967 : STRIP_UNARY (operands[3]))
28968 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28969 : STRIP_UNARY (operands[3])))) &&
28970 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28971 : (TARGET_AVX)) &&
28972 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28973 : ( 1)))
28974 : return NULL;
28975 : return gen_split_2423 (insn, operands);
28976 :
28977 : case 2:
28978 : if (!(
28979 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28980 : ((16 == 64 || TARGET_AVX512VL
28981 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28982 : && ix86_pre_reload_split ()
28983 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28984 : STRIP_UNARY (operands[4]))
28985 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28986 : STRIP_UNARY (operands[4]))
28987 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28988 : STRIP_UNARY (operands[3]))
28989 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28990 : STRIP_UNARY (operands[3])))) &&
28991 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28992 : ( 1)))
28993 : return NULL;
28994 : return gen_split_2450 (insn, operands);
28995 :
28996 : case 3:
28997 : if (!((
28998 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28999 : ((64 == 64 || TARGET_AVX512VL
29000 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29001 : && ix86_pre_reload_split ()
29002 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29003 : STRIP_UNARY (operands[4]))
29004 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29005 : STRIP_UNARY (operands[4]))
29006 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29007 : STRIP_UNARY (operands[3]))
29008 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29009 : STRIP_UNARY (operands[3])))) &&
29010 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29011 : (TARGET_AVX512F)) &&
29012 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29013 : ( 1)))
29014 : return NULL;
29015 : return gen_split_2477 (insn, operands);
29016 :
29017 : case 4:
29018 : if (!((
29019 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29020 : ((32 == 64 || TARGET_AVX512VL
29021 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29022 : && ix86_pre_reload_split ()
29023 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29024 : STRIP_UNARY (operands[4]))
29025 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29026 : STRIP_UNARY (operands[4]))
29027 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29028 : STRIP_UNARY (operands[3]))
29029 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29030 : STRIP_UNARY (operands[3])))) &&
29031 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29032 : (TARGET_AVX)) &&
29033 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29034 : ( 1)))
29035 : return NULL;
29036 : return gen_split_2504 (insn, operands);
29037 :
29038 : case 5:
29039 : if (!(
29040 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29041 : ((16 == 64 || TARGET_AVX512VL
29042 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29043 : && ix86_pre_reload_split ()
29044 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29045 : STRIP_UNARY (operands[4]))
29046 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29047 : STRIP_UNARY (operands[4]))
29048 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29049 : STRIP_UNARY (operands[3]))
29050 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29051 : STRIP_UNARY (operands[3])))) &&
29052 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29053 : ( 1)))
29054 : return NULL;
29055 : return gen_split_2531 (insn, operands);
29056 :
29057 : case 6:
29058 : if (!((
29059 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29060 : ((64 == 64 || TARGET_AVX512VL
29061 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29062 : && ix86_pre_reload_split ()
29063 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29064 : STRIP_UNARY (operands[4]))
29065 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29066 : STRIP_UNARY (operands[4]))
29067 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29068 : STRIP_UNARY (operands[3]))
29069 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29070 : STRIP_UNARY (operands[3])))) &&
29071 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29072 : (TARGET_AVX512F)) &&
29073 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29074 : ( 1)))
29075 : return NULL;
29076 : return gen_split_2558 (insn, operands);
29077 :
29078 : case 7:
29079 : if (!((
29080 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29081 : ((32 == 64 || TARGET_AVX512VL
29082 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29083 : && ix86_pre_reload_split ()
29084 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29085 : STRIP_UNARY (operands[4]))
29086 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29087 : STRIP_UNARY (operands[4]))
29088 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29089 : STRIP_UNARY (operands[3]))
29090 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29091 : STRIP_UNARY (operands[3])))) &&
29092 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29093 : (TARGET_AVX)) &&
29094 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29095 : ( 1)))
29096 : return NULL;
29097 : return gen_split_2585 (insn, operands);
29098 :
29099 : case 8:
29100 : if (!(
29101 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29102 : ((16 == 64 || TARGET_AVX512VL
29103 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29104 : && ix86_pre_reload_split ()
29105 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29106 : STRIP_UNARY (operands[4]))
29107 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29108 : STRIP_UNARY (operands[4]))
29109 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29110 : STRIP_UNARY (operands[3]))
29111 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29112 : STRIP_UNARY (operands[3])))) &&
29113 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29114 : ( 1)))
29115 : return NULL;
29116 : return gen_split_2612 (insn, operands);
29117 :
29118 : case 9:
29119 : if (!((
29120 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29121 : ((64 == 64 || TARGET_AVX512VL
29122 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29123 : && ix86_pre_reload_split ()
29124 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29125 : STRIP_UNARY (operands[4]))
29126 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29127 : STRIP_UNARY (operands[4]))
29128 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29129 : STRIP_UNARY (operands[3]))
29130 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29131 : STRIP_UNARY (operands[3])))) &&
29132 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29133 : (TARGET_AVX512F)) &&
29134 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29135 : ( 1)))
29136 : return NULL;
29137 : return gen_split_2639 (insn, operands);
29138 :
29139 : case 10:
29140 : if (!((
29141 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29142 : ((32 == 64 || TARGET_AVX512VL
29143 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29144 : && ix86_pre_reload_split ()
29145 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29146 : STRIP_UNARY (operands[4]))
29147 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29148 : STRIP_UNARY (operands[4]))
29149 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29150 : STRIP_UNARY (operands[3]))
29151 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29152 : STRIP_UNARY (operands[3])))) &&
29153 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29154 : (TARGET_AVX)) &&
29155 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29156 : ( 1)))
29157 : return NULL;
29158 : return gen_split_2666 (insn, operands);
29159 :
29160 : case 11:
29161 : if (!(
29162 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29163 : ((16 == 64 || TARGET_AVX512VL
29164 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29165 : && ix86_pre_reload_split ()
29166 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29167 : STRIP_UNARY (operands[4]))
29168 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29169 : STRIP_UNARY (operands[4]))
29170 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29171 : STRIP_UNARY (operands[3]))
29172 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29173 : STRIP_UNARY (operands[3])))) &&
29174 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29175 : ( 1)))
29176 : return NULL;
29177 : return gen_split_2693 (insn, operands);
29178 :
29179 : default:
29180 : return NULL;
29181 : }
29182 :
29183 : default:
29184 : return NULL;
29185 : }
29186 :
29187 : case IOR:
29188 : x4 = XEXP (x3, 0);
29189 : switch (GET_CODE (x4))
29190 : {
29191 : case REG:
29192 : case SUBREG:
29193 : case MEM:
29194 : case NOT:
29195 : switch (pattern535 (x2))
29196 : {
29197 : case 0:
29198 : if (!((
29199 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29200 : ((64 == 64 || TARGET_AVX512VL
29201 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29202 : && ix86_pre_reload_split ()
29203 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29204 : STRIP_UNARY (operands[4]))
29205 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29206 : STRIP_UNARY (operands[4]))
29207 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29208 : STRIP_UNARY (operands[3]))
29209 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29210 : STRIP_UNARY (operands[3])))) &&
29211 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29212 : (TARGET_AVX512F)) &&
29213 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29214 : ( 1)))
29215 : return NULL;
29216 : return gen_split_1751 (insn, operands);
29217 :
29218 : case 1:
29219 : if (!((
29220 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29221 : ((32 == 64 || TARGET_AVX512VL
29222 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29223 : && ix86_pre_reload_split ()
29224 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29225 : STRIP_UNARY (operands[4]))
29226 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29227 : STRIP_UNARY (operands[4]))
29228 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29229 : STRIP_UNARY (operands[3]))
29230 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29231 : STRIP_UNARY (operands[3])))) &&
29232 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29233 : (TARGET_AVX)) &&
29234 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29235 : ( 1)))
29236 : return NULL;
29237 : return gen_split_1778 (insn, operands);
29238 :
29239 : case 2:
29240 : if (!(
29241 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29242 : ((16 == 64 || TARGET_AVX512VL
29243 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29244 : && ix86_pre_reload_split ()
29245 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29246 : STRIP_UNARY (operands[4]))
29247 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29248 : STRIP_UNARY (operands[4]))
29249 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29250 : STRIP_UNARY (operands[3]))
29251 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29252 : STRIP_UNARY (operands[3])))) &&
29253 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29254 : ( 1)))
29255 : return NULL;
29256 : return gen_split_1805 (insn, operands);
29257 :
29258 : case 3:
29259 : if (!((
29260 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29261 : ((64 == 64 || TARGET_AVX512VL
29262 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29263 : && ix86_pre_reload_split ()
29264 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29265 : STRIP_UNARY (operands[4]))
29266 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29267 : STRIP_UNARY (operands[4]))
29268 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29269 : STRIP_UNARY (operands[3]))
29270 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29271 : STRIP_UNARY (operands[3])))) &&
29272 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29273 : (TARGET_AVX512F)) &&
29274 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29275 : ( 1)))
29276 : return NULL;
29277 : return gen_split_1832 (insn, operands);
29278 :
29279 : case 4:
29280 : if (!((
29281 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29282 : ((32 == 64 || TARGET_AVX512VL
29283 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29284 : && ix86_pre_reload_split ()
29285 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29286 : STRIP_UNARY (operands[4]))
29287 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29288 : STRIP_UNARY (operands[4]))
29289 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29290 : STRIP_UNARY (operands[3]))
29291 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29292 : STRIP_UNARY (operands[3])))) &&
29293 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29294 : (TARGET_AVX)) &&
29295 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29296 : ( 1)))
29297 : return NULL;
29298 : return gen_split_1859 (insn, operands);
29299 :
29300 : case 5:
29301 : if (!(
29302 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29303 : ((16 == 64 || TARGET_AVX512VL
29304 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29305 : && ix86_pre_reload_split ()
29306 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29307 : STRIP_UNARY (operands[4]))
29308 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29309 : STRIP_UNARY (operands[4]))
29310 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29311 : STRIP_UNARY (operands[3]))
29312 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29313 : STRIP_UNARY (operands[3])))) &&
29314 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29315 : ( 1)))
29316 : return NULL;
29317 : return gen_split_1886 (insn, operands);
29318 :
29319 : case 6:
29320 : if (!((
29321 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29322 : ((64 == 64 || TARGET_AVX512VL
29323 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29324 : && ix86_pre_reload_split ()
29325 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29326 : STRIP_UNARY (operands[4]))
29327 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29328 : STRIP_UNARY (operands[4]))
29329 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29330 : STRIP_UNARY (operands[3]))
29331 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29332 : STRIP_UNARY (operands[3])))) &&
29333 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29334 : (TARGET_AVX512F)) &&
29335 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29336 : ( 1)))
29337 : return NULL;
29338 : return gen_split_1913 (insn, operands);
29339 :
29340 : case 7:
29341 : if (!((
29342 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29343 : ((32 == 64 || TARGET_AVX512VL
29344 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29345 : && ix86_pre_reload_split ()
29346 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29347 : STRIP_UNARY (operands[4]))
29348 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29349 : STRIP_UNARY (operands[4]))
29350 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29351 : STRIP_UNARY (operands[3]))
29352 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29353 : STRIP_UNARY (operands[3])))) &&
29354 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29355 : (TARGET_AVX)) &&
29356 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29357 : ( 1)))
29358 : return NULL;
29359 : return gen_split_1940 (insn, operands);
29360 :
29361 : case 8:
29362 : if (!(
29363 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29364 : ((16 == 64 || TARGET_AVX512VL
29365 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29366 : && ix86_pre_reload_split ()
29367 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29368 : STRIP_UNARY (operands[4]))
29369 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29370 : STRIP_UNARY (operands[4]))
29371 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29372 : STRIP_UNARY (operands[3]))
29373 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29374 : STRIP_UNARY (operands[3])))) &&
29375 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29376 : ( 1)))
29377 : return NULL;
29378 : return gen_split_1967 (insn, operands);
29379 :
29380 : case 9:
29381 : if (!((
29382 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29383 : ((64 == 64 || TARGET_AVX512VL
29384 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29385 : && ix86_pre_reload_split ()
29386 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29387 : STRIP_UNARY (operands[4]))
29388 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29389 : STRIP_UNARY (operands[4]))
29390 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29391 : STRIP_UNARY (operands[3]))
29392 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29393 : STRIP_UNARY (operands[3])))) &&
29394 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29395 : (TARGET_AVX512F)) &&
29396 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29397 : ( 1)))
29398 : return NULL;
29399 : return gen_split_1994 (insn, operands);
29400 :
29401 : case 10:
29402 : if (!((
29403 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29404 : ((32 == 64 || TARGET_AVX512VL
29405 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29406 : && ix86_pre_reload_split ()
29407 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29408 : STRIP_UNARY (operands[4]))
29409 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29410 : STRIP_UNARY (operands[4]))
29411 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29412 : STRIP_UNARY (operands[3]))
29413 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29414 : STRIP_UNARY (operands[3])))) &&
29415 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29416 : (TARGET_AVX)) &&
29417 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29418 : ( 1)))
29419 : return NULL;
29420 : return gen_split_2021 (insn, operands);
29421 :
29422 : case 11:
29423 : if (!(
29424 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29425 : ((16 == 64 || TARGET_AVX512VL
29426 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29427 : && ix86_pre_reload_split ()
29428 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29429 : STRIP_UNARY (operands[4]))
29430 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29431 : STRIP_UNARY (operands[4]))
29432 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29433 : STRIP_UNARY (operands[3]))
29434 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29435 : STRIP_UNARY (operands[3])))) &&
29436 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29437 : ( 1)))
29438 : return NULL;
29439 : return gen_split_2048 (insn, operands);
29440 :
29441 : case 12:
29442 : if (!((
29443 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29444 : ((64 == 64 || TARGET_AVX512VL
29445 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29446 : && ix86_pre_reload_split ()
29447 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29448 : STRIP_UNARY (operands[4]))
29449 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29450 : STRIP_UNARY (operands[4]))
29451 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29452 : STRIP_UNARY (operands[3]))
29453 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29454 : STRIP_UNARY (operands[3])))) &&
29455 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29456 : (TARGET_AVX512F)) &&
29457 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29458 : ( 1)))
29459 : return NULL;
29460 : return gen_split_1754 (insn, operands);
29461 :
29462 : case 13:
29463 : if (!((
29464 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29465 : ((32 == 64 || TARGET_AVX512VL
29466 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29467 : && ix86_pre_reload_split ()
29468 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29469 : STRIP_UNARY (operands[4]))
29470 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29471 : STRIP_UNARY (operands[4]))
29472 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29473 : STRIP_UNARY (operands[3]))
29474 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29475 : STRIP_UNARY (operands[3])))) &&
29476 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29477 : (TARGET_AVX)) &&
29478 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29479 : ( 1)))
29480 : return NULL;
29481 : return gen_split_1781 (insn, operands);
29482 :
29483 : case 14:
29484 : if (!(
29485 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29486 : ((16 == 64 || TARGET_AVX512VL
29487 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29488 : && ix86_pre_reload_split ()
29489 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29490 : STRIP_UNARY (operands[4]))
29491 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29492 : STRIP_UNARY (operands[4]))
29493 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29494 : STRIP_UNARY (operands[3]))
29495 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29496 : STRIP_UNARY (operands[3])))) &&
29497 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29498 : ( 1)))
29499 : return NULL;
29500 : return gen_split_1808 (insn, operands);
29501 :
29502 : case 15:
29503 : if (!((
29504 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29505 : ((64 == 64 || TARGET_AVX512VL
29506 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29507 : && ix86_pre_reload_split ()
29508 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29509 : STRIP_UNARY (operands[4]))
29510 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29511 : STRIP_UNARY (operands[4]))
29512 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29513 : STRIP_UNARY (operands[3]))
29514 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29515 : STRIP_UNARY (operands[3])))) &&
29516 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29517 : (TARGET_AVX512F)) &&
29518 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29519 : ( 1)))
29520 : return NULL;
29521 : return gen_split_1835 (insn, operands);
29522 :
29523 : case 16:
29524 : if (!((
29525 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29526 : ((32 == 64 || TARGET_AVX512VL
29527 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29528 : && ix86_pre_reload_split ()
29529 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29530 : STRIP_UNARY (operands[4]))
29531 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29532 : STRIP_UNARY (operands[4]))
29533 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29534 : STRIP_UNARY (operands[3]))
29535 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29536 : STRIP_UNARY (operands[3])))) &&
29537 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29538 : (TARGET_AVX)) &&
29539 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29540 : ( 1)))
29541 : return NULL;
29542 : return gen_split_1862 (insn, operands);
29543 :
29544 : case 17:
29545 : if (!(
29546 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29547 : ((16 == 64 || TARGET_AVX512VL
29548 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29549 : && ix86_pre_reload_split ()
29550 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29551 : STRIP_UNARY (operands[4]))
29552 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29553 : STRIP_UNARY (operands[4]))
29554 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29555 : STRIP_UNARY (operands[3]))
29556 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29557 : STRIP_UNARY (operands[3])))) &&
29558 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29559 : ( 1)))
29560 : return NULL;
29561 : return gen_split_1889 (insn, operands);
29562 :
29563 : case 18:
29564 : if (!((
29565 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29566 : ((64 == 64 || TARGET_AVX512VL
29567 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29568 : && ix86_pre_reload_split ()
29569 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29570 : STRIP_UNARY (operands[4]))
29571 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29572 : STRIP_UNARY (operands[4]))
29573 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29574 : STRIP_UNARY (operands[3]))
29575 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29576 : STRIP_UNARY (operands[3])))) &&
29577 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29578 : (TARGET_AVX512F)) &&
29579 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29580 : ( 1)))
29581 : return NULL;
29582 : return gen_split_1916 (insn, operands);
29583 :
29584 : case 19:
29585 : if (!((
29586 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29587 : ((32 == 64 || TARGET_AVX512VL
29588 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29589 : && ix86_pre_reload_split ()
29590 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29591 : STRIP_UNARY (operands[4]))
29592 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29593 : STRIP_UNARY (operands[4]))
29594 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29595 : STRIP_UNARY (operands[3]))
29596 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29597 : STRIP_UNARY (operands[3])))) &&
29598 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29599 : (TARGET_AVX)) &&
29600 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29601 : ( 1)))
29602 : return NULL;
29603 : return gen_split_1943 (insn, operands);
29604 :
29605 : case 20:
29606 : if (!(
29607 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29608 : ((16 == 64 || TARGET_AVX512VL
29609 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29610 : && ix86_pre_reload_split ()
29611 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29612 : STRIP_UNARY (operands[4]))
29613 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29614 : STRIP_UNARY (operands[4]))
29615 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29616 : STRIP_UNARY (operands[3]))
29617 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29618 : STRIP_UNARY (operands[3])))) &&
29619 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29620 : ( 1)))
29621 : return NULL;
29622 : return gen_split_1970 (insn, operands);
29623 :
29624 : case 21:
29625 : if (!((
29626 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29627 : ((64 == 64 || TARGET_AVX512VL
29628 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29629 : && ix86_pre_reload_split ()
29630 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29631 : STRIP_UNARY (operands[4]))
29632 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29633 : STRIP_UNARY (operands[4]))
29634 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29635 : STRIP_UNARY (operands[3]))
29636 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29637 : STRIP_UNARY (operands[3])))) &&
29638 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29639 : (TARGET_AVX512F)) &&
29640 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29641 : ( 1)))
29642 : return NULL;
29643 : return gen_split_1997 (insn, operands);
29644 :
29645 : case 22:
29646 : if (!((
29647 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29648 : ((32 == 64 || TARGET_AVX512VL
29649 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29650 : && ix86_pre_reload_split ()
29651 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29652 : STRIP_UNARY (operands[4]))
29653 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29654 : STRIP_UNARY (operands[4]))
29655 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29656 : STRIP_UNARY (operands[3]))
29657 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29658 : STRIP_UNARY (operands[3])))) &&
29659 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29660 : (TARGET_AVX)) &&
29661 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29662 : ( 1)))
29663 : return NULL;
29664 : return gen_split_2024 (insn, operands);
29665 :
29666 : case 23:
29667 : if (!(
29668 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29669 : ((16 == 64 || TARGET_AVX512VL
29670 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29671 : && ix86_pre_reload_split ()
29672 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29673 : STRIP_UNARY (operands[4]))
29674 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29675 : STRIP_UNARY (operands[4]))
29676 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29677 : STRIP_UNARY (operands[3]))
29678 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29679 : STRIP_UNARY (operands[3])))) &&
29680 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29681 : ( 1)))
29682 : return NULL;
29683 : return gen_split_2051 (insn, operands);
29684 :
29685 : case 24:
29686 : if (!((
29687 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29688 : ((64 == 64 || TARGET_AVX512VL
29689 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29690 : && ix86_pre_reload_split ()
29691 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29692 : STRIP_UNARY (operands[4]))
29693 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29694 : STRIP_UNARY (operands[4]))
29695 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29696 : STRIP_UNARY (operands[3]))
29697 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29698 : STRIP_UNARY (operands[3])))) &&
29699 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29700 : (TARGET_AVX512F)) &&
29701 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29702 : ( 1)))
29703 : return NULL;
29704 : return gen_split_1757 (insn, operands);
29705 :
29706 : case 25:
29707 : if (!((
29708 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29709 : ((32 == 64 || TARGET_AVX512VL
29710 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29711 : && ix86_pre_reload_split ()
29712 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29713 : STRIP_UNARY (operands[4]))
29714 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29715 : STRIP_UNARY (operands[4]))
29716 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29717 : STRIP_UNARY (operands[3]))
29718 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29719 : STRIP_UNARY (operands[3])))) &&
29720 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29721 : (TARGET_AVX)) &&
29722 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29723 : ( 1)))
29724 : return NULL;
29725 : return gen_split_1784 (insn, operands);
29726 :
29727 : case 26:
29728 : if (!(
29729 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29730 : ((16 == 64 || TARGET_AVX512VL
29731 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29732 : && ix86_pre_reload_split ()
29733 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29734 : STRIP_UNARY (operands[4]))
29735 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29736 : STRIP_UNARY (operands[4]))
29737 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29738 : STRIP_UNARY (operands[3]))
29739 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29740 : STRIP_UNARY (operands[3])))) &&
29741 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29742 : ( 1)))
29743 : return NULL;
29744 : return gen_split_1811 (insn, operands);
29745 :
29746 : case 27:
29747 : if (!((
29748 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29749 : ((64 == 64 || TARGET_AVX512VL
29750 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29751 : && ix86_pre_reload_split ()
29752 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29753 : STRIP_UNARY (operands[4]))
29754 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29755 : STRIP_UNARY (operands[4]))
29756 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29757 : STRIP_UNARY (operands[3]))
29758 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29759 : STRIP_UNARY (operands[3])))) &&
29760 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29761 : (TARGET_AVX512F)) &&
29762 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29763 : ( 1)))
29764 : return NULL;
29765 : return gen_split_1838 (insn, operands);
29766 :
29767 : case 28:
29768 : if (!((
29769 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29770 : ((32 == 64 || TARGET_AVX512VL
29771 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29772 : && ix86_pre_reload_split ()
29773 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29774 : STRIP_UNARY (operands[4]))
29775 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29776 : STRIP_UNARY (operands[4]))
29777 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29778 : STRIP_UNARY (operands[3]))
29779 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29780 : STRIP_UNARY (operands[3])))) &&
29781 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29782 : (TARGET_AVX)) &&
29783 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29784 : ( 1)))
29785 : return NULL;
29786 : return gen_split_1865 (insn, operands);
29787 :
29788 : case 29:
29789 : if (!(
29790 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29791 : ((16 == 64 || TARGET_AVX512VL
29792 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29793 : && ix86_pre_reload_split ()
29794 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29795 : STRIP_UNARY (operands[4]))
29796 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29797 : STRIP_UNARY (operands[4]))
29798 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29799 : STRIP_UNARY (operands[3]))
29800 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29801 : STRIP_UNARY (operands[3])))) &&
29802 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29803 : ( 1)))
29804 : return NULL;
29805 : return gen_split_1892 (insn, operands);
29806 :
29807 : case 30:
29808 : if (!((
29809 : #line 14102 "/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 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29822 : (TARGET_AVX512F)) &&
29823 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29824 : ( 1)))
29825 : return NULL;
29826 : return gen_split_1919 (insn, operands);
29827 :
29828 : case 31:
29829 : if (!((
29830 : #line 14102 "/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 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29843 : (TARGET_AVX)) &&
29844 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29845 : ( 1)))
29846 : return NULL;
29847 : return gen_split_1946 (insn, operands);
29848 :
29849 : case 32:
29850 : if (!(
29851 : #line 14102 "/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 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29864 : ( 1)))
29865 : return NULL;
29866 : return gen_split_1973 (insn, operands);
29867 :
29868 : case 33:
29869 : if (!((
29870 : #line 14102 "/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 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29883 : (TARGET_AVX512F)) &&
29884 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29885 : ( 1)))
29886 : return NULL;
29887 : return gen_split_2000 (insn, operands);
29888 :
29889 : case 34:
29890 : if (!((
29891 : #line 14102 "/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 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29904 : (TARGET_AVX)) &&
29905 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29906 : ( 1)))
29907 : return NULL;
29908 : return gen_split_2027 (insn, operands);
29909 :
29910 : case 35:
29911 : if (!(
29912 : #line 14102 "/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 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29925 : ( 1)))
29926 : return NULL;
29927 : return gen_split_2054 (insn, operands);
29928 :
29929 : case 36:
29930 : if (!((
29931 : #line 14271 "/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 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29936 : (TARGET_AVX512F)) &&
29937 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29938 : ( 1)))
29939 : return NULL;
29940 : return gen_split_3041 (insn, operands);
29941 :
29942 : case 37:
29943 : if (!((
29944 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29945 : ((32 == 64 || TARGET_AVX512VL
29946 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29947 : && ix86_pre_reload_split ()) &&
29948 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29949 : (TARGET_AVX)) &&
29950 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29951 : ( 1)))
29952 : return NULL;
29953 : return gen_split_3050 (insn, operands);
29954 :
29955 : case 38:
29956 : if (!(
29957 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29958 : ((16 == 64 || TARGET_AVX512VL
29959 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29960 : && ix86_pre_reload_split ()) &&
29961 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29962 : ( 1)))
29963 : return NULL;
29964 : return gen_split_3059 (insn, operands);
29965 :
29966 : case 39:
29967 : if (!((
29968 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29969 : ((64 == 64 || TARGET_AVX512VL
29970 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29971 : && ix86_pre_reload_split ()) &&
29972 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29973 : (TARGET_AVX512F)) &&
29974 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29975 : ( 1)))
29976 : return NULL;
29977 : return gen_split_3068 (insn, operands);
29978 :
29979 : case 40:
29980 : if (!((
29981 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29982 : ((32 == 64 || TARGET_AVX512VL
29983 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29984 : && ix86_pre_reload_split ()) &&
29985 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29986 : (TARGET_AVX)) &&
29987 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29988 : ( 1)))
29989 : return NULL;
29990 : return gen_split_3077 (insn, operands);
29991 :
29992 : case 41:
29993 : if (!(
29994 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29995 : ((16 == 64 || TARGET_AVX512VL
29996 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29997 : && ix86_pre_reload_split ()) &&
29998 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29999 : ( 1)))
30000 : return NULL;
30001 : return gen_split_3086 (insn, operands);
30002 :
30003 : case 42:
30004 : if (!((
30005 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30006 : ((64 == 64 || TARGET_AVX512VL
30007 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30008 : && ix86_pre_reload_split ()) &&
30009 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30010 : (TARGET_AVX512F)) &&
30011 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30012 : ( 1)))
30013 : return NULL;
30014 : return gen_split_3095 (insn, operands);
30015 :
30016 : case 43:
30017 : if (!((
30018 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30019 : ((32 == 64 || TARGET_AVX512VL
30020 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30021 : && ix86_pre_reload_split ()) &&
30022 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30023 : (TARGET_AVX)) &&
30024 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30025 : ( 1)))
30026 : return NULL;
30027 : return gen_split_3104 (insn, operands);
30028 :
30029 : case 44:
30030 : if (!(
30031 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30032 : ((16 == 64 || TARGET_AVX512VL
30033 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30034 : && ix86_pre_reload_split ()) &&
30035 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30036 : ( 1)))
30037 : return NULL;
30038 : return gen_split_3113 (insn, operands);
30039 :
30040 : case 45:
30041 : if (!((
30042 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30043 : ((64 == 64 || TARGET_AVX512VL
30044 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30045 : && ix86_pre_reload_split ()) &&
30046 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30047 : (TARGET_AVX512F)) &&
30048 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30049 : ( 1)))
30050 : return NULL;
30051 : return gen_split_3122 (insn, operands);
30052 :
30053 : case 46:
30054 : if (!((
30055 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30056 : ((32 == 64 || TARGET_AVX512VL
30057 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30058 : && ix86_pre_reload_split ()) &&
30059 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30060 : (TARGET_AVX)) &&
30061 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30062 : ( 1)))
30063 : return NULL;
30064 : return gen_split_3131 (insn, operands);
30065 :
30066 : case 47:
30067 : if (!(
30068 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30069 : ((16 == 64 || TARGET_AVX512VL
30070 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30071 : && ix86_pre_reload_split ()) &&
30072 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30073 : ( 1)))
30074 : return NULL;
30075 : return gen_split_3140 (insn, operands);
30076 :
30077 : default:
30078 : return NULL;
30079 : }
30080 :
30081 : case AND:
30082 : switch (pattern537 (x2))
30083 : {
30084 : case 0:
30085 : if (!((
30086 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30087 : ((64 == 64 || TARGET_AVX512VL
30088 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30089 : && ix86_pre_reload_split ()
30090 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30091 : STRIP_UNARY (operands[4]))
30092 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30093 : STRIP_UNARY (operands[4]))
30094 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30095 : STRIP_UNARY (operands[3]))
30096 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30097 : STRIP_UNARY (operands[3])))) &&
30098 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30099 : (TARGET_AVX512F)) &&
30100 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30101 : ( 1)))
30102 : return NULL;
30103 : return gen_split_2399 (insn, operands);
30104 :
30105 : case 1:
30106 : if (!((
30107 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30108 : ((32 == 64 || TARGET_AVX512VL
30109 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30110 : && ix86_pre_reload_split ()
30111 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30112 : STRIP_UNARY (operands[4]))
30113 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30114 : STRIP_UNARY (operands[4]))
30115 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30116 : STRIP_UNARY (operands[3]))
30117 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30118 : STRIP_UNARY (operands[3])))) &&
30119 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30120 : (TARGET_AVX)) &&
30121 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30122 : ( 1)))
30123 : return NULL;
30124 : return gen_split_2426 (insn, operands);
30125 :
30126 : case 2:
30127 : if (!(
30128 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30129 : ((16 == 64 || TARGET_AVX512VL
30130 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30131 : && ix86_pre_reload_split ()
30132 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30133 : STRIP_UNARY (operands[4]))
30134 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30135 : STRIP_UNARY (operands[4]))
30136 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30137 : STRIP_UNARY (operands[3]))
30138 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30139 : STRIP_UNARY (operands[3])))) &&
30140 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30141 : ( 1)))
30142 : return NULL;
30143 : return gen_split_2453 (insn, operands);
30144 :
30145 : case 3:
30146 : if (!((
30147 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30148 : ((64 == 64 || TARGET_AVX512VL
30149 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30150 : && ix86_pre_reload_split ()
30151 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30152 : STRIP_UNARY (operands[4]))
30153 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30154 : STRIP_UNARY (operands[4]))
30155 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30156 : STRIP_UNARY (operands[3]))
30157 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30158 : STRIP_UNARY (operands[3])))) &&
30159 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30160 : (TARGET_AVX512F)) &&
30161 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30162 : ( 1)))
30163 : return NULL;
30164 : return gen_split_2480 (insn, operands);
30165 :
30166 : case 4:
30167 : if (!((
30168 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30169 : ((32 == 64 || TARGET_AVX512VL
30170 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30171 : && ix86_pre_reload_split ()
30172 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30173 : STRIP_UNARY (operands[4]))
30174 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30175 : STRIP_UNARY (operands[4]))
30176 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30177 : STRIP_UNARY (operands[3]))
30178 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30179 : STRIP_UNARY (operands[3])))) &&
30180 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30181 : (TARGET_AVX)) &&
30182 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30183 : ( 1)))
30184 : return NULL;
30185 : return gen_split_2507 (insn, operands);
30186 :
30187 : case 5:
30188 : if (!(
30189 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30190 : ((16 == 64 || TARGET_AVX512VL
30191 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30192 : && ix86_pre_reload_split ()
30193 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30194 : STRIP_UNARY (operands[4]))
30195 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30196 : STRIP_UNARY (operands[4]))
30197 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30198 : STRIP_UNARY (operands[3]))
30199 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30200 : STRIP_UNARY (operands[3])))) &&
30201 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30202 : ( 1)))
30203 : return NULL;
30204 : return gen_split_2534 (insn, operands);
30205 :
30206 : case 6:
30207 : if (!((
30208 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30209 : ((64 == 64 || TARGET_AVX512VL
30210 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30211 : && ix86_pre_reload_split ()
30212 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30213 : STRIP_UNARY (operands[4]))
30214 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30215 : STRIP_UNARY (operands[4]))
30216 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30217 : STRIP_UNARY (operands[3]))
30218 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30219 : STRIP_UNARY (operands[3])))) &&
30220 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30221 : (TARGET_AVX512F)) &&
30222 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30223 : ( 1)))
30224 : return NULL;
30225 : return gen_split_2561 (insn, operands);
30226 :
30227 : case 7:
30228 : if (!((
30229 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30230 : ((32 == 64 || TARGET_AVX512VL
30231 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30232 : && ix86_pre_reload_split ()
30233 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30234 : STRIP_UNARY (operands[4]))
30235 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30236 : STRIP_UNARY (operands[4]))
30237 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30238 : STRIP_UNARY (operands[3]))
30239 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30240 : STRIP_UNARY (operands[3])))) &&
30241 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30242 : (TARGET_AVX)) &&
30243 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30244 : ( 1)))
30245 : return NULL;
30246 : return gen_split_2588 (insn, operands);
30247 :
30248 : case 8:
30249 : if (!(
30250 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30251 : ((16 == 64 || TARGET_AVX512VL
30252 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30253 : && ix86_pre_reload_split ()
30254 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30255 : STRIP_UNARY (operands[4]))
30256 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30257 : STRIP_UNARY (operands[4]))
30258 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30259 : STRIP_UNARY (operands[3]))
30260 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30261 : STRIP_UNARY (operands[3])))) &&
30262 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30263 : ( 1)))
30264 : return NULL;
30265 : return gen_split_2615 (insn, operands);
30266 :
30267 : case 9:
30268 : if (!((
30269 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30270 : ((64 == 64 || TARGET_AVX512VL
30271 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30272 : && ix86_pre_reload_split ()
30273 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30274 : STRIP_UNARY (operands[4]))
30275 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30276 : STRIP_UNARY (operands[4]))
30277 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30278 : STRIP_UNARY (operands[3]))
30279 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30280 : STRIP_UNARY (operands[3])))) &&
30281 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30282 : (TARGET_AVX512F)) &&
30283 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30284 : ( 1)))
30285 : return NULL;
30286 : return gen_split_2642 (insn, operands);
30287 :
30288 : case 10:
30289 : if (!((
30290 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30291 : ((32 == 64 || TARGET_AVX512VL
30292 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30293 : && ix86_pre_reload_split ()
30294 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30295 : STRIP_UNARY (operands[4]))
30296 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30297 : STRIP_UNARY (operands[4]))
30298 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30299 : STRIP_UNARY (operands[3]))
30300 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30301 : STRIP_UNARY (operands[3])))) &&
30302 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30303 : (TARGET_AVX)) &&
30304 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30305 : ( 1)))
30306 : return NULL;
30307 : return gen_split_2669 (insn, operands);
30308 :
30309 : case 11:
30310 : if (!(
30311 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30312 : ((16 == 64 || TARGET_AVX512VL
30313 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30314 : && ix86_pre_reload_split ()
30315 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30316 : STRIP_UNARY (operands[4]))
30317 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30318 : STRIP_UNARY (operands[4]))
30319 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30320 : STRIP_UNARY (operands[3]))
30321 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30322 : STRIP_UNARY (operands[3])))) &&
30323 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30324 : ( 1)))
30325 : return NULL;
30326 : return gen_split_2696 (insn, operands);
30327 :
30328 : default:
30329 : return NULL;
30330 : }
30331 :
30332 : case IOR:
30333 : switch (pattern537 (x2))
30334 : {
30335 : case 0:
30336 : if (!((
30337 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30338 : ((64 == 64 || TARGET_AVX512VL
30339 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30340 : && ix86_pre_reload_split ()
30341 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30342 : STRIP_UNARY (operands[4]))
30343 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30344 : STRIP_UNARY (operands[4]))
30345 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30346 : STRIP_UNARY (operands[3]))
30347 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30348 : STRIP_UNARY (operands[3])))) &&
30349 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30350 : (TARGET_AVX512F)) &&
30351 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30352 : ( 1)))
30353 : return NULL;
30354 : return gen_split_2402 (insn, operands);
30355 :
30356 : case 1:
30357 : if (!((
30358 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30359 : ((32 == 64 || TARGET_AVX512VL
30360 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30361 : && ix86_pre_reload_split ()
30362 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30363 : STRIP_UNARY (operands[4]))
30364 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30365 : STRIP_UNARY (operands[4]))
30366 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30367 : STRIP_UNARY (operands[3]))
30368 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30369 : STRIP_UNARY (operands[3])))) &&
30370 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30371 : (TARGET_AVX)) &&
30372 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30373 : ( 1)))
30374 : return NULL;
30375 : return gen_split_2429 (insn, operands);
30376 :
30377 : case 2:
30378 : if (!(
30379 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30380 : ((16 == 64 || TARGET_AVX512VL
30381 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30382 : && ix86_pre_reload_split ()
30383 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30384 : STRIP_UNARY (operands[4]))
30385 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30386 : STRIP_UNARY (operands[4]))
30387 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30388 : STRIP_UNARY (operands[3]))
30389 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30390 : STRIP_UNARY (operands[3])))) &&
30391 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30392 : ( 1)))
30393 : return NULL;
30394 : return gen_split_2456 (insn, operands);
30395 :
30396 : case 3:
30397 : if (!((
30398 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30399 : ((64 == 64 || TARGET_AVX512VL
30400 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30401 : && ix86_pre_reload_split ()
30402 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30403 : STRIP_UNARY (operands[4]))
30404 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30405 : STRIP_UNARY (operands[4]))
30406 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30407 : STRIP_UNARY (operands[3]))
30408 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30409 : STRIP_UNARY (operands[3])))) &&
30410 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30411 : (TARGET_AVX512F)) &&
30412 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30413 : ( 1)))
30414 : return NULL;
30415 : return gen_split_2483 (insn, operands);
30416 :
30417 : case 4:
30418 : if (!((
30419 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30420 : ((32 == 64 || TARGET_AVX512VL
30421 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30422 : && ix86_pre_reload_split ()
30423 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30424 : STRIP_UNARY (operands[4]))
30425 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30426 : STRIP_UNARY (operands[4]))
30427 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30428 : STRIP_UNARY (operands[3]))
30429 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30430 : STRIP_UNARY (operands[3])))) &&
30431 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30432 : (TARGET_AVX)) &&
30433 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30434 : ( 1)))
30435 : return NULL;
30436 : return gen_split_2510 (insn, operands);
30437 :
30438 : case 5:
30439 : if (!(
30440 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30441 : ((16 == 64 || TARGET_AVX512VL
30442 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30443 : && ix86_pre_reload_split ()
30444 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30445 : STRIP_UNARY (operands[4]))
30446 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30447 : STRIP_UNARY (operands[4]))
30448 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30449 : STRIP_UNARY (operands[3]))
30450 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30451 : STRIP_UNARY (operands[3])))) &&
30452 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30453 : ( 1)))
30454 : return NULL;
30455 : return gen_split_2537 (insn, operands);
30456 :
30457 : case 6:
30458 : if (!((
30459 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30460 : ((64 == 64 || TARGET_AVX512VL
30461 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30462 : && ix86_pre_reload_split ()
30463 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30464 : STRIP_UNARY (operands[4]))
30465 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30466 : STRIP_UNARY (operands[4]))
30467 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30468 : STRIP_UNARY (operands[3]))
30469 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30470 : STRIP_UNARY (operands[3])))) &&
30471 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30472 : (TARGET_AVX512F)) &&
30473 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30474 : ( 1)))
30475 : return NULL;
30476 : return gen_split_2564 (insn, operands);
30477 :
30478 : case 7:
30479 : if (!((
30480 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30481 : ((32 == 64 || TARGET_AVX512VL
30482 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30483 : && ix86_pre_reload_split ()
30484 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30485 : STRIP_UNARY (operands[4]))
30486 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30487 : STRIP_UNARY (operands[4]))
30488 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30489 : STRIP_UNARY (operands[3]))
30490 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30491 : STRIP_UNARY (operands[3])))) &&
30492 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30493 : (TARGET_AVX)) &&
30494 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30495 : ( 1)))
30496 : return NULL;
30497 : return gen_split_2591 (insn, operands);
30498 :
30499 : case 8:
30500 : if (!(
30501 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30502 : ((16 == 64 || TARGET_AVX512VL
30503 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30504 : && ix86_pre_reload_split ()
30505 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30506 : STRIP_UNARY (operands[4]))
30507 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30508 : STRIP_UNARY (operands[4]))
30509 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30510 : STRIP_UNARY (operands[3]))
30511 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30512 : STRIP_UNARY (operands[3])))) &&
30513 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30514 : ( 1)))
30515 : return NULL;
30516 : return gen_split_2618 (insn, operands);
30517 :
30518 : case 9:
30519 : if (!((
30520 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30521 : ((64 == 64 || TARGET_AVX512VL
30522 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30523 : && ix86_pre_reload_split ()
30524 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30525 : STRIP_UNARY (operands[4]))
30526 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30527 : STRIP_UNARY (operands[4]))
30528 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30529 : STRIP_UNARY (operands[3]))
30530 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30531 : STRIP_UNARY (operands[3])))) &&
30532 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30533 : (TARGET_AVX512F)) &&
30534 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30535 : ( 1)))
30536 : return NULL;
30537 : return gen_split_2645 (insn, operands);
30538 :
30539 : case 10:
30540 : if (!((
30541 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30542 : ((32 == 64 || TARGET_AVX512VL
30543 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30544 : && ix86_pre_reload_split ()
30545 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30546 : STRIP_UNARY (operands[4]))
30547 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30548 : STRIP_UNARY (operands[4]))
30549 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30550 : STRIP_UNARY (operands[3]))
30551 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30552 : STRIP_UNARY (operands[3])))) &&
30553 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30554 : (TARGET_AVX)) &&
30555 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30556 : ( 1)))
30557 : return NULL;
30558 : return gen_split_2672 (insn, operands);
30559 :
30560 : case 11:
30561 : if (!(
30562 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30563 : ((16 == 64 || TARGET_AVX512VL
30564 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30565 : && ix86_pre_reload_split ()
30566 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30567 : STRIP_UNARY (operands[4]))
30568 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30569 : STRIP_UNARY (operands[4]))
30570 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30571 : STRIP_UNARY (operands[3]))
30572 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30573 : STRIP_UNARY (operands[3])))) &&
30574 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30575 : ( 1)))
30576 : return NULL;
30577 : return gen_split_2699 (insn, operands);
30578 :
30579 : default:
30580 : return NULL;
30581 : }
30582 :
30583 : case XOR:
30584 : switch (pattern537 (x2))
30585 : {
30586 : case 0:
30587 : if (!((
30588 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30589 : ((64 == 64 || TARGET_AVX512VL
30590 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30591 : && ix86_pre_reload_split ()
30592 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30593 : STRIP_UNARY (operands[4]))
30594 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30595 : STRIP_UNARY (operands[4]))
30596 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30597 : STRIP_UNARY (operands[3]))
30598 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30599 : STRIP_UNARY (operands[3])))) &&
30600 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30601 : (TARGET_AVX512F)) &&
30602 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30603 : ( 1)))
30604 : return NULL;
30605 : return gen_split_2405 (insn, operands);
30606 :
30607 : case 1:
30608 : if (!((
30609 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30610 : ((32 == 64 || TARGET_AVX512VL
30611 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30612 : && ix86_pre_reload_split ()
30613 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30614 : STRIP_UNARY (operands[4]))
30615 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30616 : STRIP_UNARY (operands[4]))
30617 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30618 : STRIP_UNARY (operands[3]))
30619 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30620 : STRIP_UNARY (operands[3])))) &&
30621 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30622 : (TARGET_AVX)) &&
30623 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30624 : ( 1)))
30625 : return NULL;
30626 : return gen_split_2432 (insn, operands);
30627 :
30628 : case 2:
30629 : if (!(
30630 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30631 : ((16 == 64 || TARGET_AVX512VL
30632 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30633 : && ix86_pre_reload_split ()
30634 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30635 : STRIP_UNARY (operands[4]))
30636 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30637 : STRIP_UNARY (operands[4]))
30638 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30639 : STRIP_UNARY (operands[3]))
30640 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30641 : STRIP_UNARY (operands[3])))) &&
30642 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30643 : ( 1)))
30644 : return NULL;
30645 : return gen_split_2459 (insn, operands);
30646 :
30647 : case 3:
30648 : if (!((
30649 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30650 : ((64 == 64 || TARGET_AVX512VL
30651 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30652 : && ix86_pre_reload_split ()
30653 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30654 : STRIP_UNARY (operands[4]))
30655 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30656 : STRIP_UNARY (operands[4]))
30657 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30658 : STRIP_UNARY (operands[3]))
30659 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30660 : STRIP_UNARY (operands[3])))) &&
30661 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30662 : (TARGET_AVX512F)) &&
30663 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30664 : ( 1)))
30665 : return NULL;
30666 : return gen_split_2486 (insn, operands);
30667 :
30668 : case 4:
30669 : if (!((
30670 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30671 : ((32 == 64 || TARGET_AVX512VL
30672 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30673 : && ix86_pre_reload_split ()
30674 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30675 : STRIP_UNARY (operands[4]))
30676 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30677 : STRIP_UNARY (operands[4]))
30678 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30679 : STRIP_UNARY (operands[3]))
30680 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30681 : STRIP_UNARY (operands[3])))) &&
30682 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30683 : (TARGET_AVX)) &&
30684 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30685 : ( 1)))
30686 : return NULL;
30687 : return gen_split_2513 (insn, operands);
30688 :
30689 : case 5:
30690 : if (!(
30691 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30692 : ((16 == 64 || TARGET_AVX512VL
30693 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30694 : && ix86_pre_reload_split ()
30695 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30696 : STRIP_UNARY (operands[4]))
30697 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30698 : STRIP_UNARY (operands[4]))
30699 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30700 : STRIP_UNARY (operands[3]))
30701 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30702 : STRIP_UNARY (operands[3])))) &&
30703 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30704 : ( 1)))
30705 : return NULL;
30706 : return gen_split_2540 (insn, operands);
30707 :
30708 : case 6:
30709 : if (!((
30710 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30711 : ((64 == 64 || TARGET_AVX512VL
30712 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30713 : && ix86_pre_reload_split ()
30714 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30715 : STRIP_UNARY (operands[4]))
30716 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30717 : STRIP_UNARY (operands[4]))
30718 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30719 : STRIP_UNARY (operands[3]))
30720 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30721 : STRIP_UNARY (operands[3])))) &&
30722 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30723 : (TARGET_AVX512F)) &&
30724 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30725 : ( 1)))
30726 : return NULL;
30727 : return gen_split_2567 (insn, operands);
30728 :
30729 : case 7:
30730 : if (!((
30731 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30732 : ((32 == 64 || TARGET_AVX512VL
30733 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30734 : && ix86_pre_reload_split ()
30735 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30736 : STRIP_UNARY (operands[4]))
30737 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30738 : STRIP_UNARY (operands[4]))
30739 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30740 : STRIP_UNARY (operands[3]))
30741 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30742 : STRIP_UNARY (operands[3])))) &&
30743 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30744 : (TARGET_AVX)) &&
30745 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30746 : ( 1)))
30747 : return NULL;
30748 : return gen_split_2594 (insn, operands);
30749 :
30750 : case 8:
30751 : if (!(
30752 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30753 : ((16 == 64 || TARGET_AVX512VL
30754 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30755 : && ix86_pre_reload_split ()
30756 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30757 : STRIP_UNARY (operands[4]))
30758 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30759 : STRIP_UNARY (operands[4]))
30760 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30761 : STRIP_UNARY (operands[3]))
30762 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30763 : STRIP_UNARY (operands[3])))) &&
30764 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30765 : ( 1)))
30766 : return NULL;
30767 : return gen_split_2621 (insn, operands);
30768 :
30769 : case 9:
30770 : if (!((
30771 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30772 : ((64 == 64 || TARGET_AVX512VL
30773 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30774 : && ix86_pre_reload_split ()
30775 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30776 : STRIP_UNARY (operands[4]))
30777 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30778 : STRIP_UNARY (operands[4]))
30779 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30780 : STRIP_UNARY (operands[3]))
30781 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30782 : STRIP_UNARY (operands[3])))) &&
30783 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30784 : (TARGET_AVX512F)) &&
30785 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30786 : ( 1)))
30787 : return NULL;
30788 : return gen_split_2648 (insn, operands);
30789 :
30790 : case 10:
30791 : if (!((
30792 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30793 : ((32 == 64 || TARGET_AVX512VL
30794 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30795 : && ix86_pre_reload_split ()
30796 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30797 : STRIP_UNARY (operands[4]))
30798 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30799 : STRIP_UNARY (operands[4]))
30800 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30801 : STRIP_UNARY (operands[3]))
30802 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30803 : STRIP_UNARY (operands[3])))) &&
30804 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30805 : (TARGET_AVX)) &&
30806 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30807 : ( 1)))
30808 : return NULL;
30809 : return gen_split_2675 (insn, operands);
30810 :
30811 : case 11:
30812 : if (!(
30813 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30814 : ((16 == 64 || TARGET_AVX512VL
30815 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30816 : && ix86_pre_reload_split ()
30817 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30818 : STRIP_UNARY (operands[4]))
30819 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30820 : STRIP_UNARY (operands[4]))
30821 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30822 : STRIP_UNARY (operands[3]))
30823 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30824 : STRIP_UNARY (operands[3])))) &&
30825 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30826 : ( 1)))
30827 : return NULL;
30828 : return gen_split_2702 (insn, operands);
30829 :
30830 : default:
30831 : return NULL;
30832 : }
30833 :
30834 : default:
30835 : return NULL;
30836 : }
30837 :
30838 : case XOR:
30839 : return split_65 (x1, insn);
30840 :
30841 : case VEC_DUPLICATE:
30842 : switch (pattern605 (x2))
30843 : {
30844 : case 0:
30845 : if (!(
30846 : #line 18986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30847 : (64 == 64 || TARGET_AVX512VL
30848 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
30849 : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30850 : (TARGET_AVX512F)))
30851 : return NULL;
30852 : return gen_split_3450 (insn, operands);
30853 :
30854 : case 1:
30855 : if (!(
30856 : #line 18986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30857 : (64 == 64 || TARGET_AVX512VL
30858 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
30859 : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30860 : (TARGET_AVX512F)))
30861 : return NULL;
30862 : return gen_split_3451 (insn, operands);
30863 :
30864 : case 2:
30865 : if (!(
30866 : #line 18986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30867 : (64 == 64 || TARGET_AVX512VL
30868 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
30869 : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30870 : (TARGET_AVX512BW)))
30871 : return NULL;
30872 : return gen_split_3452 (insn, operands);
30873 :
30874 : case 3:
30875 : if (!(
30876 : #line 18986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30877 : (32 == 64 || TARGET_AVX512VL
30878 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
30879 : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30880 : (TARGET_AVX)))
30881 : return NULL;
30882 : return gen_split_3453 (insn, operands);
30883 :
30884 : case 4:
30885 : if (!
30886 : #line 18986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30887 : (16 == 64 || TARGET_AVX512VL
30888 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
30889 : return NULL;
30890 : return gen_split_3454 (insn, operands);
30891 :
30892 : case 5:
30893 : if (!(
30894 : #line 18986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30895 : (64 == 64 || TARGET_AVX512VL
30896 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
30897 : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30898 : (TARGET_AVX512BW)))
30899 : return NULL;
30900 : return gen_split_3455 (insn, operands);
30901 :
30902 : case 6:
30903 : if (!(
30904 : #line 18986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30905 : (32 == 64 || TARGET_AVX512VL
30906 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
30907 : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30908 : (TARGET_AVX)))
30909 : return NULL;
30910 : return gen_split_3456 (insn, operands);
30911 :
30912 : case 7:
30913 : if (!
30914 : #line 18986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30915 : (16 == 64 || TARGET_AVX512VL
30916 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
30917 : return NULL;
30918 : return gen_split_3457 (insn, operands);
30919 :
30920 : case 8:
30921 : if (!(
30922 : #line 18986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30923 : (32 == 64 || TARGET_AVX512VL
30924 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
30925 : #line 559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30926 : (TARGET_AVX)))
30927 : return NULL;
30928 : return gen_split_3458 (insn, operands);
30929 :
30930 : case 9:
30931 : if (!
30932 : #line 18986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30933 : (16 == 64 || TARGET_AVX512VL
30934 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
30935 : return NULL;
30936 : return gen_split_3459 (insn, operands);
30937 :
30938 : case 10:
30939 : if (!(
30940 : #line 18986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30941 : (32 == 64 || TARGET_AVX512VL
30942 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
30943 : #line 560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30944 : (TARGET_AVX)))
30945 : return NULL;
30946 : return gen_split_3460 (insn, operands);
30947 :
30948 : case 11:
30949 : if (!
30950 : #line 18986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30951 : (16 == 64 || TARGET_AVX512VL
30952 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
30953 : return NULL;
30954 : return gen_split_3461 (insn, operands);
30955 :
30956 : default:
30957 : return NULL;
30958 : }
30959 :
30960 : default:
30961 : return NULL;
30962 : }
30963 : }
30964 :
30965 : rtx_insn *
30966 : peephole2_16 (rtx x1 ATTRIBUTE_UNUSED,
30967 : rtx_insn *insn ATTRIBUTE_UNUSED,
30968 : int *pmatch_len_ ATTRIBUTE_UNUSED)
30969 : {
30970 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
30971 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
30972 : rtx x10, x11, x12, x13;
30973 : rtx_insn *res ATTRIBUTE_UNUSED;
30974 : x2 = XEXP (x1, 1);
30975 : operands[1] = x2;
30976 : if (register_operand (operands[0], E_DImode))
30977 : {
30978 : res = peephole2_15 (x1, insn, pmatch_len_);
30979 : if (res != NULL_RTX)
30980 : return res;
30981 : }
30982 : if (peep2_current_count < 2
30983 : || peep2_current_count < 3
30984 : || !general_reg_operand (operands[0], E_DImode))
30985 : return NULL;
30986 : x3 = PATTERN (peep2_next_insn (1));
30987 : if (GET_CODE (x3) == PARALLEL
30988 : && XVECLEN (x3, 0) == 2)
30989 : {
30990 : x4 = XVECEXP (x3, 0, 0);
30991 : if (GET_CODE (x4) == SET)
30992 : {
30993 : if (memory_operand (operands[1], E_DImode))
30994 : {
30995 : switch (pattern1205 (x3,
30996 : E_DImode,
30997 : E_TImode))
30998 : {
30999 : case 0:
31000 : if ((
31001 : #line 8720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31002 : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31003 : && peep2_reg_dead_p (3, operands[0])
31004 : && !reg_overlap_mentioned_p (operands[0], operands[1])
31005 : && !reg_overlap_mentioned_p (operands[0], operands[2])) &&
31006 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31007 : (TARGET_64BIT)))
31008 : {
31009 : *pmatch_len_ = 2;
31010 : res = gen_peephole2_77 (insn, operands);
31011 : if (res != NULL_RTX)
31012 : return res;
31013 : }
31014 : break;
31015 :
31016 : case 1:
31017 : if ((
31018 : #line 8747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31019 : (TARGET_APX_NDD
31020 : && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31021 : && peep2_reg_dead_p (3, operands[0])
31022 : && !reg_overlap_mentioned_p (operands[0], operands[1])
31023 : && !reg_overlap_mentioned_p (operands[0], operands[2])) &&
31024 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31025 : (TARGET_64BIT)))
31026 : {
31027 : *pmatch_len_ = 2;
31028 : res = gen_peephole2_81 (insn, operands);
31029 : if (res != NULL_RTX)
31030 : return res;
31031 : }
31032 : break;
31033 :
31034 : case 2:
31035 : if ((
31036 : #line 9250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31037 : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31038 : && peep2_reg_dead_p (3, operands[0])
31039 : && !reg_overlap_mentioned_p (operands[0], operands[1])
31040 : && !reg_overlap_mentioned_p (operands[0], operands[2])) &&
31041 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31042 : (TARGET_64BIT)))
31043 : {
31044 : *pmatch_len_ = 2;
31045 : res = gen_peephole2_97 (insn, operands);
31046 : if (res != NULL_RTX)
31047 : return res;
31048 : }
31049 : break;
31050 :
31051 : case 3:
31052 : x5 = PATTERN (peep2_next_insn (2));
31053 : x6 = XEXP (x5, 0);
31054 : if (rtx_equal_p (x6, operands[1])
31055 : && (
31056 : #line 9306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31057 : (TARGET_APX_NDD
31058 : && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31059 : && peep2_reg_dead_p (3, operands[0])
31060 : && !reg_overlap_mentioned_p (operands[0], operands[1])
31061 : && !reg_overlap_mentioned_p (operands[0], operands[2])) &&
31062 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31063 : (TARGET_64BIT)))
31064 : {
31065 : *pmatch_len_ = 2;
31066 : res = gen_peephole2_99 (insn, operands);
31067 : if (res != NULL_RTX)
31068 : return res;
31069 : }
31070 : if (rtx_equal_p (x6, operands[2])
31071 : && (
31072 : #line 9361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31073 : (TARGET_APX_NDD
31074 : && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31075 : && peep2_reg_dead_p (3, operands[0])
31076 : && !reg_overlap_mentioned_p (operands[0], operands[1])
31077 : && !reg_overlap_mentioned_p (operands[0], operands[2])) &&
31078 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31079 : (TARGET_64BIT)))
31080 : {
31081 : *pmatch_len_ = 2;
31082 : res = gen_peephole2_101 (insn, operands);
31083 : if (res != NULL_RTX)
31084 : return res;
31085 : }
31086 : break;
31087 :
31088 : case 4:
31089 : if ((
31090 : #line 9918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31091 : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31092 : && peep2_reg_dead_p (3, operands[0])
31093 : && !reg_overlap_mentioned_p (operands[0], operands[1])
31094 : && !reg_overlap_mentioned_p (operands[0], operands[2])) &&
31095 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31096 : (TARGET_64BIT)))
31097 : {
31098 : *pmatch_len_ = 2;
31099 : res = gen_peephole2_113 (insn, operands);
31100 : if (res != NULL_RTX)
31101 : return res;
31102 : }
31103 : break;
31104 :
31105 : case 5:
31106 : if ((
31107 : #line 9963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31108 : (TARGET_APX_NDD
31109 : && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31110 : && peep2_reg_dead_p (3, operands[0])
31111 : && !reg_overlap_mentioned_p (operands[0], operands[1])
31112 : && !reg_overlap_mentioned_p (operands[0], operands[2])) &&
31113 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31114 : (TARGET_64BIT)))
31115 : {
31116 : *pmatch_len_ = 2;
31117 : res = gen_peephole2_115 (insn, operands);
31118 : if (res != NULL_RTX)
31119 : return res;
31120 : }
31121 : break;
31122 :
31123 : case 6:
31124 : if ((
31125 : #line 10330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31126 : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31127 : && peep2_reg_dead_p (3, operands[0])
31128 : && !reg_overlap_mentioned_p (operands[0], operands[1])
31129 : && !reg_overlap_mentioned_p (operands[0], operands[2])) &&
31130 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31131 : (TARGET_64BIT)))
31132 : {
31133 : *pmatch_len_ = 2;
31134 : res = gen_peephole2_127 (insn, operands);
31135 : if (res != NULL_RTX)
31136 : return res;
31137 : }
31138 : break;
31139 :
31140 : case 7:
31141 : if ((
31142 : #line 8865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31143 : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31144 : && peep2_reg_dead_p (3, operands[0])
31145 : && !reg_overlap_mentioned_p (operands[0], operands[1])
31146 : && !reg_overlap_mentioned_p (operands[0], operands[2])) &&
31147 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31148 : (TARGET_64BIT)))
31149 : {
31150 : *pmatch_len_ = 2;
31151 : res = gen_peephole2_89 (insn, operands);
31152 : if (res != NULL_RTX)
31153 : return res;
31154 : }
31155 : break;
31156 :
31157 : case 8:
31158 : if ((
31159 : #line 8891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31160 : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31161 : && peep2_reg_dead_p (3, operands[0])
31162 : && peep2_reg_dead_p (4, operands[5])
31163 : && !reg_overlap_mentioned_p (operands[0], operands[1])
31164 : && !reg_overlap_mentioned_p (operands[0], operands[2])
31165 : && !reg_overlap_mentioned_p (operands[5], operands[1])) &&
31166 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31167 : (TARGET_64BIT)))
31168 : {
31169 : *pmatch_len_ = 3;
31170 : res = gen_peephole2_93 (insn, operands);
31171 : if (res != NULL_RTX)
31172 : return res;
31173 : }
31174 : break;
31175 :
31176 : case 9:
31177 : if ((
31178 : #line 9530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31179 : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31180 : && peep2_reg_dead_p (3, operands[0])
31181 : && !reg_overlap_mentioned_p (operands[0], operands[1])
31182 : && !reg_overlap_mentioned_p (operands[0], operands[2])) &&
31183 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31184 : (TARGET_64BIT)))
31185 : {
31186 : *pmatch_len_ = 2;
31187 : res = gen_peephole2_107 (insn, operands);
31188 : if (res != NULL_RTX)
31189 : return res;
31190 : }
31191 : break;
31192 :
31193 : case 10:
31194 : if ((
31195 : #line 9556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31196 : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31197 : && peep2_reg_dead_p (3, operands[0])
31198 : && peep2_reg_dead_p (4, operands[5])
31199 : && !reg_overlap_mentioned_p (operands[0], operands[1])
31200 : && !reg_overlap_mentioned_p (operands[0], operands[2])
31201 : && !reg_overlap_mentioned_p (operands[5], operands[1])) &&
31202 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31203 : (TARGET_64BIT)))
31204 : {
31205 : *pmatch_len_ = 3;
31206 : res = gen_peephole2_111 (insn, operands);
31207 : if (res != NULL_RTX)
31208 : return res;
31209 : }
31210 : break;
31211 :
31212 : default:
31213 : break;
31214 : }
31215 : }
31216 : if (peep2_current_count >= 4
31217 : && pattern1207 (x3,
31218 : E_DImode) == 0
31219 : && (
31220 : #line 14622 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31221 : (REGNO (operands[0]) != REGNO (operands[2])
31222 : && !reg_mentioned_p (operands[0], operands[1])
31223 : && !reg_mentioned_p (operands[2], operands[1])) &&
31224 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31225 : (TARGET_64BIT)))
31226 : {
31227 : *pmatch_len_ = 3;
31228 : res = gen_peephole2_168 (insn, operands);
31229 : if (res != NULL_RTX)
31230 : return res;
31231 : }
31232 : if (general_reg_operand (operands[1], E_DImode))
31233 : {
31234 : x5 = PATTERN (peep2_next_insn (2));
31235 : if (GET_CODE (x5) == SET)
31236 : {
31237 : x7 = XEXP (x4, 1);
31238 : if (GET_CODE (x7) == NEG
31239 : && pattern1355 (x3,
31240 : E_DImode) == 0
31241 : &&
31242 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31243 : (TARGET_64BIT))
31244 : {
31245 : *pmatch_len_ = 2;
31246 : res = gen_peephole2_174 (insn, operands);
31247 : if (res != NULL_RTX)
31248 : return res;
31249 : }
31250 : if (peep2_current_count >= 4
31251 : && pattern1357 (x3,
31252 : E_DImode) == 0
31253 : && (
31254 : #line 26953 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31255 : (TARGET_CMOVE
31256 : && REGNO (operands[2]) != REGNO (operands[0])
31257 : && REGNO (operands[2]) != REGNO (operands[1])
31258 : && peep2_reg_dead_p (1, operands[1])
31259 : && peep2_reg_dead_p (4, operands[2])
31260 : && !reg_overlap_mentioned_p (operands[0], operands[3])) &&
31261 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31262 : (TARGET_64BIT)))
31263 : {
31264 : *pmatch_len_ = 3;
31265 : res = gen_peephole2_225 (insn, operands);
31266 : if (res != NULL_RTX)
31267 : return res;
31268 : }
31269 : }
31270 : }
31271 : }
31272 : }
31273 : if (!immediate_operand (operands[1], E_DImode)
31274 : || GET_CODE (x3) != SET)
31275 : return NULL;
31276 : switch (pattern961 (x3,
31277 : E_TImode,
31278 : E_DImode))
31279 : {
31280 : case 0:
31281 : if (!(
31282 : #line 11428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31283 : (REGNO (operands[3]) != AX_REG
31284 : && REGNO (operands[0]) != REGNO (operands[2])
31285 : && REGNO (operands[0]) != REGNO (operands[3])
31286 : && (REGNO (operands[0]) == REGNO (operands[4])
31287 : || REGNO (operands[0]) == DX_REG
31288 : || peep2_reg_dead_p (3, operands[0]))) &&
31289 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31290 : (TARGET_64BIT)))
31291 : return NULL;
31292 : *pmatch_len_ = 2;
31293 : return gen_peephole2_131 (insn, operands);
31294 :
31295 : case 1:
31296 : if (!(
31297 : #line 11450 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31298 : (REGNO (operands[3]) != DX_REG
31299 : && REGNO (operands[0]) != REGNO (operands[2])
31300 : && REGNO (operands[0]) != REGNO (operands[3])
31301 : && (REGNO (operands[0]) == REGNO (operands[4])
31302 : || REGNO (operands[0]) == REGNO (operands[5])
31303 : || peep2_reg_dead_p (3, operands[0]))
31304 : && (REGNO (operands[2]) == REGNO (operands[4])
31305 : || REGNO (operands[2]) == REGNO (operands[5])
31306 : || peep2_reg_dead_p (3, operands[2]))) &&
31307 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31308 : (TARGET_64BIT)))
31309 : return NULL;
31310 : *pmatch_len_ = 2;
31311 : return gen_peephole2_133 (insn, operands);
31312 :
31313 : case 2:
31314 : if (!general_reg_operand (operands[4], E_DImode))
31315 : return NULL;
31316 : x5 = PATTERN (peep2_next_insn (2));
31317 : x8 = XVECEXP (x5, 0, 0);
31318 : x9 = XEXP (x8, 1);
31319 : if (GET_MODE (x9) != E_DImode)
31320 : return NULL;
31321 : x10 = XVECEXP (x5, 0, 1);
31322 : x11 = XEXP (x10, 0);
31323 : if (!rtx_equal_p (x11, operands[2]))
31324 : return NULL;
31325 : switch (GET_CODE (x9))
31326 : {
31327 : case SMUL_HIGHPART:
31328 : x12 = XEXP (x9, 0);
31329 : if (!rtx_equal_p (x12, operands[2]))
31330 : return NULL;
31331 : x13 = XEXP (x9, 1);
31332 : if (!rtx_equal_p (x13, operands[0])
31333 : || !(
31334 : #line 11589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31335 : (REGNO (operands[3]) != AX_REG
31336 : && REGNO (operands[0]) != REGNO (operands[2])
31337 : && REGNO (operands[0]) != REGNO (operands[3])
31338 : && (REGNO (operands[0]) == REGNO (operands[4])
31339 : || peep2_reg_dead_p (3, operands[0]))) &&
31340 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31341 : (TARGET_64BIT)))
31342 : return NULL;
31343 : *pmatch_len_ = 2;
31344 : return gen_peephole2_136 (insn, operands);
31345 :
31346 : case UMUL_HIGHPART:
31347 : x12 = XEXP (x9, 0);
31348 : if (!rtx_equal_p (x12, operands[2]))
31349 : return NULL;
31350 : x13 = XEXP (x9, 1);
31351 : if (!rtx_equal_p (x13, operands[0])
31352 : || !(
31353 : #line 11589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31354 : (REGNO (operands[3]) != AX_REG
31355 : && REGNO (operands[0]) != REGNO (operands[2])
31356 : && REGNO (operands[0]) != REGNO (operands[3])
31357 : && (REGNO (operands[0]) == REGNO (operands[4])
31358 : || peep2_reg_dead_p (3, operands[0]))) &&
31359 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31360 : (TARGET_64BIT)))
31361 : return NULL;
31362 : *pmatch_len_ = 2;
31363 : return gen_peephole2_137 (insn, operands);
31364 :
31365 : default:
31366 : return NULL;
31367 : }
31368 :
31369 : default:
31370 : return NULL;
31371 : }
31372 : }
31373 :
31374 : rtx_insn *
31375 : peephole2_36 (rtx x1 ATTRIBUTE_UNUSED,
31376 : rtx_insn *insn ATTRIBUTE_UNUSED,
31377 : int *pmatch_len_ ATTRIBUTE_UNUSED)
31378 : {
31379 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31380 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
31381 : rtx x10, x11, x12;
31382 : rtx_insn *res ATTRIBUTE_UNUSED;
31383 : if (peep2_current_count < 3)
31384 : return NULL;
31385 : x2 = XEXP (x1, 0);
31386 : operands[0] = x2;
31387 : if (!register_operand (operands[0], E_QImode))
31388 : return NULL;
31389 : x3 = PATTERN (peep2_next_insn (1));
31390 : if (pattern421 (x3,
31391 : UNSPEC_VOLATILE,
31392 : 3) != 0)
31393 : return NULL;
31394 : x4 = XVECEXP (x3, 0, 0);
31395 : x5 = XEXP (x4, 1);
31396 : if (XVECLEN (x5, 0) == 4
31397 : && XINT (x5, 1) == 109
31398 : && GET_MODE (x5) == E_QImode)
31399 : {
31400 : res = peephole2_35 (x1, insn, pmatch_len_);
31401 : if (res != NULL_RTX)
31402 : return res;
31403 : }
31404 : if (XVECLEN (x5, 0) != 2
31405 : || XINT (x5, 1) != 110
31406 : || GET_MODE (x5) != E_QImode)
31407 : return NULL;
31408 : x6 = XEXP (x1, 1);
31409 : operands[2] = x6;
31410 : if (!const_int_operand (operands[2], E_QImode))
31411 : return NULL;
31412 : x7 = XVECEXP (x3, 0, 1);
31413 : if (GET_CODE (x7) != SET)
31414 : return NULL;
31415 : x8 = XEXP (x7, 1);
31416 : if (GET_CODE (x8) != PLUS
31417 : || GET_MODE (x8) != E_QImode
31418 : || pattern1518 (x3) != 0
31419 : || !memory_operand (operands[1], E_QImode)
31420 : || pattern1712 (x3) != 0)
31421 : return NULL;
31422 : x9 = PATTERN (peep2_next_insn (2));
31423 : x10 = XEXP (x9, 1);
31424 : x11 = XEXP (x10, 1);
31425 : operands[3] = x11;
31426 : if (!const_int_operand (operands[3], E_QImode))
31427 : return NULL;
31428 : x12 = XEXP (x10, 0);
31429 : if (!rtx_equal_p (x12, operands[0])
31430 : || !
31431 : #line 724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
31432 : (peep2_reg_dead_p (3, operands[0])
31433 : && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
31434 : == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
31435 : && !reg_overlap_mentioned_p (operands[0], operands[1])))
31436 : return NULL;
31437 : *pmatch_len_ = 2;
31438 : return gen_peephole2_447 (insn, operands);
31439 : }
31440 :
31441 : rtx_insn *
31442 : peephole2_42 (rtx x1 ATTRIBUTE_UNUSED,
31443 : rtx_insn *insn ATTRIBUTE_UNUSED,
31444 : int *pmatch_len_ ATTRIBUTE_UNUSED)
31445 : {
31446 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31447 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
31448 : rtx x10, x11, x12, x13, x14, x15, x16;
31449 : rtx_insn *res ATTRIBUTE_UNUSED;
31450 : if (peep2_current_count < 2)
31451 : return NULL;
31452 : x2 = XVECEXP (x1, 0, 1);
31453 : if (GET_CODE (x2) != CLOBBER)
31454 : return NULL;
31455 : x3 = XEXP (x2, 0);
31456 : if (GET_CODE (x3) != REG
31457 : || REGNO (x3) != 17)
31458 : return NULL;
31459 : x4 = XVECEXP (x1, 0, 0);
31460 : x5 = XEXP (x4, 0);
31461 : operands[0] = x5;
31462 : x6 = XEXP (x4, 1);
31463 : x7 = XEXP (x6, 0);
31464 : if (!rtx_equal_p (x7, operands[0]))
31465 : return NULL;
31466 : x8 = XEXP (x6, 1);
31467 : switch (GET_CODE (x8))
31468 : {
31469 : case REG:
31470 : case SUBREG:
31471 : operands[1] = x8;
31472 : if (!register_operand (operands[1], E_VOIDmode)
31473 : || GET_MODE (x3) != E_CCmode)
31474 : return NULL;
31475 : switch (GET_MODE (operands[0]))
31476 : {
31477 : case E_SImode:
31478 : switch (pattern1519 (x6,
31479 : E_SImode))
31480 : {
31481 : case 0:
31482 : x9 = PATTERN (peep2_next_insn (1));
31483 : x10 = XVECEXP (x9, 0, 0);
31484 : x11 = XEXP (x10, 0);
31485 : if (rtx_equal_p (x11, operands[0])
31486 : &&
31487 : #line 6451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31488 : (!TARGET_AVOID_LEA_FOR_ADDR || optimize_function_for_size_p (cfun)))
31489 : {
31490 : *pmatch_len_ = 1;
31491 : res = gen_peephole2_62 (insn, operands);
31492 : if (res != NULL_RTX)
31493 : return res;
31494 : }
31495 : operands[3] = x11;
31496 : if (!register_operand (operands[3], E_SImode)
31497 : || !
31498 : #line 6478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31499 : ((!TARGET_AVOID_LEA_FOR_ADDR || optimize_function_for_size_p (cfun))
31500 : && peep2_reg_dead_p (2, operands[0])))
31501 : return NULL;
31502 : *pmatch_len_ = 1;
31503 : return gen_peephole2_66 (insn, operands);
31504 :
31505 : case 1:
31506 : x9 = PATTERN (peep2_next_insn (1));
31507 : x12 = XEXP (x9, 0);
31508 : if (rtx_equal_p (x12, operands[0])
31509 : &&
31510 : #line 6464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31511 : (!TARGET_AVOID_LEA_FOR_ADDR || optimize_function_for_size_p (cfun)))
31512 : {
31513 : *pmatch_len_ = 1;
31514 : res = gen_peephole2_64 (insn, operands);
31515 : if (res != NULL_RTX)
31516 : return res;
31517 : }
31518 : operands[3] = x12;
31519 : if (!register_operand (operands[3], E_SImode)
31520 : || !
31521 : #line 6492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31522 : ((!TARGET_AVOID_LEA_FOR_ADDR || optimize_function_for_size_p (cfun))
31523 : && peep2_reg_dead_p (2, operands[0])))
31524 : return NULL;
31525 : *pmatch_len_ = 1;
31526 : return gen_peephole2_68 (insn, operands);
31527 :
31528 : default:
31529 : return NULL;
31530 : }
31531 :
31532 : case E_DImode:
31533 : switch (pattern1519 (x6,
31534 : E_DImode))
31535 : {
31536 : case 0:
31537 : x9 = PATTERN (peep2_next_insn (1));
31538 : x10 = XVECEXP (x9, 0, 0);
31539 : x11 = XEXP (x10, 0);
31540 : if (rtx_equal_p (x11, operands[0])
31541 : && (
31542 : #line 6451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31543 : (!TARGET_AVOID_LEA_FOR_ADDR || optimize_function_for_size_p (cfun)) &&
31544 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31545 : (TARGET_64BIT)))
31546 : {
31547 : *pmatch_len_ = 1;
31548 : res = gen_peephole2_63 (insn, operands);
31549 : if (res != NULL_RTX)
31550 : return res;
31551 : }
31552 : operands[3] = x11;
31553 : if (!register_operand (operands[3], E_DImode)
31554 : || !(
31555 : #line 6478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31556 : ((!TARGET_AVOID_LEA_FOR_ADDR || optimize_function_for_size_p (cfun))
31557 : && peep2_reg_dead_p (2, operands[0])) &&
31558 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31559 : (TARGET_64BIT)))
31560 : return NULL;
31561 : *pmatch_len_ = 1;
31562 : return gen_peephole2_67 (insn, operands);
31563 :
31564 : case 1:
31565 : x9 = PATTERN (peep2_next_insn (1));
31566 : x12 = XEXP (x9, 0);
31567 : if (rtx_equal_p (x12, operands[0])
31568 : && (
31569 : #line 6464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31570 : (!TARGET_AVOID_LEA_FOR_ADDR || optimize_function_for_size_p (cfun)) &&
31571 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31572 : (TARGET_64BIT)))
31573 : {
31574 : *pmatch_len_ = 1;
31575 : res = gen_peephole2_65 (insn, operands);
31576 : if (res != NULL_RTX)
31577 : return res;
31578 : }
31579 : operands[3] = x12;
31580 : if (!register_operand (operands[3], E_DImode)
31581 : || !(
31582 : #line 6492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31583 : ((!TARGET_AVOID_LEA_FOR_ADDR || optimize_function_for_size_p (cfun))
31584 : && peep2_reg_dead_p (2, operands[0])) &&
31585 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31586 : (TARGET_64BIT)))
31587 : return NULL;
31588 : *pmatch_len_ = 1;
31589 : return gen_peephole2_69 (insn, operands);
31590 :
31591 : default:
31592 : return NULL;
31593 : }
31594 :
31595 : default:
31596 : return NULL;
31597 : }
31598 :
31599 : case CONST_INT:
31600 : if (peep2_current_count < 3
31601 : || XWINT (x8, 0) != -1L)
31602 : return NULL;
31603 : x9 = PATTERN (peep2_next_insn (1));
31604 : if (pattern1265 (x9,
31605 : -1) != 0)
31606 : return NULL;
31607 : x13 = PATTERN (peep2_next_insn (2));
31608 : x14 = XEXP (x13, 1);
31609 : x15 = XEXP (x14, 0);
31610 : operands[1] = x15;
31611 : if (pattern1805 (x13) != 0)
31612 : return NULL;
31613 : x16 = XEXP (x14, 1);
31614 : operands[2] = x16;
31615 : switch (GET_MODE (operands[0]))
31616 : {
31617 : case E_QImode:
31618 : if (!general_reg_operand (operands[0], E_QImode)
31619 : || GET_MODE (x6) != E_QImode
31620 : || !
31621 : #line 8772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31622 : (peep2_regno_dead_p (3, FLAGS_REG)))
31623 : return NULL;
31624 : *pmatch_len_ = 2;
31625 : return gen_peephole2_82 (insn, operands);
31626 :
31627 : case E_HImode:
31628 : if (!general_reg_operand (operands[0], E_HImode)
31629 : || GET_MODE (x6) != E_HImode
31630 : || !
31631 : #line 8772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31632 : (peep2_regno_dead_p (3, FLAGS_REG)))
31633 : return NULL;
31634 : *pmatch_len_ = 2;
31635 : return gen_peephole2_83 (insn, operands);
31636 :
31637 : case E_SImode:
31638 : if (!general_reg_operand (operands[0], E_SImode)
31639 : || GET_MODE (x6) != E_SImode
31640 : || !
31641 : #line 8772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31642 : (peep2_regno_dead_p (3, FLAGS_REG)))
31643 : return NULL;
31644 : *pmatch_len_ = 2;
31645 : return gen_peephole2_84 (insn, operands);
31646 :
31647 : case E_DImode:
31648 : if (!general_reg_operand (operands[0], E_DImode)
31649 : || GET_MODE (x6) != E_DImode
31650 : || !(
31651 : #line 8772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31652 : (peep2_regno_dead_p (3, FLAGS_REG)) &&
31653 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31654 : (TARGET_64BIT)))
31655 : return NULL;
31656 : *pmatch_len_ = 2;
31657 : return gen_peephole2_85 (insn, operands);
31658 :
31659 : default:
31660 : return NULL;
31661 : }
31662 :
31663 : default:
31664 : return NULL;
31665 : }
31666 : }
31667 :
31668 : rtx_insn *
31669 : peephole2_50 (rtx x1 ATTRIBUTE_UNUSED,
31670 : rtx_insn *insn ATTRIBUTE_UNUSED,
31671 : int *pmatch_len_ ATTRIBUTE_UNUSED)
31672 : {
31673 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31674 : rtx x2, x3, x4, x5, x6, x7;
31675 : rtx_insn *res ATTRIBUTE_UNUSED;
31676 : x2 = XVECEXP (x1, 0, 0);
31677 : x3 = XEXP (x2, 1);
31678 : if (GET_CODE (x3) == PLUS)
31679 : {
31680 : res = peephole2_49 (x1, insn, pmatch_len_);
31681 : if (res != NULL_RTX)
31682 : return res;
31683 : }
31684 : x4 = XVECEXP (x1, 0, 1);
31685 : x5 = XEXP (x4, 0);
31686 : if (GET_CODE (x5) != REG
31687 : || REGNO (x5) != 17
31688 : || GET_MODE (x5) != E_CCmode)
31689 : return NULL;
31690 : operands[3] = x3;
31691 : switch (GET_MODE (operands[0]))
31692 : {
31693 : case E_QImode:
31694 : if (!arith_or_logical_operator (operands[3], E_QImode))
31695 : return NULL;
31696 : if (register_operand (operands[0], E_QImode))
31697 : {
31698 : x6 = XEXP (x3, 1);
31699 : operands[1] = x6;
31700 : if (memory_operand (operands[1], E_QImode))
31701 : {
31702 : x7 = XEXP (x3, 0);
31703 : if (rtx_equal_p (x7, operands[0])
31704 : &&
31705 : #line 28516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31706 : (!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())))
31707 : {
31708 : *pmatch_len_ = 0;
31709 : res = gen_peephole2_293 (insn, operands);
31710 : if (res != NULL_RTX)
31711 : return res;
31712 : }
31713 : }
31714 : x7 = XEXP (x3, 0);
31715 : operands[1] = x7;
31716 : if (memory_operand (operands[1], E_QImode)
31717 : && rtx_equal_p (x6, operands[0])
31718 : &&
31719 : #line 28529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31720 : (!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())))
31721 : {
31722 : *pmatch_len_ = 0;
31723 : res = gen_peephole2_297 (insn, operands);
31724 : if (res != NULL_RTX)
31725 : return res;
31726 : }
31727 : }
31728 : if (!memory_operand (operands[0], E_QImode))
31729 : return NULL;
31730 : x6 = XEXP (x3, 1);
31731 : operands[1] = x6;
31732 : if (nonmemory_operand (operands[1], E_QImode))
31733 : {
31734 : x7 = XEXP (x3, 0);
31735 : if (rtx_equal_p (x7, operands[0])
31736 : &&
31737 : #line 28604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31738 : (!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())))
31739 : {
31740 : *pmatch_len_ = 0;
31741 : res = gen_peephole2_307 (insn, operands);
31742 : if (res != NULL_RTX)
31743 : return res;
31744 : }
31745 : }
31746 : x7 = XEXP (x3, 0);
31747 : operands[1] = x7;
31748 : if (!nonmemory_operand (operands[1], E_QImode)
31749 : || !rtx_equal_p (x6, operands[0])
31750 : || !
31751 : #line 28618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31752 : (!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())))
31753 : return NULL;
31754 : *pmatch_len_ = 0;
31755 : return gen_peephole2_311 (insn, operands);
31756 :
31757 : case E_HImode:
31758 : if (!arith_or_logical_operator (operands[3], E_HImode))
31759 : return NULL;
31760 : if (register_operand (operands[0], E_HImode))
31761 : {
31762 : x6 = XEXP (x3, 1);
31763 : operands[1] = x6;
31764 : if (memory_operand (operands[1], E_HImode))
31765 : {
31766 : x7 = XEXP (x3, 0);
31767 : if (rtx_equal_p (x7, operands[0])
31768 : &&
31769 : #line 28516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31770 : (!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())))
31771 : {
31772 : *pmatch_len_ = 0;
31773 : res = gen_peephole2_294 (insn, operands);
31774 : if (res != NULL_RTX)
31775 : return res;
31776 : }
31777 : }
31778 : x7 = XEXP (x3, 0);
31779 : operands[1] = x7;
31780 : if (memory_operand (operands[1], E_HImode)
31781 : && rtx_equal_p (x6, operands[0])
31782 : &&
31783 : #line 28529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31784 : (!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())))
31785 : {
31786 : *pmatch_len_ = 0;
31787 : res = gen_peephole2_298 (insn, operands);
31788 : if (res != NULL_RTX)
31789 : return res;
31790 : }
31791 : }
31792 : if (!memory_operand (operands[0], E_HImode))
31793 : return NULL;
31794 : x6 = XEXP (x3, 1);
31795 : operands[1] = x6;
31796 : if (nonmemory_operand (operands[1], E_HImode))
31797 : {
31798 : x7 = XEXP (x3, 0);
31799 : if (rtx_equal_p (x7, operands[0])
31800 : &&
31801 : #line 28604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31802 : (!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())))
31803 : {
31804 : *pmatch_len_ = 0;
31805 : res = gen_peephole2_308 (insn, operands);
31806 : if (res != NULL_RTX)
31807 : return res;
31808 : }
31809 : }
31810 : x7 = XEXP (x3, 0);
31811 : operands[1] = x7;
31812 : if (!nonmemory_operand (operands[1], E_HImode)
31813 : || !rtx_equal_p (x6, operands[0])
31814 : || !
31815 : #line 28618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31816 : (!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())))
31817 : return NULL;
31818 : *pmatch_len_ = 0;
31819 : return gen_peephole2_312 (insn, operands);
31820 :
31821 : case E_SImode:
31822 : if (!arith_or_logical_operator (operands[3], E_SImode))
31823 : return NULL;
31824 : if (register_operand (operands[0], E_SImode))
31825 : {
31826 : x6 = XEXP (x3, 1);
31827 : operands[1] = x6;
31828 : if (memory_operand (operands[1], E_SImode))
31829 : {
31830 : x7 = XEXP (x3, 0);
31831 : if (rtx_equal_p (x7, operands[0])
31832 : &&
31833 : #line 28516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31834 : (!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())))
31835 : {
31836 : *pmatch_len_ = 0;
31837 : res = gen_peephole2_295 (insn, operands);
31838 : if (res != NULL_RTX)
31839 : return res;
31840 : }
31841 : }
31842 : x7 = XEXP (x3, 0);
31843 : operands[1] = x7;
31844 : if (memory_operand (operands[1], E_SImode)
31845 : && rtx_equal_p (x6, operands[0])
31846 : &&
31847 : #line 28529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31848 : (!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())))
31849 : {
31850 : *pmatch_len_ = 0;
31851 : res = gen_peephole2_299 (insn, operands);
31852 : if (res != NULL_RTX)
31853 : return res;
31854 : }
31855 : }
31856 : if (!memory_operand (operands[0], E_SImode))
31857 : return NULL;
31858 : x6 = XEXP (x3, 1);
31859 : operands[1] = x6;
31860 : if (x86_64_nonmemory_operand (operands[1], E_SImode))
31861 : {
31862 : x7 = XEXP (x3, 0);
31863 : if (rtx_equal_p (x7, operands[0])
31864 : &&
31865 : #line 28604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31866 : (!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())))
31867 : {
31868 : *pmatch_len_ = 0;
31869 : res = gen_peephole2_309 (insn, operands);
31870 : if (res != NULL_RTX)
31871 : return res;
31872 : }
31873 : }
31874 : x7 = XEXP (x3, 0);
31875 : operands[1] = x7;
31876 : if (!x86_64_nonmemory_operand (operands[1], E_SImode)
31877 : || !rtx_equal_p (x6, operands[0])
31878 : || !
31879 : #line 28618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31880 : (!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())))
31881 : return NULL;
31882 : *pmatch_len_ = 0;
31883 : return gen_peephole2_313 (insn, operands);
31884 :
31885 : case E_DImode:
31886 : if (!arith_or_logical_operator (operands[3], E_DImode))
31887 : return NULL;
31888 : if (register_operand (operands[0], E_DImode))
31889 : {
31890 : x6 = XEXP (x3, 1);
31891 : operands[1] = x6;
31892 : if (memory_operand (operands[1], E_DImode))
31893 : {
31894 : x7 = XEXP (x3, 0);
31895 : if (rtx_equal_p (x7, operands[0])
31896 : && (
31897 : #line 28516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31898 : (!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())) &&
31899 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31900 : (TARGET_64BIT)))
31901 : {
31902 : *pmatch_len_ = 0;
31903 : res = gen_peephole2_296 (insn, operands);
31904 : if (res != NULL_RTX)
31905 : return res;
31906 : }
31907 : }
31908 : x7 = XEXP (x3, 0);
31909 : operands[1] = x7;
31910 : if (memory_operand (operands[1], E_DImode)
31911 : && rtx_equal_p (x6, operands[0])
31912 : && (
31913 : #line 28529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31914 : (!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())) &&
31915 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31916 : (TARGET_64BIT)))
31917 : {
31918 : *pmatch_len_ = 0;
31919 : res = gen_peephole2_300 (insn, operands);
31920 : if (res != NULL_RTX)
31921 : return res;
31922 : }
31923 : }
31924 : if (!memory_operand (operands[0], E_DImode))
31925 : return NULL;
31926 : x6 = XEXP (x3, 1);
31927 : operands[1] = x6;
31928 : if (x86_64_nonmemory_operand (operands[1], E_DImode))
31929 : {
31930 : x7 = XEXP (x3, 0);
31931 : if (rtx_equal_p (x7, operands[0])
31932 : && (
31933 : #line 28604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31934 : (!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())) &&
31935 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31936 : (TARGET_64BIT)))
31937 : {
31938 : *pmatch_len_ = 0;
31939 : res = gen_peephole2_310 (insn, operands);
31940 : if (res != NULL_RTX)
31941 : return res;
31942 : }
31943 : }
31944 : x7 = XEXP (x3, 0);
31945 : operands[1] = x7;
31946 : if (!x86_64_nonmemory_operand (operands[1], E_DImode)
31947 : || !rtx_equal_p (x6, operands[0])
31948 : || !(
31949 : #line 28618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31950 : (!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())) &&
31951 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31952 : (TARGET_64BIT)))
31953 : return NULL;
31954 : *pmatch_len_ = 0;
31955 : return gen_peephole2_314 (insn, operands);
31956 :
31957 : default:
31958 : return NULL;
31959 : }
31960 : }
|